MailLandDocs
Webhooks

Événements Webhook

Référence complète de tous les types d'événements webhook et de leurs données

Le catalogue d'événements de MailLand définit 21 types d'événements répartis en 6 catégories (2 des 21 sont des notices de plateforme auxquelles vous ne pouvez pas vous abonner). Chaque événement est transmis sous forme de requête HTTP POST signée vers votre point de terminaison webhook.

Tous les événements du catalogue ne se déclenchent pas encore. Neuf événements sont actifs et abonnables aujourd'hui : message.delivered, message.deferred, message.bounced, message.failed, message.complained, message.outcome_unknown, message.retried, message.unsubscribed et inbound.received. Les autres sont documentés, réservés et non acceptés dans un abonnement aujourd'hui : l'API renvoie 400 si vous en incluez un. Le catalogue signale cet état par événement via availableNow et customerSelectable : lisez ces indicateurs plutôt que de coder une liste en dur.

Catalogue d'événements

Récupérez le catalogue complet des événements de manière programmatique :

GET https://api.mail.land/v1/webhooks/catalog
Get event catalog
curl -X GET https://api.mail.land/v1/webhooks/catalog
Catalog response (abbreviated)
{
  "version": 1,
  "products": [
    { "id": "transactional", "name": "Transactional Email", "isActive": true, "comingSoon": false },
    { "id": "marketing", "name": "Marketing Email", "isActive": true, "comingSoon": false },
    { "id": "inbound", "name": "Inbound Email", "isActive": true, "comingSoon": false },
    { "id": "system", "name": "System Events", "isActive": true, "comingSoon": false },
    { "id": "validation", "name": "Email Validation", "isActive": false, "comingSoon": true }
  ],
  "categories": [
    {
      "id": "message",
      "name": "Message Events",
      "events": [
        { "id": "message.sent", "name": "Message Sent", "products": ["transactional", "marketing"] },
        { "id": "message.delivered", "name": "Message Delivered", "products": ["transactional", "marketing"] }
      ]
    }
  ]
}

Ce point de terminaison est public (aucune authentification requise) et renvoie toujours la dernière version du catalogue.

Structure standard des données

Chaque livraison webhook inclut une structure externe cohérente :

Standard payload
{
  "event": "message.delivered",
  "event_id": "evt_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5",
  "timestamp": "2026-02-17T12:34:56.789Z",
  "occurred_at": "2026-02-17T12:34:56.120Z",
  "schema_version": 1,
  "data": {
    // Event-specific fields
  }
}
ChampTypeDescription
eventstringIdentifiant du type d'événement
event_idstringIdentifiant unique de l'événement pour la déduplication (format : evt_{32chars})
timestampdatetimeMoment où le webhook a été mis en file d'attente (UTC) : pas celui où l'événement sous-jacent s'est produit. Voir data.timestamp pour cela.
occurred_atdatetimeMoment où l'événement sous-jacent s'est produit (UTC) ; pour les événements de message, le même instant que data.timestamp
schema_versionintegerVersion de schéma de ce type d'événement (1 aujourd'hui) ; reprise dans X-MLND-Event-Version. Voir Versionnage
dataobjectDonnées spécifiques à l'événement

Le data de chaque événement de message contient aussi status_version, status, previous_status, complaint_status et reason, voir Versions de statut.

Versions de statut

Chaque événement de message contient data.status_version, data.status, data.previous_status, data.complaint_status et data.reason. status_version augmente de un chaque fois que MailLand envoie un événement pour un changement du statut du message, de son motif ou de son statut de plainte.

Deux exceptions :

  • Un message commence à status_version 0 tant qu'il est queued ou sent. Le passage de queued à sent n'envoie aucun événement et ne change pas la version.
  • Plusieurs événements message.deferred peuvent partager la même status_version : un report répété ne change pas le statut.

Les webhooks peuvent arriver dans le désordre et être renvoyés : appliquez-les selon status_version, jamais selon l'ordre d'arrivée.

