Aller à la documentation
API

Envoyer un événement

Enregistre qu'un contact a fait quelque chose dans votre produit. L'événement démarre chaque automatisation en ligne dont le déclencheur le nomme et fait avancer toute personne qui l'attendait.

POST/events

Exécute l'un des 2 appels sur votre espace de travail.

POST /events

Enregistre qu'un contact a fait quelque chose dans votre produit. L'événement démarre chaque automatisation en ligne dont le déclencheur le nomme et fait avancer toute personne qui l'attendait.

Exemple

Nécessite contacts:write. Désignez le contact par email ou par contactId.

curl
curl -X POST "$OE/events" -H "$AUTH" -H 'content-type: application/json' -H 'Idempotency-Key: order-A-1042' -d '{  "name": "order.placed",  "email": "[email protected]",  "properties": { "orderId": "A-1042", "total": 59 },  "createContact": true}'
Réponse
{  "object": "contact_event",  "id": "cev_6a1d9f3c8b2e40a75d9c1e38",  "contactId": "5b0e7c1a-2f4d-4c8b-9a36-1e7d0c5f8b24",  "email": "[email protected]",  "name": "order.placed",  "properties": { "orderId": "A-1042", "total": 59 },  "occurredAt": "2026-10-11T08:02:03.000Z",  "mode": "live",  "createdAt": "2026-10-11T08:02:03.412Z",  "replayed": false,  "enrolled": ["aut_7c2e9a1f4b8d30c65e1a9f27"],  "resumed": 0}

name compte jusqu'à 100 lettres, chiffres, points, deux-points, tirets et tirets bas, et commence par une lettre ou un chiffre. Les noms sont sensibles à la casse.

properties contient au plus 50 clés et 4 Ko de JSON. Un filtre de déclencheur, une valeur d'e-mail et une branche peuvent les lire.

occurredAt vaut l'instant présent par défaut. Il peut remonter jusqu'à 90 jours dans le passé et dépasser le présent de 5 minutes au plus.

Une adresse inconnue répond 404 contact_not_found, sauf si createContact vaut true, ce qui ajoute le contact avec contactName pour nom.

enrolled liste les automatisations où le contact est entré et resumed compte les attentes auxquelles l'événement a mis fin.

Renvoyer la même Idempotency-Key répond 200 avec le premier événement et replayed: true. La même clé avec un corps différent est refusée avec 422 idempotency_key_reuse.

Un événement envoyé avec une clé de test est stocké avec mode: "test" et ne déclenche rien.

Lot

POST /events/batch accepte jusqu'à 100 événements dans events, chacun de la forme du corps ci-dessus. Il répond 200 même quand certains sont refusés, et dit lesquels.

curl
curl -X POST "$OE/events/batch" -H "$AUTH" -H 'content-type: application/json' -d '{  "events": [    { "name": "order.placed", "email": "[email protected]" },    { "name": "order.placed", "email": "[email protected]" }  ]}'
Réponse
{  "object": "contact_event_batch",  "accepted": [{ "index": 0, "object": "contact_event", "id": "cev_6a1d9f3c8b2e40a75d9c1e38", "…": "…" }],  "failed": [{ "index": 1, "code": "contact_not_found", "message": "No contact with that address. Pass createContact: true to add one." }]}

index est la position de l'événement dans le tableau envoyé.

Une clé ou une application peut envoyer 600 événements par minute. Au-delà, la réponse est 429 event_rate_limited.

Référence