Esta api le permite conocer el estado de las órdenes que ha creado en el sistema Tms de Liftit
Información Técnica
Arquitectura: API RESTful
Método: GET
Ambientes:
Pruebas: https://tracking-api-staging-4fthwe2byq-ue.a.run.app/api/v1/order
Producción: https://tracking-api.liftit.co/api/v1/order
Parámetros requeridos:
Cual se realicé el llamado para consultar la información de tracking de una orden debe enviar uno de los siguientes parámetros.
order_number: identificador único y principal de la orden creada en el sistema de Liftit
uuid: identificador de seguimiento único generado por Liftit
Autorización:
Se debe enviar por medio del campo Authorization en los headers de la solicitud
Encabezados requeridos:
Content-Type: application/json;charset=utf-8
Como se menciona en la información técnica el llamado debe ser de tipo GET, debe contener los parámetros requeridos y adicional enviar el header de autorización. Siguiente ese orden un ejemplo usando cURL seria el siguiente:
curl --location 'https://tracking-api-staging-4fthwe2byq-ue.a.run.app/api/v1/order?order_number=order_001' \
--header 'Content-Type: application/json;charset=utf-8' \
--header 'Authorization: YOUR_API_KEY'
La siguiente es la descripción de la información retornada por la api.
Eventos:
El evento representa el estado de la orden y puede contener los siguientes valores. Actualmente esta información es retornada en el campo event
in_warehouse: Indica que la orden se encuentra en el centro de distribución
driver_assigned: Indica que la orden ya tiene un conductor asignado.
in_transit: Indica que la orden está en proceso de entrega.
in_place: Indica que el conductor llego al sitio de entrega.
delivered: Indica que la orden fue entregada sin novedades.
returned: Indica que la orden tuvo una novedad y se devolvió al centro de distribución.
reprogrammed: Indica que la entrega se reprogramó y se realizará un nuevo intento de entrega durante el mismo día en otro rango horario.
cancelled: Indica que la entrega se canceló.
El siguiente JSON representa la información devuelta por la api al realizar una consulta y su respuesta ser exitosa.
Código http: 200
En el primero nivel del JSON se devolverá la información general con respecto a la ruta, conductor y tiempos de entrega de la orden.
current_state: Se devolverá la información del estado actual de la orden.
client: Se devolverá la información relacionada con el cliente que recibirá la orden.
events: Se devolverán todos los estados, por los que ha pasado la orden de forma ascendente.
JSON:
{
"service_id": 97223,
"order_number": "17092020022",
"uuid": "OA0580F4AA55CBE78L",
"href": "https://qa-tracking.liftit-sandbox.com/s?org=1220&order=17092020022",
"plate": "MCR123",
"driver_name": "Maria Claudia Ramirez",
"eta_time": "2022-07-08T12:12:23.785616-05:00",
"eta_time_from": "2022-07-08T11:10:00-05:00",
"eta_time_to": "2022-07-08T13:10:00-05:00",
"address": "CRA 87C 66A 03 Sur",
"address_extra": "casa negra",
"current_state": {
"event": "returned",
"title": "Devolución",
"description": "Tu producto se ha marcado como devuelto.",
"timestamp": "2022-07-08T11:19:35.135406-05:00",
"location": {
"lng": -74.8679395,
"lat": 4.156768
},
"cause": {
"id": 3,
"name": "Mercancía incompleta"
},
"attachments": [
"https://operators-app-qa.s3.amazonaws.com/entregas/7a87a6261df94405a24883cc59c168ed.jpg"
]
},
"client": {
"name": "Triana Lopez, Hugo Alfonso",
"phone": "3101234567",
"email": "correo@liftit.co"
},
"events": [
{
"event": "in_warehouse",
"title": "Producto en bodega",
"description": "Tu producto está listo para ser despachado, pronto le asignaremos un conductor.",
"timestamp": "2022-07-08T11:14:50.107815-05:00",
"location": {
"lng": -74.0460912,
"lat": 4.683019
},
"cause": null,
"attachments": null
},
{
"event": "driver_assigned",
"title": "Transportador asignado",
"description": "Tu pedido ya tiene un conductor asignado que lo llevará hasta tu ubicación",
"timestamp": "2022-07-08T11:14:51.030479-05:00",
"location": {
"lng": -74.0637131,
"lat": 4.6128578
},
"cause": null,
"attachments": null
},
{
"event": "in_transit",
"title": "En tránsito",
"description": "Tu producto está en camino hacia ti. Puedes ver la ruta en el mapa.",
"timestamp": "2022-07-08T11:18:28.933309-05:00",
"location": null,
"cause": null,
"attachments": null
},
{
"event": "in_place",
"title": "En el sitio de entrega",
"description": "El conductor está esperando para entregar",
"timestamp": "2022-07-08T11:18:36.444825-05:00",
"location": {
"lng": -74.8679395,
"lat": 4.156768
},
"cause": null,
"attachments": null
},
{
"event": "returned",
"title": "Devolución",
"description": "Tu producto se ha marcado como devuelto.",
"timestamp": "2022-07-08T11:19:35.135406-05:00",
"location": {
"lng": -74.8679395,
"lat": 4.156768
},
"cause": {
"id": 3,
"name": "Mercancía incompleta"
},
"attachments": [
"https://operators-app-qa.s3.amazonaws.com/entregas/7a87a6261df94405a24883cc59c168ed.jpg"
]
}
]
}
En caso de un error de autenticación recibirá lo siguiente:
Código http: 401
JSON:
{
"detail": "Invalid security token"
}
En caso de un error de validación recibirá un mensaje como el siguiente:
Código http: 400
JSON:
{
"error": "No parameters were found to look for the order, use either 'uuid' or order_number"
}
En caso de una orden no existente en el sistema de Liftit. Recibirá el siguiente mensaje:
Código http: 404
JSON:
null