Un statut peut changer après avoir été final. MailLand signale ce qu'il sait au moment où il le sait. S'il en apprend davantage plus tard, il envoie le nouveau statut avec une status_version plus élevée :

  • un message distribué peut rebondir plus tard, lorsque le serveur du destinataire le rejette après coup (un rebond hors bande) ;
  • après une panne interne, ou après le rétablissement du serveur de messagerie de MailLand, une distribution ou un refus peut être signalé en retard. Un message failed peut alors devenir bounced ou delivered, un message bounced peut devenir delivered, et un message unknown peut prendre n'importe quel statut final.

Un message ne passe jamais de delivered à failed. MailLand comptabilise ces corrections.

ChampTypeDescription
status_versionintegerLa version du statut du message que décrit cet événement.
statusstringLe statut du message à cette version : queued, sent, deferred, unknown, delivered, bounced ou failed.
previous_statusstring ou nullLe statut avant ce changement ; null avant le premier changement.
complaint_statusstringnone ou complained.
reasonstring ou nullLe motif du rebond ou de l'échec pour bounced, failed et unknown ; sinon null.

Délais de nouvelle tentative

MailLand réessaie un message reporté jusqu'à son délai de nouvelle tentative : environ 5 heures après sa première remise à la file de distribution pour le courrier transactionnel, et environ 25 heures pour le courrier marketing. Après ce délai, MailLand ne met plus le message en file pour une nouvelle tentative. Une copie qui attendait déjà une connexion à l'échéance peut encore être tentée ensuite. Ce sont des délais de nouvelle tentative, pas des promesses sur le moment où vous recevez l'événement final. Vous recevez chaque événement dès que le résultat parvient à MailLand ; ce délai n'est pas encore mesuré et peut être plus long lors d'une panne interne. Un message que MailLand n'a pas pu remettre à sa file de distribution dans les 24 heures est terminé comme expired.

Si vous tenez le statut courant d'un message à partir des webhooks (action requise)

C'est un changement de comportement pour les intégrations existantes. Une intégration qui considère message.failed ou message.delivered comme définitifs, et ignore les événements suivants, peut conserver un statut erroné après une correction. Des noms d'événements existants ont désormais de nouvelles séquences possibles.

  • Abonnez-vous à tous les événements de message : message.delivered, message.deferred, message.bounced, message.failed, message.complained, message.outcome_unknown et message.retried. Ce n'est qu'ainsi que les événements reçus contiennent chaque changement de statut.
  • Enregistrez status_version avec le statut. N'appliquez un événement que si sa status_version est supérieure à celle enregistrée ; un message.deferred de même version ne change rien.
  • Continuez à traiter les événements après message.failed, message.bounced ou message.delivered : un événement ultérieur avec une status_version plus élevée remplace le statut précédent.
  • Une fois reçus tous les événements jusqu'à la status_version de l'API, votre statut est égal à celui de l'API. L'API peut être en avance sur les webhooks reçus jusque-là et, à status_version 0, elle peut afficher sent sans événement.

Si vous ne vous abonnez qu'à certains événements de message, la status_version la plus élevée reçue n'est pas forcément le statut courant : un type d'événement auquel vous n'êtes pas abonné a pu le changer. Lisez le statut courant via l'API, par exemple pour chaque message dont le dernier événement reçu est message.failed, message.bounced ou message.outcome_unknown, et réconciliez.

Si vous ne pouvez pas modifier votre intégration, interrogez l'API pour le statut des messages qui vous importent. Les intégrations qui se contentent de compter les événements ou d'afficher un historique n'ont rien à changer.

Événements de message

message.sent

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

message.sent (illustrative)
{
  "event": "message.sent",
  "event_id": "evt_a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5",
  "timestamp": "2026-02-17T12:34:56.789Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T12:34:56.789Z"
  }
}

message.delivered

Déclenché lorsque l'e-mail est livré avec succès au serveur de messagerie du destinataire.

Cet événement peut aussi arriver comme correction après un statut final antérieur pour le même message. Voir Versions de statut.

message.delivered
{
  "event": "message.delivered",
  "event_id": "evt_b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6",
  "timestamp": "2026-02-17T12:34:58.123Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T12:34:58.123Z",
    "smtp_response": "OK",
    "status_version": 1,
    "status": "delivered",
    "previous_status": "sent",
    "complaint_status": "none",
    "reason": null
  }
}

message.deferred

