Credenciales de aplicación

Con las siguientes credenciales de aplicación podrá realizar los procesos de autenticación con OAuth y obtener el token de acceso para consumir los servicios disponibles.


Credenciales
Client ID
**************************
Client secret
**************************
User ID
*****

Autenticación

Corresponde a la autenticación que realiza una aplicación con el fin de obtener un token de acceso que usará en el futuro para consumir los diferentes servicios expuestos por Mensajeros Urbanos.


Cómo consumir el servicio
API Endpoint
http://dev.api.mensajerosurbanos.com/oauth/token
Método de consumo
POST
Parámetros header

Content-Type: application/x-www-form-urlencoded
client_id: xxxxxxxxx
client_secret: xxxxxxxxxx

Parámetros post
grant_type: client_credentials
Estado HTTP
200 - OK
Todo funciona como se espera
Respuesta exitosa
                      {
                          "access_token": "d0590dfe87126ba6e8993ade0407307282cb693c"
                          "expires_in": 3600
                          "token_type": "Bearer"
                          "scope": null
                      }
                    
400 - Bad Request
Si no se envía el parámetro grant_type por post
Posibles errores
                      {
                          "error": "invalid_request",
                          "error_description": "The grant type was not specified in the request"
                      }
                    
Si el grant_type enviado no es válido
                    {
                        "error": "unsupported_grant_type",
                        "error_description": "Grant type \"xxxxxx\" not supported"
                    }
                  
Si no se envían las credenciales en el header
                    {
                        "error": "invalid_client",
                        "error_description": "client credentials are required"
                    }
                  
Si las credenciales enviadas son inválidas
                    {
                        "error": "invalid_client",
                        "error_description": "The client credentials are invalid"
                    }
                  

Servicios

Calcular el valor de un servicio

Corresponde al cálculo que se realiza teniendo en cuenta todas las variables que involucra un servicio determinado (Ciudad, recargos, distancia, descuentos, etc.)


Cómo consumir el servicio
API Endpoint
http://dev.api.mensajerosurbanos.com/delivery/calculation
Método de consumo
POST
Parámetros header

Content-Type: application/json
access_token: XXXXXX

Atributos
Nombre
Tipo
Descripción
id_user
Entero
ID de usuario
type_service
Entero
Tipo de servicio
roundtrip
Entero
Ida y vuelta
1 = Si, 0 = No
city
Entero
Ciudad
1=Bogotá, 2=Cali, 3=Medellín, 4=Barranquilla
coordinates type
Entero
0=Recogida, 1=Entrega
coordinates id_point
Entero
Id del punto
Parámetros post-body raw
                          {
                              "id_user": XXXX,//ID de usuario
                              "type_service": 4, //Tipo de servicio
                              "roundtrip": 1, //Ida y vuelta 1=si; 0:No
                              "city":1,//1->Bogotá 2->Cali 3->Medellín 4->Barranquilla 5-Villavicencio
                              "coordinates": [
                                  {
                                      "type": "0",//0->Recogida,1->Entrega
                                      "id_point": "1",//Id del  punto
                                      "lng": "-74.050461658",
                                      "lat": "4.6762105880001",
                                      "address": "cra 14b 112 45",
                                      "city":"bogota",
                                  }, {
                                      "type": "1",
                                      "address": "cra 15 127 ",
                                      "city":"bogota",
                                  }
                              ]
                          }
                        
Estado HTTP
200 - OK
Todo funciona como se espera
Respuesta exitosa
                      {
                          "version": "v1",
                          "status": "success",
                          "status_code": 200,
                          "message": "success",
                          "href": "http://dev.api.mensajerosurbanos.com/delivery/calculation",
                          "data": {
                              "base_value": 2900, //Valor base
                              "distance_surcharge": 1000, //recargo distancia
                              "surcharge_stops": 0, //Recargo paradas
                              "roundtrip_surcharge": 1000, //Recargo Ida y vuelta
                              "total_service": 4900, //Valor total del servicio
                              "total_distance": 3, //Distancia total
                              "total_surcharge": 2000, //Total Recargos
                              "stops": 1, //Número de paradas
                              "add_distancia": 1, //distancia Adicional
                              "surcharge_KM": 1000, //Valor KM adicional
                              "roundtrip": 1 //Ida y vuelta 1=si; 0:No
                        }
                    }
                    
