Webhooks
En vez de consultar la API cada tanto para ver si pasó algo, decinos a qué URL avisarte y te mandamos unPOST en el momento.
Configurar un endpoint
1
Abrí API y Webhooks
Dashboard → Tu productora → API y Webhooks → Agregar endpoint.
2
Pegá tu URL
Tiene que ser
https:// y pública. No aceptamos direcciones internas ni IPs privadas.3
Elegí qué querés recibir
Marcá solo los eventos que vas a procesar. Ver la lista completa.
4
Guardá el secreto de firma
Te lo mostramos una vez. Lo necesitás para verificar la firma de cada envío.
5
Probá
El botón Enviar prueba manda un
ping real, con la misma firma y las mismas cabeceras que los avisos de verdad. Si eso pasa, los eventos reales también van a pasar.Cómo llega
data es el mismo objeto que devuelve la API REST. Un order.completed trae exactamente lo que te daría GET /api/v1/orders/{id}, así que escribís un solo parser para las dos cosas.
Cabeceras
Qué tenés que responder
Cualquier 2xx. No miramos el cuerpo. Respondé rápido — el envío corta a los 10 segundos. Si tu procesamiento demora, guardá el evento en una cola y contestá 200 enseguida; si lo procesás antes de responder, te vamos a marcar como caído aunque hayas hecho el trabajo. Cualquier otra cosa (3xx, 4xx, 5xx, timeout, error de conexión) cuenta como fallo y entra en la escalera de reintentos.Reintentos
Reintentamos hasta 7 veces con espera creciente:
En total cubre unas 21 horas. Después de eso el envío queda como Falló y podés reenviarlo a mano desde Últimos envíos.
Desactivación automática
Si un endpoint falla 50 envíos seguidos, lo apagamos y te lo mostramos en el dashboard con el último error. Arreglá tu servidor y volvé a activarlo con el switch: eso reinicia el contador.Entrega al menos una vez
Garantizamos que el aviso llega al menos una vez, no exactamente una vez. En la práctica:- puede llegar repetido (por eso
X-QRT-Event-Id); - puede llegar fuera de orden — un
ticket.scannedpuede adelantarse a unorder.completedsi el primero se entregó al primer intento y el segundo tuvo que reintentar. No asumas orden: usá los timestamps del cuerpo.

