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.