Skip to main content

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

ParameterTypeRequiredDescription
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_codestringNoForce calculation from a specific warehouse code.
sort_by string No Sort results by price or time.

3. Scheduling & Sorting

ParameterTypeRequiredFormatDescription
desired_delivery_datedateNoYYYY-MM-DDNullable. The date the customer prefers delivery.
dispatch_datetimedatetimeNo

ISO-8601

Nullable. Planned date and time of dispatch.
sort_bystringNopriceSort results by price or time.
sort_orderstringNoASCSort direction: ASC (Ascending) or DESC (Descending).

Example RequestRequest:

JSON
{
  "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, including price (net) and price_solsol (gross/final).

  • Error Codes

    address: unavailable:notavailable warehouse.
    CodeField StatusType Description
    400errorstatus InvalidString Operation Thestatus provided(e.g., deliverysuccess, details could not be geo-coded.error).
    404errornormal_weight StockFloat Total Theactual weight of all items requestedin arekg.
    volumeFloatTotal volume of the shipment in any$m^3$.
    paletts_countIntegerTotal number of pallets generated for the shipment.
    palettsArrayDetailed breakdown of each pallet's contents and dimensions.
    warehousesArrayList of warehouses capable of fulfilling the order.

     

    Data

    Models

    2.

    Pallet Object

    FieldTypeDescription
    dimensionsObjectLength, width and height, in meters.
    weightFloatIndividual pallet weight including packaging.

    Organizesitems

    how

    Array

    List of items areplaced distributedon acrossthis physicalspecific transport units.pallet.

    3. Warehouse & Courier Object

    FieldTypeDescription
    JSONdistance String Distance from
    warehouse
    to
    destination in km.
    priceObjectBase shipping cost in multiple currencies (CZK, EUR, etc.).
    price_solsolObjectTotal price including standard markup/fees.
    surchargeObjectFuel or handling surcharges included in the total.
    delivery_date_estimateStringEstimated 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

    CodeDescription
    200Requested item not found.
    201Invalid delivery address.
    202Stock unavailable for requested items.
    203Failed to calculate shipment value.
    204Carrier constraints not met.
    207No 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.