Webhooks

Conecte Collecta con sus sistemas, en ambos sentidos.

Envíe eventos firmados y reintentados a sus servicios en el momento en que los registros cambien — y acepte cargas útiles entrantes en un endpoint público que se asigna directamente a los campos de su módulo.

Saliente

Eventos salientes, firmados y reintentados.

Collecta envía un HTTP POST a su endpoint cada vez que un registro cambia — con una firma que puede verificar y reintentos automáticos si lo pierde.

5 tipos de eventos

Suscriba un endpoint a cualquiera de los eventos que Collecta emite a medida que cambian sus datos.

record_createdSe añade un nuevo registro a un módulo.
record_updatedLos campos de un registro existente cambian.
record_deletedSe elimina un registro de un módulo.
status_changeUn campo de estado transiciona a un nuevo estado.
custom_data_updatedLa carga útil custom_data de un registro cambia.

Firma HMAC-SHA256

Cada solicitud lleva un encabezado X-Webhook-Signature — un HMAC del cuerpo sin procesar, resistente a ataques de temporización, con clave de su secreto.

POST https://you.example.com/hooks
Content-Type: application/json
X-Webhook-Signature: sha256=3a7bd3e2…
{ "event": "record_created" }

Reintentos y backoff

Cada entrega tiene un tiempo de espera de 30 segundos. Los fallos se reintentan con backoff exponencial, hasta retry_max intentos (5 por defecto).

Intento 1a los 60 s
Intento 2a los 120 s
Intento 3a los 240 s
Intento 4a los 480 s
Intento 5a los 960 s

Historial de entregas

Cada intento — solicitud, estado de respuesta y tiempos — se almacena en webhook_deliveries, para que pueda auditar y reproducir lo que ocurrió.

Protección SSRF

Las URL de destino se validan antes de la entrega para bloquear solicitudes a direcciones de red internas y privadas.

Entrante

Reciba datos en sus módulos.

Exponga un endpoint público por módulo y luego asigne la carga útil entrante a sus campos — Collecta crea o actualiza el registro por usted.

Endpoint público

Envíe POST a una URL por módulo protegida por un token, limitada a 60 solicitudes/min, con verificación HMAC opcional resistente a ataques de temporización.

POST /api/webhooks/:moduleSlug/:token
X-Webhook-Signature: sha256=… (optional)
202 Accepted
{ "recordId": "rec_18f…" }

Mapeo de campos

Traduzca las claves de la carga útil entrante a los campos de su módulo. Collecta escribe los valores asignados en un registro nuevo o coincidente.

$.payload.skuproduct_code
$.payload.qtyquantity
$.payload.stationwork_center
FAQ

Preguntas sobre webhooks.

Cada entrega saliente incluye un encabezado X-Webhook-Signature que contiene un HMAC-SHA256 del cuerpo de la solicitud sin procesar, con clave del secreto de su endpoint. Vuelva a calcular el HMAC en su lado sobre los bytes exactos que recibió y compárelo mediante una comprobación de igualdad resistente a ataques de temporización. Si no coincide, rechace la solicitud.
Collecta otorga a cada entrega un tiempo de espera de 30 segundos. Si falla, la entrega se reintenta con retroceso exponencial a los 60, 120, 240, 480 y 960 segundos — hasta retry_max intentos (5 por defecto). Cada intento se registra en el historial de entregas completo (webhook_deliveries) para que pueda inspeccionar los códigos de estado y las cargas útiles.
Envíe POST al endpoint público /api/webhooks/:moduleSlug/:token (limitado a 60 solicitudes por minuto, con verificación HMAC opcional resistente a ataques de temporización). Las reglas de mapeo de campos traducen las claves de la carga útil entrante a los campos de su módulo, y Collecta crea o actualiza el registro coincidente.

Conecte Collecta con todo lo que utiliza.

Cuéntenos qué sistemas necesitan comunicarse con sus módulos y mapearemos los webhooks con usted.