Ir al contenido

Reintentos

Cuando OrderFast envía un evento a tu URL, espera una respuesta 2xx en menos de 30 segundos. Si tu ERP no responde a tiempo, devuelve un error, o responde con un código distinto de 2xx, el evento se considera fallido y OrderFast lo reintenta automáticamente.

Intento Cuándo
1 Inmediato
2 +1 minuto
3 +5 minutos
4 +15 minutos
5 +1 hora

Después del quinto intento fallido, el evento se marca como dead y no se vuelve a enviar.

Situación Resultado
Tu servidor responde 2xx Entrega exitosa
Timeout (> 30 s) Fallo → reintento
Respuesta 4xx o 5xx Fallo → reintento
Error de conexión (DNS, TLS, red) Fallo → reintento

La conciliación con tu ERP puede ser lenta, pero tu endpoint HTTP debe responder de inmediato:

  1. Validá la firma.
  2. Respondé 200.
  3. Encolá el procesamiento (cola de mensajes, worker, etc.).

Esto es especialmente importante para eventos de alto volumen como order.created o sync.completed.

El mismo evento puede llegar más de una vez. Usá X-OrderFast-Event-Id para detectar duplicados:

  • Si ya procesaste ese id, respondé 200 sin repetir la acción.
  • Guardá los IDs procesados con un TTL razonable (al menos 24 horas).

Esto es crítico para eventos como settlement.created o sync.completed, donde reprocesar podría generar duplicados contables.

Los eventos pueden llegar fuera de orden. Por ejemplo:

  • sync.completed puede llegar antes que el último stock.updated del batch.
  • payment.completed puede llegar antes que order.status_changed.

Diseñá tu lógica para consultar el estado actual del recurso vía API cuando necesites el dato definitivo.

Consultá el historial de entregas:

GET /v2/webhook-endpoints/:id/deliveries

Cada entrada incluye el tipo de evento, número de intento, estado (delivered, failed, dead) y el código HTTP que devolvió tu servidor.

También podés enviar un evento de prueba:

POST /v2/webhook-endpoints/:id/test
  • Overview — registrar y gestionar webhook endpoints
  • Firma HMAC — validar eventos entrantes
  • Eventos — estructura de payloads