Webhooks
Gestiona las suscripciones a eventos de facturación (validación, rechazo, contingencia, conexión SIAT) directamente con lenguaje natural, sin tocar la API REST.registrarWebhook
Registra una URL para recibir eventos. Soporta suscripción por
tipo exacto, namespace (
contingency.*) o * (todos).listarWebhooks
Lista los endpoints de webhook registrados por el tenant.
verWebhook
Detalle de un endpoint: URL, eventos suscritos y estado.
actualizarWebhook
Cambia la URL, los eventos suscritos o activa/desactiva un endpoint.
eliminarWebhook
Elimina un endpoint de webhook registrado.
rotarSecretoWebhook
Genera un nuevo secreto de firma para un endpoint, invalidando el anterior.
listarEntregasWebhook
Historial de entregas de un endpoint: estado, intentos y código de respuesta.
reenviarEntregaWebhook
Fuerza el reenvío de una entrega puntual sin esperar el backoff automático.
registrarWebhook \
Registra un nuevo endpoint de webhook para recibir eventos de facturación en tiempo real.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
url | String | Sí | URL https:// que recibirá las entregas |
events | Array<String> | Sí | Eventos a suscribir: *, namespace.* o tipo exacto |
description | String | No | Nota interna para identificar el endpoint |
“Registra un webhook a https://miapp.com/hooks/cucu para invoice.validated e invoice.rejected”
listarWebhooks \
Lista los endpoints de webhook registrados por el tenant autenticado.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
| (ninguno) | - | - | No requiere parámetros |
“¿Qué webhooks tengo registrados?”
verWebhook \
Obtiene el detalle de un endpoint de webhook: URL, eventos suscritos, estado y fecha de creación.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | ID del endpoint de webhook |
“Muéstrame el detalle del webhook wh_ep_a1b2c3d4”
actualizarWebhook \
Actualiza la URL, los eventos suscritos, o activa/desactiva un endpoint existente.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | ID del endpoint de webhook |
url | String | No | Nueva URL del endpoint |
events | Array<String> | No | Nueva lista de eventos suscritos |
active | Boolean | No | Activa o pausa las entregas a este endpoint |
“Agrega el evento contingency.opened al webhook wh_ep_a1b2c3d4”
eliminarWebhook \
Elimina un endpoint de webhook registrado. Las entregas ya realizadas quedan en el historial.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | ID del endpoint de webhook |
“Elimina el webhook wh_ep_a1b2c3d4”
rotarSecretoWebhook \
Genera un nuevo secreto de firma HMAC para el endpoint, invalidando el anterior de inmediato.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | ID del endpoint de webhook |
“Rota el secreto del webhook wh_ep_a1b2c3d4”
listarEntregasWebhook \
Lista el historial de entregas de un endpoint: estado, cantidad de intentos y código de respuesta recibido.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
id | String | Sí | ID del endpoint de webhook |
page | int | No | Página (inicia en 0, default: 0) |
size | int | No | Elementos por página (default: 20) |
“¿Cuántas entregas fallaron en el webhook wh_ep_a1b2c3d4 esta semana?”
reenviarEntregaWebhook \
Fuerza el reenvío de una entrega puntual, sin esperar al backoff automático del dispatcher.| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
deliveryId | String | Sí | ID de la entrega a reenviar |
“Reenvía la entrega de webhook que falló esta mañana”
Conceptos clave
Catálogo de eventos
Catálogo de eventos
Los webhooks de facturación cubren, entre otros:
invoice.* (cambios de estado de
factura), contingency.opened / contingency.closed / contingency.package_rejected,
siat.connection_lost / siat.connection_restored, siat.token_expiring,
certificate.expiring, cufd.renewal_failed y cuis.renewal_failed. Consulta el
catálogo completo en Webhooks (API REST).Firma Standard Webhooks
Firma Standard Webhooks
Cada entrega llega firmada con HMAC-SHA256 siguiendo el estándar Standard Webhooks:
headers
webhook-id, webhook-timestamp, webhook-signature y webhook-event. La
verificación de firma es la misma que en la API REST — ver
Webhooks (API REST).Reintentos y anti-SSRF
Reintentos y anti-SSRF
Las entregas fallidas reintentan con backoff exponencial hasta 8 intentos. Al registrar
o rotar un endpoint, CUCU valida que la URL sea
https:// y resuelve el host para
rechazar direcciones privadas o de loopback.