Saltar al contenido principal
Routal

Webhooks

Suscríbete a eventos de ciclo de vida de plans, routes y stops desde la API de Routal.

Routal envía webhooks como HTTP POST a una URL que tú controlas cuando cambian de estado los recursos. Los 8 eventos disponibles cubren el ciclo completo: plan.created / plan.updated / plan.deleted, route.started / route.finished, stop.created / stop.deleted / stop.reported.

Envelope de cada webhook

{
  "created_at": "2026-05-22T08:01:23.456Z",
  "project_id": "4f75d991ac359f8c4c79d762",
  "event_id": "routal.planner.2.stop.reported",
  "meta": { "...": "..." },
  "data": {
    "id": "...",
    "external_id": "ORDER-9001",
    "status": "completed",
    "updated_at": "2026-05-22T08:01:23.000Z"
  }
}

Patrones clave:

  • Autenticación por token en la URL (/webhooks/routal?token=...) — los webhooks de Routal no tienen signature hoy.
  • Deduplicación por (event_id, data.id, data.updated_at) — no hay ID de entrega único en el envelope.
  • Auto-desactivación tras 50 fallos consecutivos — devuelve 2xx rápido y procesa async.
  • Retry simple sin schedule definido — diseñado para entregas at-least-once.

La especificación detallada de cada evento (campos que viajan en data, modelos de meta por contexto, ejemplos de handler en TS/Python/Express/Flask) vive en inglés.

Leer la referencia completa de Webhooks en inglés →