Skip to Content
Référence APIStats Campagnes

Statistiques de Campagne

Obtenez des analyses détaillées pour une campagne spécifique avec des données chronologiques.

Endpoint

GET /api/campaigns/:id/stats

Paramètres de Chemin

ParamètreTypeDescription
idstringID de la Campagne

Paramètres de Requête

ParamètreTypeDéfautDescription
periodstring30dPériode pour les stats

Formats de Période

  • Jours: 7d, 30d, 90d - Les N derniers jours
  • Plage Personnalisée: YYYY-MM-DD,YYYY-MM-DD - Plage de dates spécifique

Exemples de Requêtes

7 Derniers Jours

curl -X GET "NEXT_PUBLIC_BASE_URL/api/campaigns/clxyz123/stats?period=7d" \ -H "x-api-key: votre-cle-api"

Plage de Dates Personnalisée

curl -X GET "NEXT_PUBLIC_BASE_URL/api/campaigns/clxyz123/stats?period=2024-01-01,2024-01-31" \ -H "x-api-key: votre-cle-api"

Schéma de Réponse

ChampTypeDescription
campaignobjectInformations sur la campagne
campaign.idstringID de la Campagne
campaign.namestringNom de la Campagne
campaign.createdAtstringTimestamp ISO 8601
periodobjectPériode demandée
period.startstringDate de début de période (ISO 8601)
period.endstringDate de fin de période (ISO 8601)
statsobjectStatistiques agrégées
stats.totalEmailsnumberEmails envoyés dans la période
stats.totalOpensnumberTotal des ouvertures dans la période
stats.totalClicksnumberTotal des clics dans la période
stats.openRatenumberPourcentage du taux d’ouverture
stats.clickThroughRatenumberTaux de clics par ouverture (clics/ouvertures)
stats.uniqueRecipientsnumberNombre de destinataires uniques
stats.noInteractionnumberEmails sans ouvertures ni clics
openAndClicksarrayDonnées chronologiques journalières
openAndClicks[].datestringDate (YYYY-MM-DD)
openAndClicks[].opensnumberOuvertures ce jour-là
openAndClicks[].clicksnumberClics ce jour-là
openAndClicks[].emailsnumberEmails envoyés ce jour-là
topLinksarrayLiens les plus performants
topLinks[].urlstringURL du lien
topLinks[].clicksnumberTotal des clics

Exemple de Réponse

{ "campaign": { "id": "clxyz123", "name": "Série de Bienvenue", "createdAt": "2024-01-15T10:30:00.000Z" }, "period": { "start": "2024-01-01T00:00:00.000Z", "end": "2024-01-31T23:59:59.999Z" }, "stats": { "totalEmails": 1250, "totalOpens": 856, "totalClicks": 302, "openRate": 68.48, "clickThroughRate": 35.28, "uniqueRecipients": 1200, "noInteraction": 394 }, "openAndClicks": [ { "date": "2024-01-01", "opens": 45, "clicks": 12, "emails": 50 }, { "date": "2024-01-02", "opens": 62, "clicks": 18, "emails": 55 } ], "topLinks": [ { "url": "https://example.com/signup", "clicks": 156 }, { "url": "https://example.com/learn-more", "clicks": 89 }, { "url": "https://example.com/pricing", "clicks": 57 } ] }

Cas d’Utilisation

Créer des Tableaux de Bord Personnalisés

Utilisez le tableau openAndClicks pour créer des graphiques chronologiques :

const response = await fetch('/api/campaigns/abc123/stats?period=30d', { headers: { 'x-api-key': apiKey } }); const data = await response.json(); // Utiliser avec une librairie de graphiques const chartData = data.openAndClicks.map(day => ({ x: day.date, opens: day.opens, clicks: day.clicks }));

Comparer des Périodes

Comparez les performances sur différentes périodes :

// Ce mois-ci const current = await fetch('/api/campaigns/abc123/stats?period=2024-01-01,2024-01-31'); // Le mois dernier const previous = await fetch('/api/campaigns/abc123/stats?period=2023-12-01,2023-12-31');

Réponses d’Erreur

StatutDescription
401 UnauthorizedClé API invalide ou manquante
404 Not FoundCampagne non trouvée
{ "error": "Campagne non trouvée" }
Last updated on
Mailpulse Documentation