Tout ce que vous pouvez faire dans Zinn® Campaigns sur le tableau de bord, vous pouvez également le faire via l’API, et la majeure partie depuis un assistant IA connecté à votre compte via MCP. Ce guide couvre la connexion, les autorisations, un exemple pratique pour les deux méthodes, les limites, les erreurs et chacune des 89 opérations de Campaigns. La liste des opérations ci-dessous est générée à partir de notre spécification d’API, elle correspond donc toujours à ce que fait l’API. Chaque champ de chaque opération se trouve dans la référence de l’API à l’adresse zinndigital.com/developers/api/zinn-campaigns.
Se connecter
- Clés d’API. Créez une clé dans le tableau de bord sous Paramètres → Clés d’API et envoyez-la sous la forme
Authorization: Bearer zdk_live_… (une clé zdk_test_… fonctionne en mode bac à sable). Accordez à la clé uniquement les autorisations Campaigns nécessaires, et rien de plus.
- Assistants IA (MCP). Connectez Claude, ChatGPT, Cursor ou tout client MCP à
https://api.zinndigital.com/v1/mcp, soit en vous connectant depuis l’application, soit à l’aide d’un jeton de connexion (zmcp_live_…). Consultez Connecter Claude, Cursor ou ChatGPT à votre compte. Sur l’écran de consentement, cochez les autorisations Zinn® Campaigns.
- Autorisations.
email_marketing.view lit les campagnes, listes, contacts, formulaires, expéditeurs, paramètres SMS et rapports ; email_marketing.manage les crée et les modifie. Les campagnes que vous envoyez via votre propre service de messagerie utilisent campaigns.view et campaigns.manage.
- Revendeurs. Transmettez
org_id pour agir sur l’une des organisations de vos clients. Omettez-le lorsque votre clé ou votre connexion n’accède qu’à une seule organisation.
Exemple : créer une ébauche de campagne avec l’API
curl -X POST https://api.zinndigital.com/v1/email-marketing/campaigns \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{
"name": "Spring sale",
"subject": "Our spring sale starts today",
"list_id": "<list id>",
"sender_id": "<sender id>",
"template": "basic"
}'
La réponse est 201 avec le brouillon. Testez-le avec POST /v1/email-marketing/campaigns/{campaign_id}/test, vérifiez-le avec GET /v1/email-marketing/campaigns/{campaign_id}/lint, et envoyez-le avec POST /v1/email-marketing/campaigns/{campaign_id}/send.
Exemple : le même brouillon depuis un assistant IA
Demandez à votre assistant en termes simples, par exemple « rédige un e-mail Zinn® Campaigns intitulé Vente de printemps avec pour objet 'Notre vente de printemps commence aujourd’hui' ». En coulisses, il trouve l’opération avec api_operations_search, lit ses paramètres avec api_operation_get et l’exécute avec api_operation_call :
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "api_operation_call",
"arguments": {
"operation_id": "createEmailMarketingCampaign",
"confirm": true,
"body": {
"name": "Spring sale",
"subject": "Our spring sale starts today"
}
}
}
}
Ce qu’un assistant ne fera pas. Tout ce qui effectue un envoi à vos destinataires ou consomme de l’argent ou des quotas — envoyer une campagne, envoyer des messages SMS ou WhatsApp, rédiger à l’aide de crédits d’IA, s’inscrire aux textos aux US — est refusé à un assistant, afin qu’une consigne mal comprise ne puisse jamais parvenir à vos clients. L’assistant prépare le brouillon ; vous appuyez sur Envoyer dans le tableau de bord ou appelez vous-même l’API. Les secrets tels qu’un mot de passe SMTP ne transitent également jamais par un assistant : saisissez-les dans le tableau de bord.
Limites
- 1 200 requêtes par minute pour chaque personne ou clé d’API, et 6 000 requêtes par minute pour chaque organisation. La plus stricte des deux limites s’applique.
- 600 requêtes par minute pour chaque connexion MCP.
- En cas de dépassement d’une limite, la réponse est
429 avec un en-tête Retry-After : attendez ce nombre de secondes.
- L’ajout de membres à une liste accepte au maximum 1 000 adresses par requête ; les quotas de contacts et d’e-mails de votre forfait s’appliquent à tout ce que vous effectuez via l’API.
Erreurs
Chaque erreur présente la même structure :
{"error": {"code": "UNPROCESSABLE_ENTITY", "message": "…", "details": [{"field": "subject", "code": "REQUIRED", "message": "…"}], "request_id": "…"}}
code ne change jamais pour un même problème, testez-le donc plutôt que message. Indiquez request_id lorsque vous contactez le support. Les réponses que vous rencontrerez : 401 UNAUTHORIZED, 403 FORBIDDEN, 404 NOT_FOUND, 409 CONFLICT, 422 UNPROCESSABLE_ENTITY, 429 TOO_MANY_REQUESTS. Un code 403 signifie que la clé ou la connexion ne dispose pas d’une autorisation mentionnée dans la liste ci-dessous ; un code 404 couvre également un élément d’une organisation que vous ne pouvez pas voir ; un code 422 énumère chaque champ erroné dans details ; après un code 429, attendez le nombre de secondes indiqué dans l’en-tête Retry-After.
Webhooks
Les résultats de remise parviennent dans Zinn® Campaigns depuis le fournisseur qui envoie vos e-mails :
- Avec votre propre fournisseur (par exemple Resend), enregistrez son secret de signature de webhook sur la connexion d’envoi dans le tableau de bord (Campagnes → Envoi). Vous obtenez une
webhook_url ; pointez les événements remis, rejetés et signalés comme spam du fournisseur vers celle-ci. Un rejet ou un signalement de spam supprime immédiatement l’adresse des futurs envois.
- Avec l’envoi Zinn®, il n’y a rien à configurer.
Consultez les résultats à l’aide des opérations de rapport (getEmailMarketingCampaignReport, getSmsMarketingCampaignReport).
Chaque opération de Campagnes
Aperçu
GET /v1/email-marketing — Aperçu de Zinn® Campaigns pour une organisation. Opération getEmailMarketingOverview. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Campagnes par e-mail
GET /v1/email-marketing/campaigns — Campagnes d’e-mails, les plus récentes en premier, une page keyset. Opération listEmailMarketingCampaigns. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/campaigns — Créer un brouillon de campagne d’e-mails. Opération createEmailMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/campaigns/{campaign_id} — Une campagne d’e-mails. Opération getEmailMarketingCampaign. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
PATCH /v1/email-marketing/campaigns/{campaign_id} — Modifier un brouillon (ou une campagne refusée, qui repasse en brouillon). Opération updateEmailMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/lint — Vérifier le texte d’une campagne pour détecter d’éventuels problèmes de délivrabilité avant son envoi. Opération lintEmailMarketingCampaign. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/report — Chiffres d’une campagne. Opération getEmailMarketingCampaignReport. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/send — Démarrer l’envoi d’une campagne à sa liste. Opération sendEmailMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : API et tableau de bord uniquement : cela dépense de l’argent ou des crédits, donc une personne clique dessus (envoie à de vrais destinataires et consomme des crédits).
POST /v1/email-marketing/campaigns/{campaign_id}/test — Envoyer immédiatement un exemplaire de test à un membre de l’organisation. Opération testEmailMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/campaigns/{campaign_id}/translate — Traduire une campagne dans chaque langue de contact manquante ou obsolète. Opération translateEmailMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/campaigns/{campaign_id}/translations — Chaque langue de contact de la liste d’une campagne et si sa traduction est à jour. Opération listEmailMarketingCampaignTranslations. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Rédiger avec l’IA
POST /v1/email-marketing/ai/write — Rédiger un e-mail de campagne sous forme de brouillon à partir d’un bref récapitulatif avec Zinn® AI. Opération writeEmailMarketingCampaignWithAi. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : API et tableau de bord uniquement : cela dépense de l’argent ou des crédits inclus, une personne physique doit donc appuyer dessus (la rédaction par IA consomme des crédits IA).
Brand kit
GET /v1/email-marketing/brand-kit — Le brand kit de l’organisation (nom, logo, couleurs, police, ton). Opération getEmailMarketingBrandKit. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
PUT /v1/email-marketing/brand-kit — Modifier le brand kit. Opération updateEmailMarketingBrandKit. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/brand-kit/read — Lire le brand kit depuis le site Web de l’organisation. Opération readEmailMarketingBrandKit. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Contacts et messages ponctuels
GET /v1/email-marketing/contacts — Les contacts de l’organisation, une page keyset à la fois. Opération listEmailMarketingContacts. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/contacts/{contact_id}/messages — Envoyer un SMS à un contact, payé depuis le solde de crédits Zinn®. Opération sendEmailMarketingMessage. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : API et tableau de bord uniquement : cela consomme de l’argent ou un quota, une personne doit donc appuyer dessus (un message ponctuel à un contact consomme du quota).
GET /v1/email-marketing/messages — Messages SMS et WhatsApp envoyés par l’organisation, les plus récents en premier, une page keyset. Opération listEmailMarketingMessages. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Listes
GET /v1/email-marketing/lists — Les listes de diffusion de l’organisation avec le nombre d’abonnés / désabonnés. Opération listEmailMarketingLists. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/lists — Créer une liste de diffusion (ou renvoyer celle portant ce nom). Opération createEmailMarketingList. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/lists/{list_id}/members — Ajouter des contacts à une liste par adresse e-mail (au maximum 1 000 par requête). Opération addEmailMarketingListMembers. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Importations
GET /v1/email-marketing/imports — Importations de contacts passées, les plus récentes en premier, une page keyset à la fois. Opération listEmailMarketingImports. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/imports — Importer un bloc de contacts avec son attestation de consentement. Opération createEmailMarketingImport. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Formulaires d’inscription
GET /v1/email-marketing/forms — Formulaires d’inscription (double opt-in), les plus récents en premier, une page keyset. Opération listEmailMarketingForms. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/forms — Créez un formulaire d’inscription qui ajoute les personnes confirmées à une liste. Opération createEmailMarketingForm. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
DELETE /v1/email-marketing/forms/{form_id} — Supprimez un formulaire d’inscription (les personnes déjà confirmées restent sur la liste). Opération deleteEmailMarketingForm. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
PATCH /v1/email-marketing/forms/{form_id} — Modifiez un formulaire d’inscription (libellé, liste, redirection, activé ou désactivé). Opération updateEmailMarketingForm. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
Connexions d’envoi
GET /v1/email-marketing/senders — Les connexions d’envoi de l’organisation. Opération listEmailMarketingSenders. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/senders — Connecter un expéditeur de campagne (envoi Zinn®, ou le propre serveur SMTP du client). Opération createEmailMarketingSender. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : API et tableau de bord uniquement : contient un secret qui ne doit jamais parvenir à un modèle d’IA (le corps est le mot de passe SMTP).
DELETE /v1/email-marketing/senders/{sender_id} — Supprimer une connexion d’envoi et son mot de passe enregistré. Opération deleteEmailMarketingSender. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/senders/{sender_id}/verify — Vérifier qu’une connexion d’envoi fonctionne, sans rien envoyer. Opération verifyEmailMarketingSender. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
PUT /v1/email-marketing/senders/{sender_id}/webhook — Enregistrer le secret de signature du webhook de votre fournisseur de messagerie pour cette connexion. Opération setEmailMarketingSenderWebhook. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : appelé par un autre système (un fournisseur ou un visiteur), pas par vous (enregistre le secret de webhook d’un fournisseur).
SMS et WhatsApp
GET /v1/email-marketing/sms — Ce dont l’écran SMS a besoin — ouvert ?, en pause ?, solde de crédits et tarifs. Opération getEmailMarketingSms. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/sms/campaigns — Campagnes de SMS groupés, les plus récentes en premier, une page de jeu de clés. Opération listSmsMarketingCampaigns. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/sms/campaigns — Créer un brouillon de SMS destiné à une liste. Opération createSmsMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id} — Une campagne de SMS groupés. Opération getSmsMarketingCampaign. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
PATCH /v1/email-marketing/sms/campaigns/{campaign_id} — Modifier un brouillon (ou une campagne refusée, qui repasse à l’état de brouillon). Opération updateSmsMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/sms/campaigns/{campaign_id}/report — Les chiffres d’une campagne de SMS groupés. Opération getSmsMarketingCampaignReport. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/sms/campaigns/{campaign_id}/send — Commencez à envoyer un SMS à toutes les personnes de sa liste ayant accepté de recevoir des SMS — ou reprenez un envoi suspendu pour cause de solde insuffisant. Opération sendSmsMarketingCampaign. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : API et tableau de bord uniquement : cela dépense de l’argent ou des crédits, une personne doit donc appuyer dessus (envoie des messages SMS/WhatsApp payants).
GET /v1/email-marketing/sms/registrations/us — Enregistrement US 10DLC de cette organisation et coût associé. Opération getEmailMarketingUsRegistration. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/sms/registrations/us — Soumettez la marque et la campagne de cette organisation pour le US 10DLC (facturé à la soumission). Opération submitEmailMarketingUsRegistration. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : API et tableau de bord uniquement : cela dépense de l’argent ou des crédits, une personne doit donc appuyer dessus (l’enregistrement US 10DLC engendre des frais d’opérateur).
Campagnes via votre propre service de messagerie (modèles, segments, suppressions)
GET /v1/campaigns — Les campagnes de l’organisation. Opération listCampaigns. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns — Créez une campagne à partir d’un modèle et d’une audience. Opération createCampaign. Depuis un assistant IA : oui, via le MCP.
DELETE /v1/campaigns/esp — Déconnecter le compte du fournisseur et supprimer sa clé enregistrée. Opération disconnectEsp. Depuis un assistant IA : API et tableau de bord uniquement : contient un secret qui ne doit jamais parvenir à un modèle d’IA (détruit la clé ESP enregistrée).
GET /v1/campaigns/esp — Le propre compte de fournisseur d’e-mails de l’organisation. Opération getEspConnection. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/esp — Connecter un compte de fournisseur d’e-mails. Opération connectEsp. Depuis un assistant IA : API et tableau de bord uniquement : contient un secret qui ne doit jamais parvenir à un modèle d’IA (le corps est la clé API ESP).
POST /v1/campaigns/esp/verify — Vérifier que le compte du fournisseur fonctionne et lire ses domaines vérifiés. Opération verifyEspConnection. Depuis un assistant IA : API et tableau de bord uniquement : contient un secret qui ne doit jamais parvenir à un modèle d’IA (revérifie une clé ESP enregistrée).
POST /v1/campaigns/preview — Render un modèle avec des exemples de valeurs. Opération previewCampaignTemplate. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/segments — Vos segments d’audience enregistrés. Opération listCampaignSegments. Autorisations vérifiées : campaigns.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/segments — Enregistrer un nouveau segment d’audience. Opération createCampaignSegment. Autorisations vérifiées : campaigns.manage. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/segments/fields — Le vocabulaire de filtre, ses listes de valeurs et les balises magiques. Opération getCampaignSegmentFields. Autorisations vérifiées : campaigns.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/segments/preview — Combien de personnes cela touche, qui elles sont et qui cela exclut. Opération previewCampaignSegment. Autorisations vérifiées : campaigns.view. Depuis un assistant IA : oui, via le MCP.
DELETE /v1/campaigns/segments/{segmentId} — Archiver un segment. Opération archiveCampaignSegment. Autorisations vérifiées : campaigns.manage. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/segments/{segmentId} — Un segment enregistré. Opération getCampaignSegment. Autorisations vérifiées : campaigns.view. Depuis un assistant IA : oui, via le MCP.
PATCH /v1/campaigns/segments/{segmentId} — Renommer un segment ou modifier ses filtres. Opération updateCampaignSegment. Autorisations vérifiées : campaigns.manage. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/suppressions — Adresses qui ne doivent pas recevoir de communications marketing. Opération listCampaignSuppressions. Autorisations vérifiées : campaigns.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/suppressions — Ajouter une adresse à la liste d’exclusion. Opération createCampaignSuppression. Autorisations vérifiées : campaigns.manage. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/tags — La palette de balises magiques proposée par un compositeur de campagne. Opération listCampaignTags. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/templates — Les modèles de campagne de l’organisation. Opération listCampaignTemplates. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/templates — Rédiger un modèle de campagne. Opération createCampaignTemplate. Depuis un assistant IA : oui, via le MCP.
DELETE /v1/campaigns/templates/{templateId} — Archiver un modèle et retirer ses sources de traduction. Opération archiveCampaignTemplate. Depuis un assistant IA : oui, via le MCP.
GET /v1/campaigns/templates/{templateId} — Un modèle de campagne. Opération getCampaignTemplate. Depuis un assistant IA : oui, via le MCP.
PUT /v1/campaigns/templates/{templateId} — Modifier un modèle de campagne. Opération updateCampaignTemplate. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/unsubscribe — Quitter une liste marketing. Aucun compte requis. Opération unsubscribeFromCampaigns. Depuis un assistant IA : API et tableau de bord uniquement : contient un secret qui ne doit jamais atteindre un modèle d’IA (prend le jeton de désabonnement signé d’un destinataire).
DELETE /v1/campaigns/{campaignId} — Supprimer une campagne et retirer ses lignes de livraison. Opération deleteCampaign. Depuis un assistant IA : API et tableau de bord uniquement : nécessite une autorisation non proposée aux connexions IA (la suppression d’une campagne ESP nécessite campaigns.send).
GET /v1/campaigns/{campaignId} — Une campagne et son rapport de distribution. Opération getCampaign. Depuis un assistant IA : oui, via le MCP.
POST /v1/campaigns/{campaignId}/control — Mettre en pause, reprendre ou annuler un envoi en cours. Opération controlCampaign. Depuis un assistant IA : API et tableau de bord uniquement : cela consomme de l’argent ou un quota, une personne physique doit donc appuyer dessus (met en pause/reprend un envoi en direct).
POST /v1/campaigns/{campaignId}/send — Démarrer l’envoi durable. Opération sendCampaign. Depuis un assistant IA : API et tableau de bord uniquement : cela consomme de l’argent ou un quota, une personne physique doit donc appuyer dessus (envoie une campagne ESP à de véritables destinataires).
POST /v1/campaigns/{campaignId}/test — Envoyer un message réel sur le canal que la campagne utilisera réellement. Opération testSendCampaign. Depuis un assistant IA : API et tableau de bord uniquement : cela nécessite une autorisation qui n’est pas accordée aux connexions IA (un envoi de test ESP nécessite campaigns.send).
Pages publiques et webhooks entrants
GET /v1/public/email-marketing/c/{token} — Le compteur de clics. Enregistre un clic par destinataire et redirige vers le lien d’origine. Opération emailMarketingClick. Depuis un assistant IA : une page que vos destinataires ouvrent depuis un e-mail (la redirection de suivi des clics).
GET /v1/public/email-marketing/f/{public_id} — Page hébergée d’un formulaire d’inscription (sans connexion). Opération emailMarketingFormPage. Depuis un assistant IA : une page que vos destinataires ouvrent depuis un e-mail (la page publique du formulaire d’inscription).
POST /v1/public/email-marketing/f/{public_id} — Soumettre un formulaire d’inscription (page hébergée, intégration ou JSON). Opération emailMarketingFormSubmit. De la part d’un assistant IA : appelée par un autre système (un fournisseur ou un visiteur), pas par vous (un visiteur soumet un formulaire d’inscription).
GET /v1/public/email-marketing/fc — La page de confirmation du double opt-in (sans connexion). Opération emailMarketingFormConfirmPage. De la part d’un assistant IA : une page que vos destinataires ouvrent depuis un e-mail (la page de confirmation du double opt-in).
POST /v1/public/email-marketing/fc — Confirmer une inscription (ajoute la personne à la liste avec un enregistrement de consentement). Opération emailMarketingFormConfirm. De la part d’un assistant IA : appelée par un autre système (un fournisseur ou un visiteur), pas par vous (un visiteur confirme un double opt-in).
GET /v1/public/email-marketing/o/{token} — L’image de suivi des ouvertures (un GIF 1x1). Compte une ouverture par destinataire. Opération emailMarketingOpenPixel. De la part d’un assistant IA : une page que vos destinataires ouvrent depuis un e-mail (le pixel de suivi des ouvertures).
GET /v1/public/email-marketing/u/{token} — Le lien de désabonnement du pied de page (sans connexion). Opération emailMarketingUnsubscribePage. De la part d’un assistant IA : une page que vos destinataires ouvrent depuis un e-mail (la page de désabonnement).
POST /v1/public/email-marketing/u/{token} — Désabonnement en un clic RFC 8058 (et le bouton « tout arrêter » de la page). Opération emailMarketingUnsubscribeOneClick. Depuis un assistant IA : appelé par un autre système (un fournisseur ou un visiteur), pas par vous (désabonnement en un clic RFC 8058).
GET /v1/public/email-marketing/warmup-u/{token} — Le lien de désabonnement de l’e-mail de préchauffage du pool marketing (sans connexion). Opération emailMarketingWarmupUnsubscribePage. Depuis un assistant IA : une page que vos destinataires ouvrent depuis un e-mail (la page de désabonnement du préchauffage).
POST /v1/public/email-marketing/warmup-u/{token} — Désabonnement en un clic RFC 8058 de l’e-mail de préchauffage. Opération emailMarketingWarmupUnsubscribeOneClick. Depuis un assistant IA : appelé par un autre système (un fournisseur ou un visiteur), pas par vous (désabonnement en un clic du préchauffage).
POST /v1/webhooks/campaign-events — Ingérer un événement de remise signé provenant du fournisseur d’e-mails. Opération receiveCampaignDeliveryWebhook. Depuis un assistant IA : appelé par un autre système (un fournisseur ou un visiteur), pas par vous (webhook de remise ESP signé).
POST /v1/webhooks/campaigns/telnyx — Réponses SMS entrantes (STOP / START) provenant de notre fournisseur de SMS. Opération receiveCampaignsTelnyxInbound. Depuis un assistant IA : appelé par un autre système (un fournisseur ou un visiteur), pas par vous (webhook entrant Telnyx signé).
POST /v1/webhooks/email-marketing/{connection_id} — Événements de distribution du propre fournisseur d’e-mails d’un client pour une connexion d’envoi. Opération receiveEmailMarketingProviderWebhook. Depuis un assistant IA : appelé par un autre système (un fournisseur ou un visiteur), pas par vous (webhook signé expéditeur-fournisseur).
Flux
GET /v1/email-marketing/flows — Flux d’e-mails (bienvenue, goutte-à-goutte, date annuelle), une page keyset. Opération listEmailMarketingFlows. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/flows — Créer un flux (il démarre sous forme de brouillon). Opération createEmailMarketingFlow. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
DELETE /v1/email-marketing/flows/{flow_id} — Supprimer un flux et ses inscriptions (ses exécutions envoyées sont conservées, sous forme de campagnes). Opération deleteEmailMarketingFlow. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
GET /v1/email-marketing/flows/{flow_id} — Un flux avec ses étapes et son rapport (inscrits, en cours, exécutions et destinataires par étape). Opération getEmailMarketingFlow. Autorisations vérifiées : email_marketing.view. Depuis un assistant IA : oui, via le MCP.
PATCH /v1/email-marketing/flows/{flow_id} — Modifier un flux ; steps, lorsqu’il est fourni, remplace l’intégralité de la séquence. Opération updateEmailMarketingFlow. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/flows/{flow_id}/activate — Activer un flux ; seules les personnes rejoignant la liste à partir de maintenant sont inscrites. Opération activateEmailMarketingFlow. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.
POST /v1/email-marketing/flows/{flow_id}/pause — Mettre un flux en pause ; les étapes prévues patientent et aucun nouveau destinataire ne reçoit d’e-mail jusqu’à sa réactivation. Opération pauseEmailMarketingFlow. Autorisations vérifiées : email_marketing.manage, email_marketing.view. Depuis un assistant IA : oui, via le MCP.