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
sourceLocation
ysource_address
juntos - Opción 3: Usar
location_id
(retrocompatibilidad) - ⚠️ No se pueden combinar:
source_location_id
consourceLocation
osource_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
destinationLocation
ydestination_address
juntos - ⚠️ No se pueden combinar:
destination_location_id
condestinationLocation
odestination_address
, en caso de hacerlo se usará el valor de destination_location_id
Para múltiples paradas:
- Cuando
is_multi_stop
estrue
, se debe incluir el arrayroutes
- Cada elemento en
routes
debe 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