Saltar al contenido principal

Webhooks

Los webhooks permiten que tus sistemas reaccionen a los cambios en los diagramas en tiempo real. Suscríbete a los eventos del ciclo de vida y EntityFlow enviará una solicitud POST con una carga útil firmada a tu endpoint cada vez que se activen.

Eventos​

EventoSe activa cuando
diagram.createdSe crea un diagrama.
diagram.updatedSe guarda/actualiza un diagrama.
diagram.deletedSe elimina un diagrama.

Crear una suscripción​

POST /api/v1/webhooks con una url de destino y la lista de events:

curl -X POST https://<your-host>/api/v1/webhooks \
-H "Authorization: Bearer ef_live_xxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"url": "https://example.com/hooks/entityflow",
"events": ["diagram.created", "diagram.updated", "diagram.deleted"]
}'

La respuesta incluye un secreto de firma — que se muestra una sola vez. Guárdalo de forma segura; lo necesitas para verificar las entregas.

Verificar las entregas​

Cada entrega incluye encabezados Standard-Webhooks:

EncabezadoPropósito
webhook-idIdentificador único de entrega (úsalo para la idempotencia).
webhook-timestampHora de envío (rechaza las entregas obsoletas).
webhook-signaturev1,<HMAC-SHA256 of the payload using your secret>.

Verifica siempre la firma antes de confiar en una entrega. Vuelve a calcular el HMAC-SHA256 del cuerpo sin procesar de la solicitud usando tu secreto de firma y compáralo (en tiempo constante) con el valor v1,... del encabezado webhook-signature.

tip

Usa las bibliotecas de Standard Webhooks para verificar las firmas correctamente en todos los lenguajes, en lugar de crear tu propia solución.

Destinos HTTP​

Los destinos https siempre están permitidos. Los destinos http en texto plano están bloqueados de forma predeterminada como protección contra SSRF. Quienes realizan el autoalojamiento pueden permitirlos con:

export EF_WEBHOOK_ALLOW_HTTP=true

Consulta la referencia de configuración para conocer los ajustes relacionados del importador y de la red.