La cotización de un shipping permite obtener el costo de un envío.

Hay tres Endpoints para obtener esta información.


URL base para el entorno de prueba: https://api-dev.moova.io/b2b
URL base para el  entorno Real: https://api-prod.moova.io/b2b


/b2b/v1/budgets

Cotización cuando la direcciones están en una solo string

/b2b/v2/budgets

Cotización cuando la direcciones están divididas en (dirección, número, etc)

/b2b/budgets/estimate

Estimación de cotización basada en código postal. La cotización es un estimado.


La mejor opción es /b2b/v2/budgets cuando tenemos la dirección con datos separados (calle, número, ciudad, etc), en todos los casos se deben pasar como Query Params el appId y en los Headers el Authorization.


Ejemplos de Payloads para cada uno de los casos.

/b2b/v1/budgets 


Query Params

Se requiere que le pasemos como valor el "From" que es la dirección desde donde se envía y el "To" que es a donde se envía ese paquete.


Headers



Parameters del Body

{
"conf": {
"assurance": false,
"backAndForth":false,
"items": [
{
"item": {
"description": "iPhone",
"price": 150,
"weight": 2000,
"length": 20,
"width": 20,
"height": 20
}
}
]
}
}

Response

{
"size_id": 3,
"size_name": "M",
"price": 200,
"billing": {
"net_price": 200,
"taxes": 42,
"gross_price": 242
},
"price_formatted": "$ 200,00",
"currency": "ARS",
"symbol": "$",
"quote_id": 626,
"kms": 2.166,
"budget_id": 8286,
"token": "fd38992f0f915e9f6250a8f05b8f0d40ad25ee03a58ff2ef24a291ff178bfbed"
}
/b2b/v2/budgets - Es el mas recomendado

Se debe pasar todo como Parameters del Body 


Payload

 {
"from": {
"street": "Av. Santa Fe",
"number": "2678",
"floor": "6to",
"apartment": "C",
"city": "Capital Federal",
"state": "Capital Federal",
"postalCode": "1425",
"country": "AR"
},
"to": {
"street": "Cordoba",
"number": "1500",
"floor": "3to",
"apartment": "b",
"city": "Capital Federal",
"state": "Capital Federal",
"postalCode": "1425",
"country": "AR"
},
"conf": {
"assurance": false,
"backAndForth": false
},
"items": [
{
"description": "T-Shirt",
"referenceCode": "AB-1222",
"serialNumber": null,
"weight": 1500,
"length": 40,
"width": 30,
"height": 50,
"price": 2350.99,
"currency": "ARS",
"quantity": 1
}
],
"shipping_type_id": 1
}

Response

{
"size_id": 2,
"size_name": "S",
"price": 200,
"billing": {
"net_price": 200,
"taxes": 42,
"gross_price": 242
},
"price_formatted": "$ 200,00",
"currency": "ARS",
"symbol": "$",
"quote_id": 626,
"kms": 2.166,
"budget_id": 8282,
"token": "6f5dce09fbe1c03bf50fa9bafcf89751ef4aa7bfc675e914fff4f74f1bc3b208"
}
/b2b/budgets/estimate

Se debe pasar todo como Parameters del Body 


Payload

{
"from": {
"placeId": 10,
"street": "Av. Santa Fe",
"number": "2678",
"floor": "6to",
"apartment": "C",
"city": "Capital Federal",
"state": "Capital Federal",
"postalCode": "1425",
"country": "AR"
},
"to": {
"postalCode": "1642",
"country": "AR"
},
"conf": {
"assurance": false,
"backAndForth": false
},
"items": [
{
"description": "T-Shirt",
"referenceCode": "AB-1222",
"serialNumber": null,
"weight": 1500,
"length": 40,
"width": 30,
"height": 50,
"price": 2350.99,
"currency": "ARS",
"quantity": 1
}
],
"shipping_type_id": 1
}

Response

{
"size_id": 1,
"size_name": "XS",
"price": 323.08,
"billing": {
"net_price": 323.08,
"taxes": 67.84679999999999,
"gross_price": 390.92679999999996
},
"price_formatted": "$ 323,08",
"currency": "ARS",
"symbol": "$",
"quote_id": 449,
"budget_id": 8290,
"token": "408394c10938b97a852ba2df00f51a0888fcfe9bd9ae82a7053fc2cb0daf1269".
}

La documentación formal de la API la encontrarás en swagger aquí.                                                                         



Errores por fuera de cobertura


En el caso de que algún cliente quiera la cotización de un envío entre por ejemplo Argentina y China este no será valido debido a que no existe cobertura entre estas áreas, por lo que en caso de que este no sea un error y quieran hacerlo se deberán contactar con un asesor que evaluara de ser o no posible esta acción.