Ir al contenido principal

🔔 Integración: Webhooks

Conoce cómo configurar webhooks en SimpliRoute para recibir notificaciones automáticas en tiempo real cuando ocurren eventos en la plataforma.

Escrito por Tauriel

Un webhook es una llamada HTTP automática que SimpliRoute 🚀 envía a tu sistema cuando ocurre un evento específico en la plataforma. Te permiten recibir información en tiempo real sin necesidad de consultar la API constantemente. Para activarlos, contacta a tu agente de cuenta o al equipo de Customer Success.


Eventos disponibles 📋

SimpliRoute cuenta con 9 webhooks configurables. Por cada uno puedes definir una URL de destino y headers opcionales para autenticación:

  • Ruta creada: se dispara cuando se crea una nueva ruta en un plan.

  • Inicio de ruta: se dispara cuando el conductor presiona el botón Iniciar ruta en la app móvil.

  • Fin de ruta: se dispara cuando el conductor presiona finalizar ruta en la app móvil.

  • Ruta editada: se dispara cuando se realizan modificaciones a una ruta existente.

  • Creación de plan: se dispara cuando se guarda un nuevo plan.

  • Edición de plan: se dispara cuando se edita un plan guardado.

  • En camino: se dispara cuando el conductor presiona el botón Notificar en la app móvil para indicar que está en camino a una visita.

  • Checkout: se dispara cuando el conductor marca una visita como completada o fallida.

  • Checkout detallado: igual que el webhook de Checkout pero incluye información adicional de campos personalizados (extrafields).


Funcionamiento 🔛

Cada vez que ocurre uno de los eventos configurados, SimpliRoute envía automáticamente una llamada tipo POST al webservice que hayas definido, con la información del evento en formato JSON.

Para activar un webhook debes proporcionar al equipo de Soporte o a tu Customer Success los siguientes datos:

  • URL: endpoint de tu webservice que recibirá la llamada. Tu sistema debe estar preparado para procesar llamadas POST en formato JSON.

  • Headers (opcional): parámetros adicionales requeridos por tu sistema, como tokens de autenticación. Deben estar en formato JSON. Por ejemplo: {"Content-Type": "application/json", "Api-Key": "Token <tu_token>"}


Payload

Webhook de Checkout

Cuando ocurre un checkout, SimpliRoute envía la siguiente información de la visita.

Ejemplo de payload:

{
   "id": 18843965,
   "load": 0.0,
   "load_2": 0.0,
   "load_3": 0.0,
   "window_start": "09:00:00",
   "window_end": "19:00:00",
   "window_start_2": "23:59:00",
   "window_end_2": "23:59:00",
   "reference": "",
   "planned_date": "2019-09-09",
   "order": 4,
   "checkout_comment": "Test",
   "duration": "0:20:00",
   "calculated_service_time": "0:00:00",
   "title": "INDUSTRIAS RICÓN",
   "contact_name": "Victor Gonzalez",
   "contact_email": "",
   "contact_phone": "978567812",
   "notes": "",
   "latitude": "-33.439046",
   "longitude": "-70.648752",
   "status": "completed",
   "address": "HUERFANOS 835 OF. 202, SANTIAGO, Santiago",
   "account": "[email protected]",
   "route": "2019-09-09 - Test",
   "status_changed": "2019-09-09 21:23:01.251595+00:00",
   "priority_level": 0,
   "created": "2019-08-29 22:33:44.015108+00:00",
   "modified": "2019-09-09 21:23:01.251582+00:00",
   "estimated_time_arrival": "10:12:00",
   "estimated_time_departure": "10:32:00",
   "tracking_id": "SR67118024023080",
   "signature": "visit-signatures/2019/09/09/ac6bf49a-35b.png",
   "checkin_time": null,
   "checkin_latitude": null,
   "checkin_longitude": null,
   "checkout_observation": null,
   "checkout_latitude": "-33.420471",
   "checkout_longitude": "-70.603384",
   "checkout_time": "2019-09-09 21:22:56.068000+00:00",
   "on_its_way": null,
   "geocode_alert": null,
   "has_alert": false,
   "priority": false
}


Webhook de Edición de plan

Cuando se edita un plan, SimpliRoute envía la información completa del plan con sus rutas y visitas.

Ejemplo de payload:

{
 "id": "9b420e42-m492-29m1-a214-f2ad927707b4",
 "account": {
   "id": 1,
   "name": "[email protected]"
 },
 "end_date": "2019-12-24",
 "reset_day": 1,
 "start_date": "2019-12-24",
 "fleet_id": 647,
 "routes": [
   {
     "id": "900787e1-k582-0185-9eeb-d93b68c98b85",
     "planned_date": "2019-12-24",
     "total_load": 50,
     "total_load_2": 0,
     "total_load_3": 0,
     "estimated_time_end": "11:37:00",
     "estimated_time_start": "09:00:00",
     "comment": null,
     "driver": {
       "id": 1,
       "name": "Driver Demo"
     },
     "vehicle": {
       "id": 1,
       "reference": "XXXX11",
       "name": "Vehicle Demo"
     },
     "visits": [
       {
         "id": 20661418,
         "title": "foo",
         "planned_date": "2019-12-24",
         "latitude": "-33.370405",
         "longitude": "-70.684798",
         "load": 0,
         "load_2": 0,
         "load_3": 0,
         "duration": "0:10:00",
         "estimated_time_departure": "09:30:00",
         "estimated_time_arrival": "09:20:00",
         "notes": "",
         "order": 1
       }
     ]
   }
 ]
}


Consideraciones 💡

  • Solo cuentas PRO y ENTERPRISE tiene acceso a la configuración de webhooks.

  • Los webhooks requieren que la cuenta tenga el módulo de Live Tracking activo.

  • La configuración es realizada por el equipo de Soporte o Customer Success. Para solicitarla, escribe a [email protected] o contacta al equipo a través del chat de la plataforma.

  • Si tienes problemas con la recepción de webhooks, contacta al equipo de Soporte indicando el evento afectado y la URL configurada.


¿Ha quedado contestada tu pregunta?