Déclenché lorsque la livraison est temporairement retardée. MailLand réessaiera automatiquement.

Un message peut être reporté plusieurs fois. Le premier report augmente status_version ; les reports suivants portent la même status_version.

message.deferred
{
  "event": "message.deferred",
  "event_id": "evt_c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7",
  "timestamp": "2026-02-17T12:35:00.000Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T12:35:00.000Z",
    "smtp_response": "Try again later",
    "bounce_reason": "TransientFailure"
  }
}

message.bounced

Déclenché lorsqu'un e-mail est rejeté (rebond permanent ou temporaire).

Cet événement peut aussi arriver comme correction après un statut final antérieur pour le même message. Voir Versions de statut.

message.bounced
{
  "event": "message.bounced",
  "event_id": "evt_d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8",
  "timestamp": "2026-02-17T12:35:01.000Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T12:35:01.000Z",
    "bounce_type": "hard",
    "bounce_reason": "InvalidRecipient",
    "smtp_response": "The email account that you tried to reach does not exist.",
    "status_version": 1,
    "status": "bounced",
    "previous_status": "sent",
    "complaint_status": "none",
    "reason": "InvalidRecipient"
  }
}

bounce_reason est le jeton de classification que MailLand attribue au rebond (par exemple InvalidRecipient, QuotaIssues, SpamBlock), pas le texte SMTP brut, utilisez smtp_response pour cela. bounce_type vaut hard, soft, blocked ou unknown.

smtp_response est le texte de réponse du serveur destinataire, sans son code de réponse numérique ni son code de statut étendu. bounce_type indique ce que MailLand a fait de l'adresse : hard, mise en suppression pour tous les e-mails ; soft, mise en suppression pour les e-mails marketing pendant 30 jours ; blocked, le refus concernait l'envoi, pas l'adresse (par exemple filtrage anti-spam, authentification de l'expéditeur, réputation ou politique du destinataire), donc rien n'est mis en suppression ; unknown, aucune classification, traité comme soft.

message.failed

Déclenché lorsque MailLand met fin à un message sur la base d'éléments concluants indiquant qu'il n'a pas été distribué, pour une raison du côté de MailLand et non du destinataire. Dans les cas décrits sous Versions de statut, un message.delivered ou un message.bounced peut suivre avec une status_version plus élevée. Le statut du message devient Failed, et non Bounced, et reason indique le cas :

MotifCe qui s'est passé
dkim_revokedLe message attendait dans la file de distribution de MailLand, signé avec une clé DKIM que MailLand a ensuite révoquée en urgence pour le domaine expéditeur (par exemple après une compromission présumée de la clé). MailLand ne distribue ni ne re-signe jamais un tel message : il expire à sa prochaine tentative, en 30 minutes environ pour les e-mails transactionnels et en 4 heures pour les e-mails marketing.
admin_bounceUn opérateur de MailLand a retiré le message de la file de distribution de MailLand.
dkim_key_revokedLe domaine expéditeur fait l'objet d'un blocage DKIM d'urgence ; MailLand a donc refusé le message avant son entrée dans la file de distribution.
inject_failedLa file de distribution de MailLand a refusé le message de façon définitive ; il n'a jamais été mis en file pour distribution.
expiredMailLand a accepté le message mais ne l'a pas remis à sa file de distribution dans les 24 heures ; il y a donc mis fin sans l'envoyer.
template_variable_missingLe message contenait un espace réservé {{name}} sans valeur pour ce destinataire ; MailLand ne l'a donc pas envoyé avec l'espace réservé tel quel.
  • Le destinataire n'est pas mis en suppression et l'échec n'est pas compté dans votre taux de rebond.
  • Un message produit au plus un message.failed. C'est le dernier événement de ce message, sauf si MailLand reçoit plus tard une distribution ou un refus ; un message.delivered ou un message.bounced suit alors avec une status_version plus élevée.

Un refus du serveur de messagerie destinataire est signalé comme message.bounced, jamais comme message.failed.

