Webhooks
Xat CRM envía un POST a tu URL cuando ocurre algo en tu espacio de trabajo. Configuras los endpoints desde Ajustes → Webhooks.
Eventos
Cada endpoint se suscribe a los eventos que elijas. Estos son todos los disponibles.
message
message.receivedmessage.sent
conversation
conversation.createdconversation.updatedconversation.resolved
contact
contact.createdcontact.updated
inbox
inbox.connectedinbox.disconnected
9
Formato del envío
Cada entrega es un POST con este cuerpo y estas cabeceras.
Cabeceras
X-Xat-Event: <event>
X-Xat-Delivery: <id>
X-Xat-Signature: sha256=<hex>
User-Agent: XatCRM-Webhooks/1.0Cuerpo
{
"id": …,
"event": …,
"organizationId": …,
"occurredAt": …,
"data": …
}Verificar la firma
Cada entrega va firmada con el secreto del endpoint. Calcula el HMAC-SHA256 del cuerpo tal cual llega —sin volver a serializarlo— y compáralo con la cabecera de firma. El secreto se muestra una sola vez, al crear el endpoint.
- X-Xat-Signature
sha256=<hex>- HMAC
HMAC-SHA256
Reintentos
Si tu endpoint no responde con éxito, la entrega se reintenta con espera creciente. Un endpoint que falla de forma sostenida se desactiva solo, para que una URL muerta no siga consumiendo la cola.
- Intentos por entrega
- 6
- Espera entre intentos
30s1m2m4m8m- Se desactiva tras
- 20 fallos consecutivos
Las redirecciones no se siguen: en un POST firmado siempre indican una mala configuración.
Entregas repetidas
Un reintento repite la misma entrega, con el mismo identificador en la cabecera correspondiente. Usa ese identificador para descartar duplicados en tu lado.
X-Xat-Delivery