400 - Bad Request
Si alguno de los campos necesarios para hacer el cálculo no se envía se responde de la siguiente manera:
                  {
                      "version": "v1",
                      "status": "error",
                      "status_code": 400,
                      "message": "[type_service] The property type_service is required\n",
                      "href": "http://dev.api.mensajerosurbanos.com/delivery/calculation"
                  }
                  

Crear servicio

Corresponde a la funcionalidad encargada de crear el servicio de un cliente en la plataforma de Mensajeros Urbanos


Cómo consumir el servicio
API Endpoint
http://dev.api.mensajerosurbanos.com/delivery/create
Método de consumo
POST
Parámetros header

Content-Type: application/json
access_token: XXXXXX

Atributos
Nombre
Tipo
Descripción
id_user
Entero
ID de usuario
type_service
Entero
Tipo de servicio
roundtrip
Entero
Ida y vuelta
1 = Si, 0 = No
city
Entero
Ciudad
1=Bogotá, 2=Cali, 3=Medellín, 4=Barranquilla
coordinates type
Entero
0=Recogida, 1=Entrega
start_date
String
Fecha de inicio
start_time
String
Hora de inicio
user_payment_type
String
Tipo de pago
1=EFECTIVO, 2=DATAFONO, 3=ONLINE
type_task_cargo_id
Entero
Tipo de sevicio
2=Normal
coordinates type
Entero
0=Recogida, 1=Entrega
coordinates id_point
Entero
Id del punto
coordinates address
String
Dirección
coordinates city
String
Ciudad
coordinates order_id
Entero
Id del pedido
coordinates description
Entero
Descripción
coordinates client_data
Objeto
Datos del cliente final
coordinates client_data products_value
Entero
Valor Compra
coordinates client_data domicile_value
Entero
Valor domicilio a cobrar
coordinates client_data payment_type
Entero
Tipo de pago
Parámetros post-body raw
                            {
                               "id_user": XXXX,//ID de usuario
                               "type_service": 4, //Tipo de servicio
                               "roundtrip": 1, //Ida y vuelta 1=si; 0:No
                               "declared_value": 10000, //Valor declarado
                               "city":1,//1->Bogotá 2->Cali 3->Medellín 4->Barranquilla 5-Villavicencio
                               "start_date": "2016-01-10", //Fecha Inicio
                               "start_time": "06:00:00",//Hora Inicio
                               "user_payment_type":1, //1:EFECTIVO,2:DATAFONO;3:ONLINE
                               "type_segmentation":1,
                               "type_task_cargo_id":2,,//Tipo de sevicio, 2->Normal
                                "observation":"Lorem Ipson dalarm",
                                "coordinates": [
                                    {
                                        "type": "0",//0->Recogida,1->Entrega
                                        "id_point": "1",//Id del  punto
                                        "address": "cra 14b 112 45",//Dirección
                                        "city":"bogota",//Ciudad
                                        "order_id":34344 //Id de pedido
                                        "description": "Punto de recogida 1"//Descripción
                                    },{
                                        "type": "1",//0->Recogida,1->Entrega
                                        "address": "cra 15 127 ",//Dirección
                                        "city":"bogota",//Ciudad
                                        "order_id":34344 //Id de pedido
                                        "description": "Punto de entrega",//Descripción
                                        "client_data": {///Datos cliente Final
                                            "client_name": "Jhonnatan Acosta",
                                            "client_phone": "3214567890",
                                            "client_document":"989839",
                                            "client_email": "chato@mensajeros.com",
                                            "products_value": 8700,///Valor Compra
                                            "domicile_value": 1300,///Valor Domicilio a cobrar
                                            "payment_type": 1///Tipo de pago,
                                       },
                                        "products": [///Productos a Comprar
                                            {
                                                "sku": "001",
                                                "product_name": "Producto 1",
                                                "url_img": "http://dominiocliente.com/img1.png",
                                                "value": 2500,
                                                "quantity": 5,
                                                "id_point": 1///Id de punto de Compra(id_point punto)
                                            },
                                            {
                                                "sku": "002",
                                                "product_name": "Producto 2",
                                                "url_img": "http://dominiocliente.com/img2.png",
                                                "value": 5000,
                                                "quantity": 1,
                                                "id_point": 1
                                            },
                                            {
                                                "sku": "003",
                                                "product_name": "Producto 3",
                                                "urm_img": "http://dominiocliente.com/img3.png",
                                                "value": 1200,
                                                "quantity": 3,
                                                "id_point": 2
                                            }
                                        ]
                                    }
                                ]
                            }
                          