message.failed
{
  "event": "message.failed",
  "event_id": "evt_e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0",
  "timestamp": "2026-09-28T02:00:19.1047332Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-09-28T02:00:18.2522997Z",
    "reason": "dkim_revoked",
    "smtp_response": "Next delivery time PT3.028008S > PT1S",
    "status_version": 1,
    "status": "failed",
    "previous_status": "sent",
    "complaint_status": "none"
  }
}
ChampDescription
reasonPourquoi MailLand a mis fin au message : l'une des valeurs ci-dessus. Traitez toute autre valeur comme un nouveau motif côté MailLand.
smtp_responseTexte de la file de distribution de MailLand lorsqu'il existe (dkim_revoked, admin_bounce, inject_failed), sinon null. À titre informatif uniquement : ce n'est jamais une réponse du serveur destinataire.

message.outcome_unknown

Déclenché lorsque MailLand ne peut pas déterminer si un message a atteint sa file de distribution, par exemple parce que la remise a été interrompue et n'a pas pu être établie ensuite. Il est envoyé quelque temps après le délai de nouvelle tentative du message, actuellement 7 jours, si aucun élément n'est arrivé d'ici là. Ce n'est pas un statut final. Le statut devient unknown. Si MailLand apprend le résultat plus tard, vous recevez message.delivered, message.bounced ou message.failed avec une status_version plus élevée.

message.outcome_unknown
{
  "event": "message.outcome_unknown",
  "event_id": "evt_0a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d",
  "timestamp": "2026-10-08T17:05:00.000Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-10-08T17:05:00.000Z",
    "status_version": 1,
    "status": "unknown",
    "previous_status": "queued",
    "complaint_status": "none",
    "reason": "handoff_undetermined"
  }
}

message.retried

Déclenché lorsque vous réessayez un message rebondi ou en échec et que MailLand le remet en file. Le statut devient queued et status_version augmente ; les événements de la copie renvoyée suivent avec des versions plus élevées. Ce n'est pas un statut final.

message.retried
{
  "event": "message.retried",
  "event_id": "evt_1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e",
  "timestamp": "2026-10-01T18:00:00.000Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-10-01T18:00:00.000Z",
    "attempt": 1,
    "status_version": 2,
    "status": "queued",
    "previous_status": "bounced",
    "complaint_status": "none",
    "reason": null
  }
}

Événements d'engagement

message.opened et message.clicked sont catalogués mais ne sont ni sélectionnables par le client ni émis aujourd'hui. Vous ne pouvez pas vous y abonner : toute tentative de les sélectionner à la création ou la mise à jour est rejetée avec 400 "One or more invalid events selected". Les exemples ci-dessous sont uniquement illustratifs.

message.opened

Illustratif : non disponible.

message.opened (illustrative)
{
  "event": "message.opened",
  "event_id": "evt_f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0",
  "timestamp": "2026-02-17T13:15:00.000Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T13:15:00.000Z"
  }
}

message.clicked

Illustratif : non disponible.

message.clicked (illustrative)
{
  "event": "message.clicked",
  "event_id": "evt_g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1",
  "timestamp": "2026-02-17T13:16:00.000Z",
  "data": {
    "message_id": "t_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T13:16:00.000Z"
  }
}

message.unsubscribed

Émis lorsqu'un destinataire se désinscrit d'un message que vous avez envoyé : via son en-tête List-Unsubscribe ou son adresse mailto:, le POST en un clic, son lien de désinscription ou la page de préférences. Il n'est pas émis pour les désinscriptions que vous effectuez vous-même via l'API ou le tableau de bord, ni pour les plaintes pour spam (message.complained). Il est envoyé une fois par message, au moment même où le destinataire est désinscrit, à chaque endpoint qui y est abonné. Comme tout événement de message, data porte aussi les champs d'état courants du message (voir Versions de statut).

message.unsubscribed
{
  "event": "message.unsubscribed",
  "event_id": "evt_h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2",
  "timestamp": "2026-02-17T14:00:00.000Z",
  "data": {
    "message_id": "m_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T14:00:00.000Z",
    "status_version": 3,
    "status": "delivered",
    "previous_status": "queued",
    "complaint_status": "none",
    "reason": null
  }
}

Événements de suppression

message.complained

Déclenché lorsqu'un destinataire marque l'e-mail comme spam (boucle de rétroaction ISP).

