En Optiroute los planes de rutas corresponden a un conjunto de rutas que son administradas conjuntamente. Dicho de otra manera, un plan de rutas puede contener distintas rutas, una por cada vehículo ingresado (considerando que es posible que algunos vehículos no sean considerados con pedidos, dependiendo de la configuración de optimización).
Los planes de rutas tienen estados que son actualizados por los eventos realizados por los conductores de las rutas a medida que estas se va efectuando. Estos estados están determinados por números enteros y equivalen a los siguientes:
Para interactuar con este endpoint se deben utilizar las estructuras de datos que se describirán a continuación.
El objeto plan de rutas de entrada es un hash que se ocupa para crear un plan de rutas.
Crear planes de ruta
Para crear planes de rutas en Optiroute debes realizar una llamada tipo POST en el endpoint de la API de planes de rutas, añadiendo a ella el objeto tipo plan de ruta de entrada que deseas crear.
Un ejemplo del contenido de la llamada es el siguiente:
{
'name': 'Plan de rutas',
'departure_datetime': '2024-11-08T08:00-03:00'
'finish_datetime': '2024-11-08T18:00-03:00'
}
Si la creación fue realizada correctamente la API deberá retornar un objeto tipo plan de ruta de respuesta con la información recién ingresada.
En caso de cualquier error de validación la API entregará la descripción apropiada.
Obtener lista de planes de ruta
Para obtener la lista de planes de rutas desde Optiroute debes realizar una llamada tipo GET al endpoint de la API de planes de rutas.
Obtener plan de ruta particular
Para obtener el detalle del plan de rutas desde Optiroute debes realizar una llamada tipo GET en el endpoint de la API de planes de rutas agregando el id del plan de rutas al final de la URL, de la siguiente manera:
https://app.optiroute.cl/api/v1/route-plans/{id}/
Si la llamada fue realizada correctamente la API deberá retornar un objeto de tipo plan de rutas de respuesta.
Borrar plan de ruta particular
Para eliminar un plan de rutas desde Optiroute debes realizar una llamada tipo DELETE en el endpoint de la API de planes de rutas agregando el id del pedido al final de la URL, de la siguiente manera:
https://app.optiroute.cl/api/v1/route-plans/{id}/
Los planes de rutas no son efectivamente borrados del sistema, sólo su estado es actualizado al estado DELETED.
Agregar pedidos a un plan de rutas
Para agregar pedidos a un plan de rutas se debe ingresar como atributo un objeto de tipo objeto lista de pedidos para carga masiva en el siguiente endpoint, agregando el ID del plan de rutas a la URL, como por ejemplo:
https://testing.optiroute.cl/api/v1/route-plans/{id}/add_service_requests
Un ejemplo del contenido de la llamada es el siguiente:
{
'service_requests': [12345678, 12345679, 923485843],
}
Cuando un plan de rutas aún no ha sido optimizado este no posee rutas. Cuando un pedido posee rutas los pedidos asignados al plan de rutas serán agregados a la ruta de descartados (dropped_route en las propiedades del plan de rutas).
Sacar pedidos de un plan de rutas
Para desasignar un pedido de un plan de rutas se debe ingresar como atributo el id del pedido en el siguiente endpoint, agregando el ID del plan de rutas a la URL, como por ejemplo:
https://testing.optiroute.cl/api/v1/route-plans/{id}/remove_service_request/
Un ejemplo del contenido de la llamada es el siguiente:
{
'service_request_id': 12345678,
}
Agregar vehículos a un plan de rutas
Este proceso permite agregar vehículos al plan de rutas. Es posible que no todos los vehículos ingresados sean asignados pedidos luego de la optimización, en este caso no será considerada una ruta para este.
Para agregar vehículos a un plan de rutas se debe ingresar como atributo un objeto de tipo vehículo en el siguiente endpoint, agregando el ID del plan de rutas a la URL, como por ejemplo:
https://testing.optiroute.cl/api/v1/route-plans/{id}/add_vehicle/
Un ejemplo del contenido de la llamada es el siguiente:
{
'id': 8765323
}
Sacar vehículos de un plan de rutas
Este proceso permite sacar un vehículo del plan de rutas. Si el vehículo luego de optimizarse tenía pedidos asignados a él en una ruta, la ruta será eliminada.
Para desasignar un vehículo de un plan de rutas (y borrar su ruta) se debe ingresar como atributo un objeto de tipo vehículo en el siguiente endpoint, agregando el ID del plan de rutas a la URL, como por ejemplo:
https://testing.optiroute.cl/api/v1/route-plans/{id}/remove_vehicle/
Un ejemplo del contenido de la llamada es el siguiente:
{
'id': 8765323
}
Actualizar la configuración de un plan de rutas
Para actualizar la configuración de optimización de un plan de rutas se debe realizar una llamada de tipo POST ingresando como atributo un objeto de tipo configuración de planes de ruta en el siguiente endpoint, agregando el ID del plan de rutas a la URL, como por ejemplo:
https://testing.optiroute.cl/api/v1/route-plans/{id}/update_configuration/
Un ejemplo del contenido de la llamada es el siguiente:
{
'name': 'Plan de rutas',
'start_time': '08:00'
'end_time': '18:00',
'optimization_type': 'distance',
'speed_factor': 1.05,
'use_load_balance': true,
'optimize_start_time': false
}
Optimizar un plan de rutas
El proceso de optimización de un plan de rutas corresponde a la asignación de pedidos a los distintos vehículos asignados de manera de satisfacer la configuración de optimización agregada al plan de rutas.
Es posible que en este proceso no todos los vehículos asignados al plan de rutas sean considerados, dependiendo de las opciones de optimización.
Es posible que algunos pedidos no sean asignados a algún vehículo, por lo que serán agregados a la ruta de descartados o (dropped_route en los atributos del plan de rutas).
Puedes realizar el número de optimizaciones que quieras. Si encuentras que la optimización encontrada no satisface tus requerimientos puedes actualizar la configuración del plan de rutas y optimizar nuevamente.
Para optimizar un plan de rutas se debe agregar el ID del plan de rutas a la URL, como por ejemplo:
https://testing.optiroute.cl/api/v1/route-plans/{id}/optimize/
Cancelar una optimización en curso
Para cancelar un proceso de optimización de un plan de rutas que se encuentra en curso se debe realizar una llamada de tipo POST, agregando el ID del plan de rutas a la URL, en el siguiente endpoint:
https://testing.optiroute.cl/api/v1/route-plans/{id}/stop_optimization/
Notificar a todos los conductores
Optiroute Driver es la aplicación móvil con la cual los conductores pueden recorrer y completar los puntos de la ruta que tienen asignada.
Para notificar a todos los conductores en Optiroute Driver respecto a la ruta que tienen asignada dentro del plan de rutas creado se debe realizar una llamada de tipo POST, agregando el ID del plan de rutas a la URL, en el siguiente endpoint:
https://testing.optiroute.cl/api/v1/route-plans/{id}/notify_all_drivers/
Desnotificar a todos los conductores
Para desnotificar a todos los conductores en Optiroute Driver se debe realizar una llamada de tipo POST, agregando el ID del plan de rutas a la URL, en el siguiente endpoint:
https://testing.optiroute.cl/api/v1/route-plans/{id}/denotify_all_drivers/
Con esta acción el conductor dejará de ver la ruta previamente notificada en la aplicación móvil Optiroute Driver.
Activar la notificaciones a los clientes
Optiroute permite notificar a los clientes respecto al horario de llegada de su servicio a través de correo electrónico. Si el pedido está asociado a un cliente con correo correctamente configurado se le informará el rango de horario de llegada.
Es posible configurar los distintos eventos bajo los cuales se notificará el rango de llegada al cliente en tu cuenta Optiroute en la pestaña Correos dentro de la sección Configuración en el menú de Notificaciones a clientes.
Para activar la notificación de todos los clientes respecto al rango de horario de llegada de su servicio se debe realizar una llamada de tipo POST, agregando el ID del plan de rutas a la URL, en el siguiente endpoint:
https://testing.optiroute.cl/api/v1/route-plans/{id}/notify_all_customers/
Desactivar las notificaciones a los clientes
Para desactivar las notificaciones por correo a todos los clientes de todas las rutas se debe realizar una llamada de tipo POST, agregando el ID del plan de rutas a la URL, en el siguiente endpoint:
https://testing.optiroute.cl/api/v1/route-plans/{id}/denotify_all_customers/