Estado HTTP
200 - OK
Respuesta exitosa
Respuesta exitosa
                      {
                          "version": "v1",
                          "status": "success",
                          "status_code": 200,
                          "message": "success",
                          "href": "http://52.35.185.13/mu_phalcon_api/delivery/create",
                          "data": {
                              "uuid": "576ab8b5e32dd",//Id del servicio
                              "status": 2,
                              "total": 6900,/Valor servicio
                              "date": "2016-06-22 11:11:33",//Fecha de Creacion
                              "distance": 3//Distancia Total
                          }
                      }
                    

Servicios Activos

Corresponde al listado de servicios que se encuentran creados en la plataforma deMensajeros Urbanos.

Dentro de los parámetros se encuentra “type”, Si esta opción se coloca en 1, se listan losservicios Creados,En espera,Asignados y En proceso. Si la opción “type” se coloca en 2, selistan los finalizados o cancelados.


Cómo consumir el servicio
API Endpoint
http://dev.api.mensajerosurbanos.com/tasksP
Método de consumo
POST
Parámetros header

Content-Type: application/json
access_token: XXXXXX

Atributos
Nombre
Tipo
Descripción
id_user
Entero
ID de usuario
type
Entero
1 = Activos, 2 = Finalizados o Cancelados
page
Entero
Número de página
Parámetros post-body raw
                            {
                                "id_user":xxxx, //ID de Usuario   
                                "type":1, //1=Activos, 2 =Finalizados o Cancelados
                                "page": 1 //Numero de pagina
                            }
                          
Estado HTTP
200 - OK
Todo funciona como se espera
Respuesta exitosa
                            {
                                "version": "v1",
                                "status": "success",
                                "status_code": 200,
                                "message": "OK",
                                "href": "http://dev.api.mensajerosurbanos.com/tasksP",
                                "data": {
                                    "total_pages": 1, //Numero de paginas
                                    "result": [ //Datos de los servicios
                                        {
                                            "task_id": 46556,
                                            "type_task_id": 1,
                                            "start_date": "2017-02-03",
                                            "start_time": "11:43:02",
                                            "type_task": "Express",
                                            "date_created": "2017-02-03",
                                            "total_value": 33400,
                                            "city_id": 1,
                                            "city": "Bogotá DC",
                                            "status_payout_id": 3,
                                            "status_payout": "Pospago",
                                            "uuid": "5894b316a7600",
                                            "distance": 34,
                                            "status_id": 1,
                                            "status": "Creada",
                                            "address": [
                                                {
                                                    "address": "KR 13A # 93 - 30",
                                                    "address_": "KR 13A # 93 - 30 ",
                                                    "descripcion": "Descripción de la dirección",
                                                    "lat": 4.6761935890001,
                                                    "log": -74.050346831,
                                                    "status": 0
                                                },
                                                {
                                                    "address": " CL 38C S # 0 - 4 ",
                                                    "address_": "CL 38C S # 0 - 4 ",
                                                    "descripcion": "Esta es la segunda direccion",
                                                    "lat": 4.5525553165124,
                                                    "log": -74.09731919052,
                                                    "status": 0
                                                },
                                                {
                                                    "address": "KR 13A # 93 - 30",
                                                    "address_": "KR 13A # 93 - 30 ",
                                                    "descripcion": "Descripción de la dirección",
                                                    "lat": 4.6761935890001,
                                                    "log": -74.050346831,
                                                    "status": 0
                                                }
                                            ],
                                            "history": [
                                                {
                                                    "status_id": "1",
                                                    "status": "Creada",
                                                    "date": "2017-02-03 11:43:02"
                                                }
                                            ],
                                            "invoice": false
                                        }
                                    ]
                                }
                            }
                        

