Aller au contenu
Documentation

Lancer une campagne

Composer une campagne — à qui, par quel média —, la vérifier sans rien envoyer, la lancer, puis suivre ses envois.

3 min de lecture Mise à jour le 9 novembre 2026

Une campagne fait une même chose pour chaque personne d'une cible : lui envoyer un message (email, SMS, WhatsApp), ou générer un parcours à son nom.

1Les comptes et les modèles

  • GET https://staging-api.docage.com/Campaigns/Mailboxes : les comptes email qui peuvent envoyer une campagne ; IsReady dit s'ils sont prêts.
  • GET https://staging-api.docage.com/Campaigns/Templates?media=1 : les modèles d'email utilisables (2 pour les SMS, 3 pour WhatsApp).

2Composer la campagne

POST https://staging-api.docage.com/Campaigns
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{
  "Name": "Portes ouvertes de l'Atelier Lumière",
  "Action": 1,
  "IsMarketing": true,
  "Audience": {
    "Operator": 1,
    "Nodes": [
      { "Source": 1, "GroupId": "44444444-0000-4000-8000-000000000044" },
      { "Source": 2, "ContactIds": ["55555555-0000-4000-8000-000000000055"] }
    ]
  },
  "Media": {
    "Rule": 2,
    "Nodes": [
      { "Media": 1, "TemplateId": "66666666-0000-4000-8000-000000000066", "ChannelId": "77777777-0000-4000-8000-000000000077" },
      { "Media": 2, "TemplateId": "88888888-0000-4000-8000-000000000088" }
    ]
  }
}
  • Action : 1 envoyer un message, 2 générer des parcours.
  • Audience, la cible : un arbre de sources — 1 un groupe, 2 des contacts choisis, 3 des collègues, 4 une équipe, 5 une société, 6 un cercle, 7 un classeur, 8 un filtre de contacts —, réunies (Operator 1, au moins une) ou croisées (2, toutes).
  • Media, le canal : chaque média avec son modèle et son compte (ChannelId), tous (Rule 1) ou le premier qui atteint la personne (2) ; ici l'email, sinon le SMS.
  • IsMarketing : une campagne commerciale n'écrit pas à une personne désabonnée, et chaque message porte un lien de désabonnement.

La réponse est l'identifiant de la campagne, en brouillon.

3La vérifier sans rien envoyer

GET https://staging-api.docage.com/Campaigns/99999999-0000-4000-8000-000000000099/Preview
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…

La réponse compte les personnes de la cible, celles qui seront écartées (désabonnées, en double, sans adresse…), les envois par média et la durée estimée. Sa liste Problems dit ce qui empêcherait le lancement : vide, la campagne peut partir. POST https://staging-api.docage.com/Campaigns/Sample, avec la campagne, compose les messages d'une personne tels qu'ils partiraient.

4La lancer

POST https://staging-api.docage.com/Campaigns/99999999-0000-4000-8000-000000000099/Launch
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9…
Content-Type: application/json

{ "ScheduledAt": "2026-11-10T08:00:00+01:00" }

Sans ScheduledAt ({}), elle part aussitôt ; avec, à cette heure (au moins une minute, au plus 366 jours plus tard). Au lancement, la cible est figée : une personne ajoutée ensuite à un groupe ne la rejoint pas.

5Suivre ses envois

  • GET https://staging-api.docage.com/Campaigns/{id}/Stats : les comptes — en attente, envoyés, écartés (par raison), remis, ouverts, cliqués, rejetés, désabonnés.
  • GET https://staging-api.docage.com/Campaigns/{id}/Recipients : une ligne par personne, avec son média, son adresse, son état et son message.
State État
0 Brouillon
1 Programmée
2 En cours
3 Terminée
4 Arrêtée

POST https://staging-api.docage.com/Campaigns/{id}/Stop l'arrête — c'est définitif, ce qui n'est pas parti ne partira pas ; POST https://staging-api.docage.com/Campaigns/{id}/Unschedule ramène une campagne programmée au brouillon.

Les pièges

  • Une campagne part d'un compte email de l'organisation, jamais d'un compte de la plateforme.
  • Les envois sont cadencés (une trentaine d'emails par minute et par compte) : une grande cible prend du temps, la durée estimée de l'aperçu le dit.
  • Une campagne lancée ne se modifie plus, hors son nom et sa description.