Obtener Ruta

Las Rutas en Persat tienen un identificador _id unico, mediante el cual podemos consultar su contenido o estado.

Para obtener una Ruta se debe realizar un GET como el que se muestra a continuación

GET https://api.persat.com.ar/v1/deliveryRoute/id

Path Parameters

NameTypeDescription

id*

Number

Identificador de la ruta

Headers

NameTypeDescription

Authorization*

String

Bearer API_KEY

Respuesta

{
    "success": true,
    "data": {
      "_id":1707684808389,
      "assignation_info":{
         "assigned_date":"2024-02-11T00:00:00.000Z",
         "device_id":14,
         "device_name":"AA123ZZ Leonardo Diaz"
      },
      "departure":{
         "name":"Deposito Principal",
         "planned_departure_time":480
      },
      "deliveries":[
         {
            "_id":"JGBG41276",
            "state":"FINISHED",
            "planned_arrival_time":489,
            "arrival_time": 501            /* Solo cuando el Chofer entregó */
         },
         {
            "_id":"EJDS48377",
            "state":"ASSIGNED",
            "planned_arrival_time":508
         },
         {
            "_id":"RGLU11921",
            "state":"ASSIGNED",
            "planned_arrival_time":525
         },
         {
            "_id":"AQAW56259",
            "state":"ASSIGNED",
            "planned_arrival_time":536
         }
      ],
      "arrival":{
         "name":"Deposito Minoristas",
         "planned_arrival_time":558
      },
      "route_distance":15650,
      "route_time":78 
    }
}

Análisis de la respuesta

id: Number identificando inequivocamente a la Ruta.

assignation_info: Objeto Json con datos referidos a la asignación de la ruta

assignation_info.assigned_date: Fecha de la ruta. No posee horas, minutos, segundos ni milisegundos.

Fecha en horario local. Entonces para el caso del ejemplo, y sin importar si soy un cliente de Argentina, Ecuardor o Mexico, la fecha mostrada representa el día 11 de Febrero de 2024

"assignation_info.assigned_date:": "2024-02-11T00:00:00.000Z"

assignation_info.device_id: Number, identificando inequivocamente al dispositivo que tiene asignada la ruta. Los dispositivos se pueden visualizar en Dispositivos

assignation_info.device_name: String. Es el nombre del dispositivo.

departure: Objeto Json que representa los datos del punto inicial de la ruta.

departure.name: Nombre del depósito inicial.

departure.planned_departure_time: Tiempo de inicio de la ruta expresado en minutos desde el inicio del día.

Para el caso del ejemplo, 480, representa las 08:00 AM. Ya que 480/60 = 8.

Si recibieramos el valor 790, para transformarlo a un horario legible, debemos hacer

  • Calcular Horas: Math.floor(790 / 60) = 13

  • Calcular Minutos: 790 - (13 * 60) = 10

Entonces 790 = 13:10

deliveries: Array con las entregas de la ruta. Las mismas ya vienen ordenadas en el array, con lo cual deliveries[0] es la primer entrega, mientras que la últlima del array es la última entrega del recorrido.

deliveries[i]._id: String. Identificador inequivoco de la entrega

deliveries[i].state: Estado de la entrega.

deliveries[i].planned_arrival_time: Tiempo de llegada planificado a la entrega, expresado en minutos desde el inicio del día. Se calcula de la misma forma que departure.planned_departure_time

deliveries[i].arrival_time: [OPCIONAL]: Este field solo es proporcionado si el chofer completó el formulario de entrega, indicándose de esta forma que la misma ha finalizado. Es un tiempo en minutos desde el inicio del día. Se calcula de la misma forma que departure.planned_departure_time

arrival: Objeto Json que representa los datos del punto final de la ruta. En general suele ser el mismo depósito inicial.

arrival.name: Nombre del depósito final.

arrival.planned_arrival_time: Tiempo de finalización de la ruta expresado en minutos desde el inicio del día. Se calcula de la misma forma que departure.planned_departure_time

route_distance: Number, indicando la distancia total en km de la ruta.

route_time: Number, indicando la duración en minutos desde la salida del vehículo hasta la llegada al depósito final.

Last updated