Eventos
Catálogo completo de los eventos emitidos. El nombre sigue el patrón <recurso>.<hecho>; el campo data del payload trae el recurso serializado en el formato de la API v1 o un objeto de referencia compacto (documentado por evento). Un endpoint con la lista de eventos vacía recibe todos, incluidos los eventos futuros.
Cada página de abajo documenta, evento por evento, cuándo se dispara y un payload de ejemplo completo:
| Recurso | Página | Eventos |
|---|---|---|
| Clientes | person | person.created · person.updated · person.deleted · person.classification_changed |
| Cobros | charge | charge.created · charge.updated · charge.deleted · charge.paid · charge.overdue |
| Acuerdos | agreement | agreement.created · agreement.updated · agreement.deleted · agreement.accepted · agreement.cancelled · agreement.broken (planeado) · agreement.completed |
| Disputas | dispute | dispute.created · dispute.updated · dispute.resolved · dispute.cancelled |
| Tareas | task | task.created · task.updated · task.completed · task.deleted |
| Reglas de cobranza | collection_rule | collection_rule.created · collection_rule.updated · collection_rule.deleted |
| Plantillas | template | template.created · template.updated · template.deleted |
| Clasificaciones | classification | classification.created · classification.updated · classification.deleted |
| Interacciones | interaction | interaction.created |
| Notificaciones | notification | notification.sent · notification.delivered · notification.read · notification.failed |
| Negativaciones | negativation | negativation.review_required · negativation.registered · negativation.removed |
| Protestos | protest | protest.review_required · protest.registered · protest.paid · protest.cancelled |
| Prueba | webhook.test | webhook.test (disparado bajo demanda, no suscribible) |
El envelope
Toda entrega usa el mismo envelope; solo el data varía:
{
"event": "charge.paid",
"timestamp": "2026-07-23T12:00:00.000Z",
"organizationId": "0f7a3c1e-2b4d-4e6f-8a9b-1c2d3e4f5a6b",
"data": { "...": "documentado por evento en las páginas de arriba" }
}
timestampes el momento en que el evento ocurrió (no el del envío — los reintentos mantienen el mismotimestamp).- Los headers de la entrega (
X-Webhook-Event,X-Webhook-Event-Id,X-Webhook-Delivery-Id,X-Webhook-Attempt,X-Webhook-Timestamp,X-Webhook-Signature) están descritos en la visión general; la verificación de la firma, en Seguridad.
Convenciones de los payloads
- Eventos de entidad (
*.created,*.updatedy similares) traen el recurso completo endata, incluidos los campos monetarios como string decimal ("1500.00") y las fechas en ISO 8601. - Eventos de eliminación (
*.deleted) traen solo{ "id": "<uuid>" }— la eliminación es lógica (soft delete). - Eventos de hecho (
charge.paid,notification.delivered,negativation.registered...) traen un objeto de referencia compacto con los ids relevantes (chargeId,personId...) — consulta el recurso completo en la API v1 si necesitas más. - Pueden agregarse campos nuevos en cualquier momento sin aviso; trata el
datade forma tolerante (ignora lo que no conozcas).
Elegir qué suscribir
Para conciliación financiera, charge.paid, charge.overdue, agreement.* y protest.paid suelen bastar. Para espejar el estado completo en un sistema tuyo, suscribe todo (lista vacía) y procesa por prefijo. Los eventos *.review_required son útiles para conectar aprobaciones a herramientas internas (Slack, service desk) sin que nadie tenga que vigilar la cola de revisión.