Saltar al contenido principal

Webhooks salientes

WhatsUY puede enviar eventos a tu servicio en tiempo real. Configurás el webhook por referencia y por modo.

Configurar webhook

POST /references/hookconf
Authorization: Bearer <jwt>
{
"reference": 12345,
"mode": "messages",
"url": "https://tu-servicio.com/webhooks/whatsuy",
"headers": { "Authorization": "Bearer <tu-secreto>" }
}

WhatsUY no firma criptográficamente los webhooks: dependé de tu propio secreto en headers.

Modos soportados

ModoDescripción
messagesMensajes entrantes y salientes.
statusCambios de estado de mensajes (delivered, read, failed).
dataValores guardados por bots y extractors.
callsEventos de llamadas.
configCambios de configuración de la referencia.
suscripcionEventos de suscripción / pago.

Payload típico (messages)

{
"type": "message.in",
"reference": 12345,
"chatId": "59891234567@s.whatsapp.net",
"message": {
"id": "BAE5...",
"type": "text",
"text": "Hola!",
"timestamp": 1729456789,
"fromMe": false
}
}

Payload típico (status)

{
"type": "message.status",
"reference": 12345,
"messageId": "BAE5...",
"status": "delivered",
"timestamp": 1729456790
}

Payload típico (data)

{
"type": "bot.value",
"reference": 12345,
"chatId": "59891234567@s.whatsapp.net",
"botId": "...",
"extractorId": "...",
"key": "nombre",
"value": "Juan",
"timestamp": 1729456791
}

Reintentos

Si tu endpoint responde 5xx o timeout, WhatsUY reintenta con backoff exponencial (1s, 5s, 30s, 5min, 30min). Después de 5 intentos, el evento se descarta y se loguea en el panel admin.

Detalle: api-documentation/webhooks/.