Detalle de un servicio

Endpoint que muestra la información detallada de un servicio específico


Cómo consumir el servicio
API Endpoint
http://dev.api.mensajerosurbanos.com/task
Método de consumo
POST
Parámetros header

Content-Type: application/json
access_token: XXXXXX

Atributos
Nombre
Tipo
Descripción
id_user
Entero
ID de usuario
task_id
Entero
Id del servicio
Parámetros post-body raw
                                    {
                                        "id_user":xxxx,
                                        "task_id":xxxx
                                    }
                                
Estado HTTP
200 - OK
Todo funciona como se espera
Respuesta exitosa
                            {
                                "version": "v1",
                                "status": "success",
                                "status_code": 200,
                                "message": "OK",
                                "href": "http://dev.api.mensajerosurbanos.com/task",
                                "data": {
                                    "task_id": 28852,
                                    "type_task_id": 4,
                                    "type_task": "Domicilios",
                                    "date_created": "2016-02-24",
                                    "total_value": 9000,
                                    "city_id": 1,
                                    "city": "Bogotá DC",
                                    "status_payout_id": 3,
                                    "status_payout": "Pospago",
                                    "uuid": "56ce313b3235d",
                                    "status_id": 6,
                                    "status": "Cancelado",
                                    "address": [
                                        {
                                            "address": "Calle 134 # 57-20",
                                            "descripcion": null,
                                            "lat": "4.7236427347802",
                                            "log": "-74.064627953948"
                                        },
                                        {
                                            "address": "Carrera 20a #188a-25",
                                            "descripcion": null,
                                            "lat": "4.7666519512498",
                                            "log": "-74.041732488689"
                                        },
                                        {
                                            "address": "Calle 134 # 57-20",
                                            "descripcion": null,
                                            "lat": "4.7236427347802",
                                            "log": "-74.064627953948"
                                        }
                                    ],
                                    "history": [
                                        {
                                            "status_id": "2",
                                            "status": "En espera",
                                            "date": "2015-12-11 15:46:23"
                                        },
                                        {
                                            "status_id": "3",
                                            "status": "Asignada",
                                            "date": "2015-12-11 15:46:35"
                                        },
                                        {
                                            "status_id": "4",
                                            "status": "En Proceso",
                                            "date": "2015-12-11 15:46:39"
                                        },
                                        {
                                            "status_id": "4",
                                            "status": "En Proceso",
                                            "date": "2015-12-11 15:53:52"
                                        },
                                        {
                                            "status_id": "4",
                                            "status": "En Proceso",
                                            "date": "2015-12-11 16:07:55"
                                        },
                                        {
                                            "status_id": "4",
                                            "status": "En Proceso",
                                            "date": "2015-12-11 16:13:40"
                                        },
                                        {
                                            "status_id": "4",
                                            "status": "En Proceso",
                                            "date": "2015-12-11 16:22:23"
                                        },
                                        {
                                            "status_id": "4",
                                            "status": "En Proceso",
                                            "date": "2015-12-11 16:22:25"
                                        },
                                        {
                                            "status_id": "5",
                                            "status": "Finalizada",
                                            "date": "2015-12-11 16:22:25"
                                        }
                                    ]
                                 }
                            }
                            

