Rates API
Show customers their shipping cost before they buy. Get quotes based on destination and package size - the same prices you'd see in your panel.
Get a shipping quote
Get prices for all available services based on where you're shipping and package size.
Request Body
- Name
sender_locality_id- Type
- integer
- Description
ID of the sender's locality. Required.
- Name
recipient_locality_id- Type
- integer
- Description
ID of the recipient's locality. Required.
- Name
weight- Type
- number
- Description
Package weight in kilograms. Required.
- Name
height- Type
- number
- Description
Package height in centimeters. Required.
- Name
width- Type
- number
- Description
Package width in centimeters. Required.
- Name
length- Type
- number
- Description
Package length in centimeters. Required.
- Name
service_id- Type
- integer
- Description
Specific service ID to quote. If omitted, returns quotes for all available services.
Response Fields
- Name
quotes- Type
- array
- Description
Array of available service quotes.
- Name
volumetric_weight- Type
- number
- Description
Calculated volumetric weight based on dimensions.
- Name
billable_weight- Type
- number
- Description
Weight used for billing (higher of actual or volumetric).
Prices are returned in the currency configured for your account. The quote is valid for the current date and may change based on route availability.
curl -X POST https://api.4nortes.app/api/v1/orders/quote \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{
"sender_locality_id": 1,
"recipient_locality_id": 45,
"weight": 2.5,
"height": 10,
"width": 20,
"length": 30
}'
Response
{
"success": true,
"message": "Quote generated successfully",
"data": {
"quotes": [
{
"service_id": 1,
"service_name": "NextDay Express",
"service_code": "EXPRESS",
"price": 0,
"currency": "CLP",
"estimated_delivery": "2025-02-04",
"estimated_days": 1
},
{
"service_id": 2,
"service_name": "NextDay Standard",
"service_code": "STANDARD",
"price": 0,
"currency": "CLP",
"estimated_delivery": "2025-02-05",
"estimated_days": 2
},
{
"service_id": 3,
"service_name": "NextDay Economy",
"service_code": "ECONOMY",
"price": 0,
"currency": "CLP",
"estimated_delivery": "2025-02-06",
"estimated_days": 3
}
],
"package": {
"actual_weight": 2.5,
"volumetric_weight": 1.2,
"billable_weight": 2.5,
"dimensions": "10x20x30 cm"
}
},
"timestamp": "2025-02-03T10:00:00.000000Z"
}
Error - No service available
{
"success": false,
"message": "No services available for this route",
"errors": {
"route": ["The specified route is not currently serviced"]
}
}
How pricing works
Volumetric weight
We calculate volumetric weight based on package size:
Volumetric Weight (kg) = (Height × Width × Length) / 5000
Where dimensions are in centimeters.
What you're charged for
You're billed for whichever is higher:
- The actual weight
- The volumetric weight
This way, light but bulky packages are priced fairly.
Example
For a package with:
- Actual weight: 2.5 kg
- Dimensions: 40 × 30 × 20 cm
Volumetric Weight = (40 × 30 × 20) / 5000 = 4.8 kg
Billable Weight = max(2.5, 4.8) = 4.8 kg
Quotes are estimates. Final price may change if the package dimensions differ at pickup.