Persat Api
  • Persat API v1.0
  • Introducción
    • ¿Qué es una API?
    • ¿Cómo funciona?
  • Primeros Pasos
    • Introducción
    • Niveles de Acceso y Consideraciones Importantes
    • Formato de Respuesta
    • Autenticación
      • Como obtener el Api key
    • Configurar Webhooks
      • Primeros pasos
      • Lógica de reintentos
  • Entidades Básicas
    • Clientes
      • Obtener un cliente
      • Agregar un cliente
      • Modificar un cliente
      • Eliminar un cliente
      • Listar Clientes
      • Listar Grupos de Clientes
      • Listar Tipos de Clientes
      • Listar Campos Personalizados
      • Eventos / Webhooks
        • Cliente creado
        • Cliente modificado
        • Cliente eliminado
    • Objetos en Cliente
      • Obtener estructura/esquema de un Objeto en Cliente
      • Listar estructuras/esquemas de los Objetos en Cliente
      • Obtener objeto
      • Insertar objeto
      • Modificar objeto
      • Eliminar objeto
      • Listar Objetos en un Cliente particular
      • Sincronizacion completa
    • Master Db
      • Obtener estructura/esquema de una Master Db
      • Listar estructuras/esquemas de las Master Dbs
      • Obtener elemento
      • Insertar elemento
      • Modificar elemento
      • Eliminar elemento
      • Sincronizacion completa
    • Dispositivos
      • Obtener Dispositivo
      • Listar Dispositivos
    • Usuarios
      • Listar Usuarios
      • Listar Técnicos Activos
    • Seguimientos
      • Crear seguimientos
  • Modulos
    • 🚚Rastreo Satelital
      • Obtener última posición GPS
      • Obtener estadísticas de Rastreo
      • Obtener Visitas a Clientes
      • Integrar Dispositivos de Rastreo a Persat
    • ☑️Formularios Digitales
      • Obtener estructura/esquema de un Formulario
      • Listar estructuras/esquemas de todos los Formularios
      • Obtener formulario
      • Obtener PDF del formulario
      • Tipos de Widgets
        • Campo Texto
        • Campo Párrafo
        • Campo Link
        • Campo Número
        • Campo Fecha
        • Campo Hora
        • Seleccion Simple
        • Lista Desplegable
        • Selección Múltiple
        • Campo Foto (deprecado)
        • Campo Fotos
        • Firma Digital (deprecado)
        • Firma Digital v2
        • Etiquetas
        • Tabla Smart
        • Tabla Master Db
        • Lista de Objetos en Cliente
        • Tabla de Objetos en Cliente
      • Insertar formulario
      • Modificar formulario
      • Modificar estado de formulario
      • Listar historial de estados de un formulario
      • Listar formularios
      • Estados de formulario
        • Obtener estado
        • Listar estados
      • Eventos / Webhooks
        • Formulario Creado
        • Formulario Modificado
        • Formulario estado modificado
        • Formulario estado modificado masivamente
    • 🛠️Órdenes de Trabajo
      • Obtener estructura/esquema de un Tipo de OT
      • Listar estructuras/esquemas de todos los tipos de OTs
      • Administrar Etiquetas
        • Obtener Etiqueta
        • Insertar Etiqueta
        • Modificar Etiqueta
        • Eliminar Etiqueta
        • Listar Etiquetas
      • Obtener OT
        • PENDIENTE sin instrucciones
        • PENDIENTE con instrucciones
        • PROYECTADA sin instrucciones
        • PROYECTADA con instrucciones
        • ASIGNADA
        • INFORME
        • VENCIDA
        • CERRADA_OK
        • CERRADA_CON_DESVIO
        • CERRADA_NO_CUMPLIDA
      • Obtener PDF de la OT
      • Insertar OT
        • Insertar PENDIENTE
        • Insertar PROYECTADA
        • Insertar ASIGNADA
      • Modificar OT
        • Modificar etiquetas
        • Cancelar OT
        • Mover a estado PENDIENTE
      • Listar OTs
      • Obtener link de trackeo
      • Eventos / Webhooks
        • OT creada
        • OT modificada
        • OT finalizada
        • OT cerrada
    • 📦Gestión de Entregas
      • Obtener estructura/esquema de un Tipo de Entrega
      • Listar estructuras/esquemas de todos los tipos de Entregas
      • Administrar Etiquetas
        • Obtener Etiqueta
        • Insertar Etiqueta
        • Modificar Etiqueta
        • Eliminar Etiqueta
        • Listar Etiquetas
      • Obtener entrega
        • Estado PENDING
        • Estado ROUTING
        • Estado ASSIGNED
        • Estado FINISHED
        • Estado FINISHED_WITH_DEVIATION
        • Estado NOT_FINISHED
      • Obtener PDF de entrega
      • Crear entrega
        • Crear Entrega Simple
        • Crear Entrega en Cliente
      • Eliminar entrega
      • Listar Entregas
      • Obtener link de trackeo
      • Eventos / Webhooks
        • Entrega Creada
        • Entrega Finalizada
        • Entrega Eliminada
      • Rutas de Entrega
        • Obtener Ruta
        • Listar Rutas
        • Eventos / Webhooks
          • Ruta Asignada
          • Ruta Modificada
          • Ruta Cancelada
Powered by GitBook
On this page
  • Respuesta
  • Análisis de la respuesta
  1. Modulos
  2. Gestión de Entregas
  3. Rutas de Entrega

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

Name
Type
Description

id*

Number

Identificador de la ruta

Headers

Name
Type
Description

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 
    }
}
{
    "success": false,
    "error": {
        "status": 404,
        "type": "NOT_FOUND",
        "userMessage": "El recurso no existe"
    }
}

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_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 1 year ago

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

📦
Dispositivos