Webhooks

Un webhook es un aviso: en vez de que tu sistema pregunte cada rato si pasó algo, ODECIS le manda una petición HTTP en el momento en que pasa.

Dos cosas que conviene saber antes de empezar: los avisos son instantáneos, y si tu servidor no responde reintentamos hasta 6 veces.

Eventos disponibles

Productos

EventoCuándo se dispara
product.createdSe creó un producto
product.updatedSe actualizó un producto
product.deletedSe eliminó un producto

Inventario

EventoCuándo se dispara
stock.changedCambió el stock de un producto

Ventas

EventoCuándo se dispara
order.createdSe creó una orden de venta
order.status_changedCambió el estado de una orden
order.cancelledSe anuló una orden

Facturación

EventoCuándo se dispara
invoice.createdSe emitió un comprobante electrónico
invoice.cancelledSe anuló un comprobante

Formato del payload

{
  "event": "product.created",
  "timestamp": "2025-12-12T15:30:00.000Z",
  "webhookId": "wh_abc123xyz",
  "data": {
    "product": {
      "id": "prod_123",
      "sku": "LAP-HP-001",
      "name": "Laptop HP ProBook",
      "price": 2499.90,
      "stock": 25,
      "createdAt": "2025-12-12T15:30:00.000Z"
    }
  }
}

Política de reintentos

Si tu servidor no responde, reintentamos con espera creciente:

IntentoEspera
1Inmediato
21 minuto
35 minutos
415 minutos
51 hora
62 horas

Mejores prácticas

  • Responde rápido. Devuelve 200 OK de inmediato y procesa después. Si tardas, el aviso se cuenta como fallido y entra a la cola de reintentos.
  • Usa HTTPS. Solo aceptamos endpoints con SSL válido.
  • Verifica la firma. Valida siempre el encabezado X-Webhook-Signature antes de confiar en el contenido.
  • No confíes en el orden. Los webhooks pueden llegar desordenados: usa el timestamp del payload, no el orden de llegada.