message.complained
{
  "event": "message.complained",
  "event_id": "evt_i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3",
  "timestamp": "2026-02-17T15:00:00.000Z",
  "data": {
    "message_id": "m_a1b2c3d4e5f6",
    "recipient": "[email protected]",
    "timestamp": "2026-02-17T15:00:00.000Z",
    "feedback_type": "abuse"
  }
}

Un taux de plaintes supérieur à 0,1 % peut nuire à votre réputation d'expéditeur. Surveillez attentivement les événements message.complained et assurez-vous d'envoyer uniquement à des destinataires ayant donné leur consentement.

suppression.added

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

suppression.added (illustrative)
{
  "event": "suppression.added",
  "event_id": "evt_j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4",
  "timestamp": "2026-02-17T15:00:01.000Z",
  "data": {
    "email": "[email protected]",
    "type": "complaint",
    "scope": "global",
    "reason": "Spam complaint via ISP feedback loop"
  }
}

suppression.removed

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

suppression.removed (illustrative)
{
  "event": "suppression.removed",
  "event_id": "evt_k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5",
  "timestamp": "2026-02-17T16:00:00.000Z",
  "data": {
    "email": "[email protected]",
    "type": "manual",
    "scope": "global"
  }
}

Événements entrants

inbound.received

Déclenché lorsqu'un e-mail entrant est reçu sur l'un de vos domaines.

Cet événement utilise l'enveloppe standard, comme tous les autres événements de cette page : event_id est égal à X-MLND-Event-Id et reste stable d'une tentative à l'autre, occurred_at est le moment de réception de l'e-mail, et les champs entrants se trouvent sous data. L'id de chaque pièce jointe est stable d'une tentative à l'autre ; sa download_url est nouvelle à chaque tentative. Référence des champs : Webhooks entrants.

inbound.received
{
  "event": "inbound.received",
  "event_id": "evt_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4",
  "timestamp": "2026-02-17T12:00:00.000Z",
  "occurred_at": "2026-02-17T12:00:00.000Z",
  "schema_version": 1,
  "data": {
    "idempotency_key": "r7n2k5x9m1p4w6_s5m3x8k1p7n4w2",
    "email": {
      "id": "r7n2k5x9m1p4w6",
      "received_at": "2026-02-17T12:00:00.000Z",
      "size_bytes": 4521,
      "envelope": {
        "from": "[email protected]",
        "to": ["[email protected]"]
      },
      "headers": {
        "from": { "address": "[email protected]", "name": "Jane Doe" },
        "to": [{ "address": "[email protected]" }],
        "subject": "Help with my order",
        "message_id": "<[email protected]>",
        "date": "2026-02-17T11:59:50.000Z"
      },
      "body": {
        "text_preview": "Hi, I need help with...",
        "has_text": true,
        "has_html": true
      },
      "attachments": [],
      "authentication": {
        "spf": { "result": "pass" },
        "dkim": { "result": "pass" },
        "dmarc": { "result": "pass" }
      },
      "spam": {
        "score": 0.1,
        "is_spam": false,
        "reason": null
      },
      "source": {
        "ip": "203.0.113.10",
        "hostname": "mail.external.com"
      }
    },
    "matched_route": {
      "id": "s5m3x8k1p7n4w2",
      "name": "Support inbox"
    }
  }
}

Événements de compte

account.webhook_paused

Non émis. La mise en pause automatique est réelle et se produit comme décrit dans Logique de nouvelles tentatives, mais elle est communiquée via les champs pausedAt / pausedReason du webhook lui-même et une notification in-app, pas comme un événement webhook. Envoyer « votre point de terminaison ne fonctionne plus » à un point de terminaison webhook n'est par construction pas fiable, et aucun abonnement ne peut de toute façon contenir cet événement aujourd'hui.

Déclenché lorsqu'un webhook est automatiquement mis en pause en raison d'échecs consécutifs.

account.webhook_paused
{
  "event": "account.webhook_paused",
  "event_id": "evt_m3n4o5p6q7r8s9t0u1v2w3x4y5z6a7",
  "timestamp": "2026-02-17T18:00:00.000Z",
  "data": {
    "webhook_id": "z8m3p1k6x4w2n7",
    "webhook_name": "Production Events",
    "consecutive_failures": 10,
    "last_error": "Connection refused"
  }
}

