Webhooks
En lugar de hacer polling aGET /api/v1/invoices/{id}/status, registra una URL y CUCU te notifica en tiempo real cada vez que ocurre un evento relevante: una factura se valida o rechaza, se abre o cierra una contingencia, o cambia el estado de la conexión con el SIAT.
Registrar un endpoint
POST /api/v1/webhooks/endpoints
Gestionar endpoints
Todas requieren el header
X-API-Key.
Cada tenant puede registrar un máximo de 20 endpoints. Si necesitas más, contacta a soporte.
Catálogo de eventos
Al registrar un endpoint puedes suscribirte a
* (todos los eventos), a un namespace completo (contingency.*, siat.*) o a un tipo exacto. La suscripción se valida contra este mismo catálogo, así que nunca puedes suscribirte a un evento inexistente.
Seguridad
- HTTPS obligatorio. Solo se aceptan URLs
https://. - Anti-SSRF. Al registrar o rotar un endpoint, CUCU resuelve el host y rechaza direcciones en rangos privados o de loopback.
- Firma en cada entrega. Todas las entregas se firman con HMAC-SHA256 siguiendo el estándar Standard Webhooks, para que la verificación sea sencilla y predecible en cualquier lenguaje.
Headers en cada entrega
Verificación de firma
firma_esperada con el valor de webhook-signature (después del prefijo v1,) usando una comparación de tiempo constante.
Payload de ejemplo
Política de reintentos
Tu endpoint debe responder2xx dentro del timeout configurado para que la entrega se considere exitosa. Si no responde o responde con error, CUCU reintenta con backoff exponencial hasta 8 intentos. Un dispatcher interno procesa la cola de entregas pendientes cada 10 segundos.
Auditoría y reenvío manual
Útil para debugging: revisa el historial de intentos, el código de respuesta recibido y fuerza un reenvío manual sin esperar al backoff automático.