Eventos
Catálogo completo dos eventos emitidos. O nome segue o padrão <recurso>.<fato>; o campo data do payload traz o recurso serializado no formato da API v1 ou um objeto de referência enxuto (documentado por evento). Um endpoint com a lista de eventos vazia recebe todos, inclusive eventos futuros.
Cada página abaixo documenta, evento por evento, quando dispara e um payload de exemplo completo:
| Recurso | Página | Eventos |
|---|---|---|
| Clientes | person | person.created · person.updated · person.deleted · person.classification_changed |
| Cobranças | charge | charge.created · charge.updated · charge.deleted · charge.paid · charge.overdue |
| Acordos | agreement | agreement.created · agreement.updated · agreement.deleted · agreement.accepted · agreement.cancelled · agreement.broken (planejado) · agreement.completed |
| Disputas | dispute | dispute.created · dispute.updated · dispute.resolved · dispute.cancelled |
| Tarefas | task | task.created · task.updated · task.completed · task.deleted |
| Réguas de cobrança | collection_rule | collection_rule.created · collection_rule.updated · collection_rule.deleted |
| Templates | template | template.created · template.updated · template.deleted |
| Classificações | classification | classification.created · classification.updated · classification.deleted |
| Interações | interaction | interaction.created |
| Notificações | notification | notification.sent · notification.delivered · notification.read · notification.failed |
| Negativações | negativation | negativation.review_required · negativation.registered · negativation.removed |
| Protestos | protest | protest.review_required · protest.registered · protest.paid · protest.cancelled |
| Teste | webhook.test | webhook.test (disparado sob demanda, não assinável) |
O envelope
Toda entrega usa o mesmo envelope; só o data varia:
{
"event": "charge.paid",
"timestamp": "2026-07-23T12:00:00.000Z",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"data": { "...": "documentado por evento nas páginas acima" }
}
timestampé o momento em que o evento ocorreu (não o do envio — retries mantêm o mesmotimestamp).- Os headers da entrega (
X-Webhook-Event,X-Webhook-Event-Id,X-Webhook-Delivery-Id,X-Webhook-Attempt,X-Webhook-Timestamp,X-Webhook-Signature) estão descritos na visão geral; a verificação da assinatura, em Segurança.
Convenções dos payloads
- Eventos de entidade (
*.created,*.updatede afins) trazem o recurso completo emdata, incluindo os campos monetários como string decimal ("1500.00") e datas em ISO 8601. - Eventos de exclusão (
*.deleted) trazem apenas{ "id": "<uuid>" }— a exclusão é lógica (soft delete). - Eventos de fato (
charge.paid,notification.delivered,negativation.registered...) trazem um objeto de referência enxuto com os ids relevantes (chargeId,personId...) — consulte o recurso completo na API v1 se precisar de mais. - Campos novos podem ser adicionados a qualquer momento sem aviso; trate o
datade forma tolerante (ignore o que não conhecer).
Escolhendo o que assinar
Para conciliação financeira, charge.paid, charge.overdue, agreement.* e protest.paid costumam bastar. Para espelhar o estado completo num sistema seu, assine tudo (lista vazia) e trate por prefixo. Os eventos *.review_required são úteis para plugar aprovações em ferramentas internas (Slack, service desk) sem ninguém vigiar a fila de revisão.