Skip to main content

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

  1. Te suscribes a uno o más topics (eventos)
  2. Cuando ocurre un evento, ZenFlow envía un POST a tu URL
  3. Tu servidor responde con 2xx para confirmar recepción
  4. 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:
Guarda el secret devuelto en la respuesta. Lo necesitarás para verificar las firmas. No se mostrará nuevamente.

Topics Disponibles

Pedidos (Orders)

Se dispara cuando se crea un nuevo pedido en ZenFlow.Payload:
Se dispara cuando se modifican los detalles de un pedido (estado, items, etc).Payload:
Se dispara cuando un pedido es cancelado.Payload:
Se dispara cuando un pedido completa su fulfillment (preparado y listo para envío).Payload:

Productos (Products)

Se dispara cuando se crea un nuevo producto.Payload:
Se dispara cuando se modifican los detalles de un producto.Payload:
Se dispara cuando se elimina un producto.Payload:

Stock

Se dispara cuando cambia el nivel de stock de un producto en una ubicación.Payload:
Valores de reason:
  • order_fulfillment - Preparación de pedido
  • manual_adjustment - Ajuste manual
  • stock_receipt - Recepción de mercadería
  • transfer - Transferencia entre ubicaciones
  • return - Devolución
  • inventory_count - Conteo de inventario
Se dispara cuando el stock de un producto cae por debajo del umbral mínimo configurado.Payload:
Se dispara cuando se registra un movimiento de stock (entrada, salida, transferencia).Payload:

Flujos de Picking (Flows)

Se dispara cuando un operador inicia un flujo de picking.Payload:
Se dispara cuando un flujo de picking se completa exitosamente.Payload:
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 header X-Webhook-Signature:
  • t: Timestamp Unix cuando se envió el webhook
  • v1: 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

Procesamiento Asíncrono

Gestionando Webhooks

Ver Historial de Entregas

Probar tu Webhook

Esto envía un evento de prueba para verificar que tu endpoint está funcionando.

Rotar Secret

Si el secret de tu webhook está comprometido:
Actualiza tu servidor con el nuevo secret antes de que el anterior expire.