Skip to Content

API Campagnes

Lister et récupérer les informations des campagnes.

Lister les Campagnes

Obtenir une liste de toutes les campagnes de votre organisation.

Endpoint

GET /api/campaigns

Exemple de Requête

curl -X GET NEXT_PUBLIC_BASE_URL/api/campaigns \ -H "x-api-key: votre-cle-api"

Schéma de Réponse

ChampTypeDescription
campaignsarrayListe des campagnes
campaigns[].idstringIdentifiant unique de la campagne
campaigns[].namestringNom de la campagne
campaigns[].createdAtstringTimestamp ISO 8601 de création

Exemple de Réponse

{ "campaigns": [ { "id": "clxyz123", "name": "Série de Bienvenue", "createdAt": "2024-01-15T10:30:00.000Z" }, { "id": "clxyz456", "name": "Newsletter Janvier", "createdAt": "2024-01-10T08:00:00.000Z" } ] }

Obtenir les Détails d’une Campagne

Obtenir des informations détaillées sur une campagne spécifique, y compris tous les emails.

Endpoint

GET /api/campaigns/:id

Paramètres de Chemin

ParamètreTypeDescription
idstringID de la Campagne

Exemple de Requête

curl -X GET NEXT_PUBLIC_BASE_URL/api/campaigns/clxyz123 \ -H "x-api-key: votre-cle-api"

Schéma de Réponse

ChampTypeDescription
idstringID de la Campagne
namestringNom de la Campagne
createdAtstringTimestamp ISO 8601
statsobjectStatistiques de la Campagne
stats.totalEmailsnumberTotal des emails dans la campagne
stats.totalOpensnumberTotal des ouvertures pour tous les emails
stats.totalClicksnumberTotal des clics pour tous les emails
stats.openRatenumberPourcentage du taux d’ouverture
stats.clickRatenumberPourcentage du taux de clics
linksarrayStatistiques agrégées des liens
links[].urlstringURL originale du lien
links[].clicksnumberTotal des clics sur ce lien
emailsarrayListe des emails dans la campagne

Exemple de Réponse

{ "id": "clxyz123", "name": "Série de Bienvenue", "createdAt": "2024-01-15T10:30:00.000Z", "stats": { "totalEmails": 1250, "totalOpens": 856, "totalClicks": 302, "openRate": 68.48, "clickRate": 24.16 }, "links": [ { "url": "https://example.com/signup", "clicks": 156 }, { "url": "https://example.com/learn-more", "clicks": 89 } ], "emails": [ { "id": "email123", "trackingId": "hE4kJ9", "recipient": "user@example.com", "subject": "Bienvenue sur notre service !", "createdAt": "2024-01-15T10:32:00.000Z", "opens": 2, "clicks": 1 } ] }

Créer une Campagne

Créer une nouvelle campagne dans votre organisation.

Endpoint

POST /api/campaigns

Corps de la Requête

ChampTypeRequisDescription
namestringOuiNom de la campagne (doit être unique dans l’organisation)

Exemple de Requête

curl -X POST NEXT_PUBLIC_BASE_URL/api/campaigns \ -H "x-api-key: votre-cle-api" \ -H "Content-Type: application/json" \ -d '{"name": "Série de Bienvenue"}'

Schéma de Réponse

ChampTypeDescription
idstringIdentifiant unique de la campagne
namestringNom de la campagne
createdAtstringTimestamp ISO 8601 de création

Exemple de Réponse

{ "id": "clxyz123", "name": "Série de Bienvenue", "createdAt": "2024-01-15T10:30:00.000Z" }

Archiver une Campagne

Archiver une campagne. Les campagnes archivées sont exclues des listes et n’acceptent plus de nouveaux emails.

Endpoint

POST /api/campaigns/:id/archive

Paramètres de Chemin

ParamètreTypeDescription
idstringID de la Campagne

Exemple de Requête

curl -X POST NEXT_PUBLIC_BASE_URL/api/campaigns/clxyz123/archive \ -H "x-api-key: votre-cle-api"

Exemple de Réponse

{ "success": true }

Réponses d’Erreur

StatutDescription
400 Bad RequestChamps requis manquants ou campagne déjà archivée
401 UnauthorizedClé API invalide ou manquante
403 ForbiddenLimite de campagnes atteinte sur le plan actuel
404 Not FoundCampagne non trouvée ou n’appartenant pas à votre organisation
409 ConflictUne campagne avec ce nom existe déjà

Exemple d’Erreur

{ "error": "Campagne non trouvée" }
Last updated on
Mailpulse Documentation