Saltar para a documentação
API

Enviar um evento

Regista que um contacto fez algo no seu produto. O evento inicia todas as automações ativas cujo acionador o indica e faz avançar quem estava à espera dele.

POST/events

Executa qualquer uma das 2 chamadas no seu espaço de trabalho.

POST /events

Regista que um contacto fez algo no seu produto. O evento inicia todas as automações ativas cujo acionador o indica e faz avançar quem estava à espera dele.

Exemplo

Requer contacts:write. Indique o contacto por email ou por 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}'
Resposta
{  "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 tem até 100 letras, dígitos, pontos, dois pontos, hífenes e sublinhados, e começa por uma letra ou um dígito. Os nomes distinguem maiúsculas de minúsculas.

properties contém no máximo 50 chaves e 4 KB de JSON. Um filtro de acionador, um valor de email e uma ramificação podem lê-las.

occurredAt assume o momento atual por omissão. Pode recuar até 90 dias no passado e não mais de 5 minutos no futuro.

Um endereço desconhecido responde 404 contact_not_found, a menos que createContact seja true, o que adiciona o contacto, com contactName como nome.

enrolled lista as automações em que o contacto entrou e resumed conta as esperas a que o evento pôs fim.

Enviar de novo a mesma Idempotency-Key responde 200 com o primeiro evento e replayed: true. A mesma chave com um corpo diferente é recusada com 422 idempotency_key_reuse.

Um evento enviado com uma chave de teste é guardado com mode: "test" e não inicia nada.

Lote

POST /events/batch aceita até 100 eventos em events, cada um com a forma do corpo acima. Responde 200 mesmo quando alguns são recusados, e diz quais.

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]" }  ]}'
Resposta
{  "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 é a posição do evento no array que enviou.

Uma chave ou aplicação pode enviar 600 eventos por minuto. Depois disso a resposta é 429 event_rate_limited.

Referência