Esta sección documenta la capa de webhooks salientes de
horizon-api.
Cada ruta v3 que muta datos publica un evento del catálogo; los suscriptores
registrados en el módulo Webhook reciben un POST firmado por los eventos
que eligieron. Para la dirección entrante (terceros que nos llaman, p. ej.
proveedores de pago) consulta las secciones de cada integración.Qué es
Un webhook es un endpoint HTTPS de tu propiedad. Cuando un recurso que te interesa se crea, actualiza, activa o elimina,horizon-api envía una
notificación fina y firmada a ese endpoint. El cuerpo identifica qué
cambió (event, data.document_id, data.account), no el recurso completo:
tu sistema lee después el estado actual mediante la API REST con sus propias
credenciales.
Qué hacen los webhooks
Entregan un
POST firmado segundos después del cambio, reintentan fallos
transitorios con backoff exponencial y registran cada intento en un
libro mayor.Qué NO hacen
Transportar el recurso, garantizar orden ni sustituir a la API REST como
fuente de verdad. Una entrega perdida nunca corrompe el estado.
Alcance del primer release
Requisitos del endpoint suscriptor
- Solo HTTPS. Las URLs
http://se rechazan salvo en el entorno localdevelopment. - Host público. Se rechazan loopback, link-local, rangos privados (IPv4 e
IPv6), direcciones de metadatos de nube y nombres
*.internalal crear o actualizar el webhook. - Sin redirecciones. El worker nunca sigue
3xx; una redirección es un error terminal para ese intento. - Responde
2xxen menos de 10 segundos. Procesa de forma asíncrona. - Verifica la firma antes de confiar en el cuerpo y deduplica por id de entrega, porque reintentos y replays lo reutilizan.
Cómo leer esta sección
1
Arquitectura
Las dos etapas de cola (
webhook-out-route, webhook-out-deliver), el
libro mayor webhook_dispatch y la regla de publicación condicionada a
suscriptores.2
Catálogo de eventos
Convención de nombres, alcance por cuenta y tabla generada con todos los
eventos.
3
Suscripciones
Crear un webhook, recibir el secreto de un solo uso, elegir eventos,
activar y rotar.
4
Entrega y firma
Cabeceras, cuerpo y código de verificación en Node.js y Python.
5
Reintentos y fallos
Matriz de resultados, backoff,
exhausted, desactivación automática y
replay.6
Operación
Sincronización del catálogo, entregas de prueba, sink, permisos y límites
conocidos.
Gestionar webhooks (crear, suscribir, rotar, replay) requiere el rol
administrator en Horizon Enterprise o los permisos webhook:*
equivalentes en un token de API. Consulta la
referencia API.