account.domain_verified

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

account.domain_verified (illustrative)
{
  "event": "account.domain_verified",
  "event_id": "evt_n4o5p6q7r8s9t0u1v2w3x4y5z6a7b8",
  "timestamp": "2026-02-17T10:15:00.000Z",
  "data": {
    "domain_id": "q3z8v1k6m9p2x5",
    "domain": "yourdomain.com"
  }
}

account.domain_failed

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

account.domain_failed (illustrative)
{
  "event": "account.domain_failed",
  "event_id": "evt_o5p6q7r8s9t0u1v2w3x4y5z6a7b8c9",
  "timestamp": "2026-02-17T10:15:00.000Z",
  "data": {
    "domain_id": "q3z8v1k6m9p2x5",
    "domain": "yourdomain.com",
    "reason": "DKIM record not found for selector mlnd"
  }
}

account.quota_warning

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

account.quota_warning (illustrative)
{
  "event": "account.quota_warning",
  "event_id": "evt_p6q7r8s9t0u1v2w3x4y5z6a7b8c9d0",
  "timestamp": "2026-02-17T20:00:00.000Z",
  "data": {
    "used": 45000,
    "limit": 50000,
    "percentage": 90
  }
}

account.quota_exceeded

Illustratif : pas encore émis. Cet événement est catalogué mais n'a aucun producteur aujourd'hui.

account.quota_exceeded (illustrative)
{
  "event": "account.quota_exceeded",
  "event_id": "evt_q7r8s9t0u1v2w3x4y5z6a7b8c9d0e1",
  "timestamp": "2026-02-17T22:00:00.000Z",
  "data": {
    "used": 50000,
    "limit": 50000,
    "percentage": 100
  }
}

Récapitulatif des événements

« Disponible » correspond à l'indicateur availableNow du catalogue : si quelque chose émet réellement l'événement aujourd'hui. Seuls les événements disponibles peuvent figurer dans un abonnement.

ÉvénementDisponibleProduitsLimité au domaineDescription
message.deliveredOuitransactional, marketingOuiLivré avec succès
message.deferredOuitransactional, marketingOuiTemporairement retardé
message.bouncedOuitransactional, marketingOuiRebond permanent ou temporaire
message.failedOuitransactional, marketingOuiTerminé par MailLand sur des éléments concluants, cause côté MailLand ; peut être suivi d'une correction (voir Versions de statut)
message.outcome_unknownOuitransactional, marketingOuiMailLand n'a pas pu déterminer si le message a atteint sa file de distribution ; non final
message.retriedOuitransactional, marketingOuiUn message rebondi ou en échec a été réessayé et est de nouveau en file ; non final
message.complainedOuitransactional, marketingOuiMarqué comme spam
inbound.receivedOuiinboundOuiE-mail entrant reçu
message.sentPas encoretransactional, marketingOuiE-mail accepté et mis en file d'attente
message.openedPas encoretransactional, marketingOuiPixel de suivi chargé
message.clickedPas encoretransactional, marketingOuiLien cliqué
message.unsubscribedOuitransactional, marketingOuiDestinataire désinscrit
suppression.addedPas encoretransactional, marketingNonAjouté à la liste de suppression
suppression.removedPas encoretransactional, marketingNonRetiré de la liste de suppression
account.webhook_pausedPas encoresystemNonWebhook mis en pause automatiquement
account.domain_verifiedPas encoresystemNonDomaine vérifié
account.domain_failedPas encoresystemNonÉchec de la vérification du domaine
account.quota_warningPas encoresystemNonApproche de la limite de quota
account.quota_exceededPas encoresystemNonQuota épuisé

Événements futurs

Lorsque includeFutureEvents est true (valeur par défaut), votre webhook reçoit automatiquement les nouveaux types d'événements au fur et à mesure qu'ils sont ajoutés à vos produits abonnés. Définissez-le sur false pour verrouiller votre abonnement à l'instantané actuel des événements.

Les événements marqués « Pas encore » ci-dessus deviennent abonnables lorsque leurs producteurs sont livrés : les noms d'événements et les structures de données documentés ici ne changeront pas à ce moment-là.

Prochaines étapes

Sur cette page