Cotizar envíos
Descripción General
Esta API permite obtener estimaciones de tarifas para envíos a través de Ridery, basado en la ubicación de origen y destino. Antes de poder crear un envío es necesario crear una cotización
Endpoint
URL: baseURL/V2/corporate-api-partner/get-fare-estimates-shipments
Método: POST
Solicitud
Cuerpo de la Solicitud (con coordenadas)
bash
{
"sourceLocation": [
10.4346014,
-66.862743
],
"destinationLocation": [
10.4970614,
-66.8879179
],
"source_address": "Este es el inicio de la ruta",
"destination_address": "Esta es la direccion final de la ruta"
}Cuerpo de la Solicitud (con location_id origen)
bash
{
"source_location_id": "x1",
"destinationLocation": [
10.4970614,
-66.8879179
],
"destination_address": "Esta es la direccion final de la ruta"
}Cuerpo de la Solicitud (con location_id destino)
bash
{
"sourceLocation": [
10.4346014,
-66.862743
],
"source_address": "Este es el inicio de la ruta",
"destination_location_id": "x2"
}Cuerpo de la Solicitud (con ambos location_id)
bash
{
"source_location_id": "x1",
"destination_location_id": "x2"
}Cuerpo de la Solicitud (con paradas múltiples)
bash
{
"sourceLocation": [
10.4346014,
-66.862743
],
"source_address": "Este es el inicio de la ruta",
"destinationLocation": [
10.4970614,
-66.8879179
],
"destination_address": "Esta es la direccion final de la ruta",
"is_multi_stop": true,
"routes": [
{
"order_index": 1,
"destinationLocation": [10.4870614, -66.8779179],
"destination_address": "Primera parada"
},
{
"order_index": 2,
"destinationLocation": [10.4970614, -66.8879179],
"destination_address": "Segunda parada"
}
]
}Cuerpo de la Solicitud (retrocompatibilidad con location_id)
bash
{
"location_id": "x1",
"destinationLocation": [
10.4970614,
-66.8879179
],
"destination_address": "Esta es la direccion final de la ruta"
}Descripción de los Campos
| Campo | Descripción | Tipo | Requerido/Opcional |
|---|---|---|---|
| sourceLocation | Coordenadas de la ubicación de origen [latitud, longitud] | Array (float) | Condicional (ver validaciones) |
| destinationLocation | Coordenadas de la ubicación de destino [latitud, longitud] | Array (float) | Condicional (ver validaciones) |
| source_address | Dirección de inicio de la ruta | String | Condicional (ver validaciones) |
| destination_address | Dirección final de la ruta | String | Condicional (ver validaciones) |
| source_location_id | ID único de locación de origen configurada por administrador | String (1-50) | Opcional |
| destination_location_id | ID único de locación de destino configurada por administrador | String (1-50) | Opcional |
| location_id | ID único de locación de origen (retrocompatibilidad) | String (1-50) | Opcional |
| is_multi_stop | Indica si el viaje tiene múltiples paradas | Boolean | Opcional |
| routes | Array de paradas para viajes con múltiples destinos | Array (Object) | Opcional |
Validaciones de Campos
Para el origen:
- Opción 1: Usar
source_location_idúnicamente - Opción 2: Usar
sourceLocationysource_addressjuntos - Opción 3: Usar
location_id(retrocompatibilidad) - ⚠️ No se pueden combinar:
source_location_idconsourceLocationosource_address, en caso de hacerlo se usará el valor de source_location_id o location_id
Para el destino:
- Opción 1: Usar
destination_location_idúnicamente - Opción 2: Usar
destinationLocationydestination_addressjuntos - ⚠️ No se pueden combinar:
destination_location_idcondestinationLocationodestination_address, en caso de hacerlo se usará el valor de destination_location_id
Para múltiples paradas:
- Cuando
is_multi_stopestrue, se debe incluir el arrayroutes - Cada elemento en
routesdebe tener:order_index: Número entero que indica el orden de la paradadestinationLocation: Coordenadas [latitud, longitud]destination_address: Dirección de texto de la paradasource_location_id(opcional): ID único de locación de origendestination_location_id(opcional): ID único de locación de destino
Respuesta
Ejemplo de Respuesta Exitosa
bash
{
"success": true,
"code": "00",
"msg": "ok",
"data": {
"fares": {
"corporate_wallet_amount": 35123.33,
"time": 22.74,
"distance": 17.7822,
"city_types": [
{
"city_type_id": "62bf1af16b60baf9ac4c27e3",
"typename": "Envíos Moto",
"fare": 10.37,
"max_package_depth": 20,
"max_package_height": 15,
"max_package_weight": 5,
"max_package_width": 10,
"routes": [
{
"order_index": 1,
"destination_address": "C.C. Concresa, Avenida Río Caura, Caracas, Miranda, Venezuela",
"destinationLocation": [
10.4519201,
-66.8726628
],
"source_address": "Calle A. Aveledo Norte, Caracas 1080, Miranda, Venezuela",
"sourceLocation": [
10.434884940170194,
-66.8604154288465
],
"distanceTime": {
"distance": 5.5035,
"duration": 7.225
},
"cityOrigin": {
"_id": "6020ec4e01a03b0612ffa8f8"
},
"cityDestination": {
"_id": "6020ec4e01a03b0612ffa8f8"
},
"fare": 1
},
{
"order_index": 2,
"destination_address": "test_concresa-CC Concresa | C.C. Concresa, Avenida Río Caura, Caracas, Miranda, Venezuela",
"source_address": "C.C. Concresa, Avenida Río Caura, Caracas, Miranda, Venezuela",
"sourceLocation": [
10.4519201,
-66.8726628
],
"destination_location_id": "test_concresa",
"destinationLocation": [
10.4757083,
-66.8074577
],
"destination_location_name": "CC Concresa",
"api_partner_destination_location_name": "CC Concresa",
"distanceTime": {
"distance": 12.2787,
"duration": 15.514999999999999
},
"cityOrigin": {
"_id": "6020ec4e01a03b0612ffa8f8"
},
"cityDestination": {
"_id": "6020ec4e01a03b0612ffa8f8"
},
"fare": 9.37
}
]
}
],
"fare_id": "68a341c69d8363d3183c6b5b"
}
}
}Descripción de los Campos de la Respuesta
| Campo | Descripción | Tipo |
|---|---|---|
| success | Indica si la solicitud fue exitosa | Boolean |
| code | Código de estado de la respuesta | String |
| msg | Mensaje de la respuesta | String |
| data | Datos de la respuesta | Object |
| fares | Información de tarifas | Object |
| corporate_wallet_amount | Monto disponible en el balance corporativo | Number |
| time | Tiempo estimado de viaje en minutos | Number |
| distance | Distancia estimada del viaje en kilómetros | Number |
| city_types | Lista de tipos de ciudad con sus tarifas y restricciones | Array (Object) |
| city_type_id | ID del servicio | String |
| typename | Nombre del servicio | String |
| fare | Tarifa del servicio | Number |
| max_package_depth | Profundidad máxima del paquete en cm | Number |
| max_package_height | Altura máxima del paquete en cm | Number |
| max_package_weight | Peso máximo del paquete en kg | Number |
| max_package_width | Ancho máximo del paquete en cm | Number |
| fare_id | ID de la tarifa generada. Este ID se utiliza para crear un viaje | String |
TIP
Esta cotización tiene una expiración de 7 días calendario a partir de una respuesta exitosa del servidor.
TIP
Esta puede ser reutilizada si no se ubica conductor en el primer request