Shipping cost calculations
Transport Calculator API Documentation
Welcome to the documentation for the Transport Calculator API. This service computes logistics options for orders, providing data on available warehouses, eligible carriers, palletization details, and precise shipping costs.
General Information
-
Base URL:
https://logistics.solsol.cz -
Version:
1.0.0 -
Protocol:
HTTPS
Authentication
This API uses Bearer Token authentication. Include the token in your request header:
Endpoints
Post: Calculate Transport Costs
POST /api/calculate
Computes the most efficient shipping methods, warehouse availability, and estimated delivery dates based on the provided items and destination.
Request Body
The request must be sent as application/json.
1. Required Objects
| Parameter | Type | Required | Description |
delivery |
object |
Yes | Address object containing country, city, street, and zip. |
Items |
array |
Yes | List of objects containing plu (Product ID) and amount. |
2. Configuration & Logistics Parameters
| Parameter | Type | Required | Description |
order_id |
string |
No | Your internal order reference. |
pricing_list |
string |
No | Pricing tier for margin calculation (e.g., VIP). |
off_stock_included |
boolean |
No | If true, includes items not currently in stock. |
best_price |
boolean |
No | If true, returns only the cheapest carrier per warehouse. |
multi_warehouse |
boolean |
No | If true, evaluates all warehouses rather than just the nearest. |
warehouse_code |
string |
No | Force calculation from a specific warehouse code. |
sort_by |
string |
No | Sort results by price or time. |
3. Scheduling & Sorting
| Parameter | Type | Required | Format | Description |
desired_delivery_date |
date |
No | YYYY-MM-DD |
Nullable. The date the customer prefers delivery. |
dispatch_datetime |
datetime |
No |
|
Nullable. Planned date and time of dispatch. |
sort_by |
string |
No | price |
Sort results by price or time. |
sort_order |
string |
No | ASC |
Sort direction: ASC (Ascending) or DESC (Descending). |
Example RequestRequest:
{
"delivery": {
"country": "CZ",
"city": "Liberec",
"street": "Košická 13",
"zip": "46001"
},
"Items": [
{ "plu": "104661", "amount": 52 },
{ "plu": "417021", "amount": 75 }
],
"order_id": "ORD-2026-X",
"pricing_list": "VIP",
"off_stock_included": true,
"best_price": true,
"desired_delivery_date": "2026-05-20",
"dispatch_datetime": "2026-05-18T08:00:00Z",
"warehouse_code": null,
"carrier_code": null,
"multi_warehouse": truefalse,
"sort_by": "price",
"sort_order": "ASC"
}
Response Structure
Success (200 OK)
The
response returns a breakdown of physical shipping properties and available logistics routes.
Payload1. Overview:
normal_weight: Total weight of the shipment in kg.paletts_count: Total number of pallets required.paletts: Array detailing the dimensions and contents of every individual pallet.warehouses: List of locations capable of fulfilling the order.
WarehouseRoot Object Details:
distance: Distance from warehouse to destination in km.couriers: List of available shipping services, includingprice(net) andprice_solsol(gross/final).
Error Codes
| Description | |||
|
Operation success, error). |
||
|
Total |
||
volume |
Float | Total volume of the shipment in |
|
paletts_count |
Integer | Total number of pallets generated for the shipment. | |
paletts |
Array | Detailed breakdown of each pallet's contents and dimensions. | |
warehouses |
Array | List of warehouses capable of fulfilling the order. |
Data
2.
Pallet Object
Field
Type
Description
dimensions
Object
Length, width and height, in meters.
weight
Float
Individual pallet weight including packaging.
Organizesitems
how
Array
List of items areplaced distributedon acrossthis physicalspecific transport units.pallet.
3. Warehouse & Courier Object
Field
Type
Description
JSONdistance
String
Distance from warehouse to destination in km.
price
Object
Base shipping cost in multiple currencies (CZK, EUR, etc.).
price_solsol
Object
Total price including standard markup/fees.
surcharge
Object
Fuel or handling surcharges included in the total.
delivery_date_estimate
String
Estimated delivery date (ISO 8601).
Example response:
{
"status": "success",
"normal_weight": 501,
"volume": 0.29,
"paletts_count": 2,
"paletts": [
{
"dimensions": {
"length": 1.2,
"width": 0.8,
"height": 0.15
},
"weight": 1090.99,342.5,
"volume": 0.144,
"items": [
{
"plu": "104661"130471",
"quantity": 3115
}
]
},
{
"dimensions": {
"length": 1.2,
"width": 0.8,
"height": 0.15
},
"weight": 158.5,
"volume": 0.144,
"items": [
{
"plu": "130465",
"quantity": 5
}
]
}
],
"warehouses": [
{
"warehouse_code": "USTI",
"warehouse_name": "Sklad CourierÚstí Object
nad DetailsLabem",
regarding"address": the"Vítězná specific9715, carrierSvádov, and40322, costs.
CZ",
"distance": "91.85",
"reservations": JSON[
{
"plu": "130471",
"qty": 15,
"warehouse_code": "USTI"
}
],
"couriers": [
{
"carrier_code": "HEAVY"TOPTRANS",
"carrier_service": "1",
"volumetric_weight": 72.5,
"unloading": "customer"carrier",
"price": {
"CZK": 5612.35,1766.6,
"EUR": 219.9670.93,
"PLN": 310.09,
"USD": 83.71
},
"price_solsol": {
"CZK": 2120,
"EUR": 85,
"PLN": 372,
"USD": 100
},
"surcharge": {
"CZK": 160.6,
"EUR": 6.45,
"PLN": 28.19,
"USD": 7.61
},
"delivery_date_estimate": "2025-05-23"2026-04-15"
}
]
}
]
}
Error
Codes
Code
Description
200
Requested item not found.
201
Invalid delivery address.
202
Stock unavailable for requested items.
203
Failed to calculate shipment value.
204
Carrier constraints not met.
207
No pricing available for the route.
Tip: Use the multi_warehouse: true flag if you want to compare shipping costs from different regions, as the nearest warehouse isn't always the cheapest depending on carrier contracts.
dimensionsweightOrganizesitems
Array
List of items areplaced distributedon acrossthis physicalspecific transport units.pallet.
distancepriceprice_solsolsurchargedelivery_date_estimate{
"status": "success",
"normal_weight": 501,
"volume": 0.29,
"paletts_count": 2,
"paletts": [
{
"dimensions": {
"length": 1.2,
"width": 0.8,
"height": 0.15
},
"weight": 1090.99,342.5,
"volume": 0.144,
"items": [
{
"plu": "104661"130471",
"quantity": 3115
}
]
},
{
"dimensions": {
"length": 1.2,
"width": 0.8,
"height": 0.15
},
"weight": 158.5,
"volume": 0.144,
"items": [
{
"plu": "130465",
"quantity": 5
}
]
}
}
],
"couriers": [
{
"carrier_code": "HEAVY"TOPTRANS",
"carrier_service": "1",
"volumetric_weight": 72.5,
"unloading": "customer"carrier",
"price": {
"CZK": 5612.35,1766.6,
"EUR": 219.9670.93,
"PLN": 310.09,
"USD": 83.71
},
"price_solsol": {
"CZK": 2120,
"EUR": 85,
"PLN": 372,
"USD": 100
},
"surcharge": {
"CZK": 160.6,
"EUR": 6.45,
"PLN": 28.19,
"USD": 7.61
},
"delivery_date_estimate": "2025-05-23"2026-04-15"
}
]
}
]
}
Error
Tip: Use the multi_warehouse: true flag if you want to compare shipping costs from different regions, as the nearest warehouse isn't always the cheapest depending on carrier contracts.