Qué es
Los webhooks de integración envían cada evento del POS a una URL de tu ERP en cuanto ocurre. Es la vía principal para mantener el ERP sincronizado: ventas, cierres de caja, facturación, stock, fiados y productos nuevos. Cada entrega es unPOST con el envelope del evento en el cuerpo JSON, firmado con HMAC-SHA256 usando el secreto del webhook.
Si preferís leer por tu cuenta, el mismo feed está disponible con pull de eventos.
Dónde está
En el back office: Configuración → Integraciones. Ahí registrás la URL, elegís sucursales opcionales y ves el estado de la última entrega. También por API, con una clave de alcance escritura:location_ids vacío recibe todas las sucursales. event_types vacío recibe todos los eventos.
Encabezados de la entrega
El
body es el JSON exacto del envelope. Firmá y verificá los bytes tal cual llegan, sin reformatear.
Verificar la firma
Compará la firma con la que calculás vos y rechazá si difiere o si el timestamp se aleja más de 5 minutos.Node.js
Python
Reintentos
Respondé2xx para confirmar la entrega. Cualquier otro resultado (o un timeout) cuenta como fallo y Tero reintenta con backoff exponencial: 1m, 2m, 4m, 8m… hasta un máximo de 24 horas, con un tope de ~15 intentos. Después la entrega queda en estado dead y se ve en Configuración → Integraciones.
- Tolerá duplicados: reintentá siempre con el mismo
event_id. Usalo para deduplicar. - Tolerá huecos: el orden es por
seqpor empresa, pero puede haber entregas fuera de orden. - Respondé rápido. Si tu ERP tarda, contestá
2xxy procesá en segundo plano.