Url de seguimiento

Corresponde a EndPoint que alimentamos por parte de cliente para hacer seguimiento de servicio. En esta el “Aliado”,nos da una URL donde podamos enviar el cambio de estado de cada servicio.


Cómo consumir el servicio
API Endpoint
URL Asignada el ALIADO
Método de consumo
POST
Parámetros post-body raw
                                        {
                                            "token": "ASX4DSAD3EGQSAS", //Token de seguridad
                                            "date": "2016 - 12 - 12 10: 22: 03", //Fecha de envío
                                            "details": {
                                                "uuid": "54683902", //UUID del servicio
                                                "mensajero": "Jhonnatan DEV", //Nombre del mensajero
                                                "status": "create", //Nombre de estado
                                                "status_id": 1, //Id de estado
                                                "phone": 300600000, //Teléfono del mensajero
                                                "num_place": 4543, //Id de parada
                                                "status_place": 1, //estado de la parada
                                                "url": "localhost" //Url de seguimiento
                                            }
                                         }
                                    

Respuestas

Pasa a espera
                                {
                                    "token": "ASX4DSAD3EGQSAS",
                                    "date": "2016 - 12 - 12 10: 22: 03",
                                    "details": {
                                        "uuid": "54683902",
                                        "mensajero": "",
                                        "status": "on_hold", //Nombre de estado
                                        "status_id": 2,
                                        "phone": 0,
                                        "num_place":0,
                                        "status_place": 0,
                                        "url":NULL
                                    }
                                }
                            

Mensajero asignado
                                {
                                    "token": "ASX4DSAD3EGQSAS",
                                    "date": "2016 - 12 - 12 10: 22: 03",
                                    "details": {
                                        "uuid": "54683902",
                                        "mensajero": "Jhonnatan DEV",
                                        "status": "assigned", //Nombre de estado
                                        "status_id": 3,
                                        "phone": 300600000,
                                        "num_place":NULL,
                                        "status_place": NULL,
                                        "url":
                                        "dev.front.mentajerosurbanos.com/track-service-external#?uuid=54683902"
                                    }
                                }
                            

Mensajero llega a una parada
                                {
                                    "token": "ASX4DSAD3EGQSAS",
                                    "date": "2016 - 12 - 12 10: 22: 03",
                                    "details": {
                                        "uuid": "54683902",
                                        "mensajero": "Jhonnatan DEV",
                                        "status": "in_progress",
                                        "status_id": 4,
                                        "phone": 300600000,
                                        "num_place":18342,
                                        "status_place": 1,
                                        "url":
                                        "dev.front.mentajerosurbanos.com/track-service-external#?uuid=54683902"
                                    }
                                 }
                            

Finalizan el servicio
                                {
                                    "token": "ASX4DSAD3EGQSAS",
                                    "date": "2016 - 12 - 12 10: 22: 03",
                                    "details": {
                                        "uuid": "54683902",
                                        "mensajero": "Jhonnatan DEV",
                                        "status": "finished",
                                        "status_id": 5,
                                        "phone": 300600000,
                                        "num_place":0,
                                        "status_place": 0,
                                        "url":
                                        "dev.front.mentajerosurbanos.com/track-service-external#?uuid=54683902"
                                    }
                                 }
                            

Cancelación del servicio
                                {
                                    "token": "ASX4DSAD3EGQSAS",
                                    "date": "2016 - 12 - 12 10: 22: 03",
                                    "details": {
                                        "uuid": "54683902",
                                        "mensajero": "",
                                        "status": "cancel", //Nombre de estado
                                        "status_id": 6,
                                        "phone": 0,
                                        "num_place":0,
                                        "status_place": 0,
                                        "url":NULL
                                    }
                                }