Webhooks
Los webhooks permiten que tu aplicación reciba notificaciones HTTP en tiempo real cuando ocurren eventos en ZenFlow. En lugar de consultar la API constantemente, los webhooks envían datos a tu servidor tan pronto como algo sucede.Cómo Funcionan
- Te suscribes a uno o más topics (eventos)
- Cuando ocurre un evento, ZenFlow envía un POST a tu URL
- Tu servidor responde con
2xxpara confirmar recepción - Si falla, ZenFlow reintenta con backoff exponencial
Suscribirse a Webhooks
Para recibir notificaciones, crea un webhook especificando tu URL y los eventos que te interesan:Topics Disponibles
Pedidos (Orders)
order/created
order/created
Se dispara cuando se crea un nuevo pedido en ZenFlow.Payload:
order/updated
order/updated
Se dispara cuando se modifican los detalles de un pedido (estado, items, etc).Payload:
order/cancelled
order/cancelled
Se dispara cuando un pedido es cancelado.Payload:
order/completed
order/completed
Se dispara cuando un pedido completa su fulfillment (preparado y listo para envío).Payload:
Productos (Products)
product/created
product/created
Se dispara cuando se crea un nuevo producto.Payload:
product/updated
product/updated
Se dispara cuando se modifican los detalles de un producto.Payload:
product/deleted
product/deleted
Se dispara cuando se elimina un producto.Payload:
Stock
stock/updated
stock/updated
Se dispara cuando cambia el nivel de stock de un producto en una ubicación.Payload:
Valores de
reason:order_fulfillment- Preparación de pedidomanual_adjustment- Ajuste manualstock_receipt- Recepción de mercaderíatransfer- Transferencia entre ubicacionesreturn- Devolucióninventory_count- Conteo de inventario
stock/low_alert
stock/low_alert
Se dispara cuando el stock de un producto cae por debajo del umbral mínimo configurado.Payload:
stock/movement_created
stock/movement_created
Se dispara cuando se registra un movimiento de stock (entrada, salida, transferencia).Payload:
Flujos de Picking (Flows)
flow/started
flow/started
Se dispara cuando un operador inicia un flujo de picking.Payload:
flow/completed
flow/completed
Se dispara cuando un flujo de picking se completa exitosamente.Payload:
flow/cancelled
flow/cancelled
Se dispara cuando un flujo de picking es cancelado.Payload:
Estructura del Payload
Todos los payloads siguen esta estructura base:Verificando Webhooks
Siempre verifica las firmas de los webhooks para asegurar que las solicitudes provienen de ZenFlow.Formato de la Firma
ZenFlow incluye una firma en el headerX-Webhook-Signature:
t: Timestamp Unix cuando se envió el webhookv1: Firma HMAC-SHA256
Proceso de Verificación
Política de Reintentos
Si la entrega del webhook falla, ZenFlow reintenta con backoff exponencial:
Una entrega se considera fallida si:
- Tu servidor retorna un código de estado no-2xx
- La conexión expira (30 segundos por defecto)
- Ocurren errores SSL/TLS
Mejores Prácticas
Responde Rápido
Retorna 200 inmediatamente, procesa async
Maneja Duplicados
Usa el ID del evento para idempotencia
Verifica Firmas
Siempre valida las firmas de los webhooks
Usa HTTPS
Solo usa URLs de webhook con HTTPS

