calculateRates, TLDP fans out the request to every courier enabled on your account and returns a ranked list of quotes for the given route, weight, and service level. Each quote is a binding price that you can use directly to fulfil an order — no renegotiation happens at fulfilment time. This design lets you present accurate cost options to your customers or run automated courier selection logic without worrying about price drift.
Service Levels
Service levels control the speed tier of the delivery. Pass aservice_level value when requesting quotes to filter results to a specific tier, or omit it to receive quotes across all available tiers at once.
Courier Tiers
Courier tier reflects the quality and reliability band of the assigned carrier. Use tiers to match your service promise to your customers’ expectations.The Quote Object
Every item in thequotes array returned by calculateRates contains the following key fields:
Price Breakdown
Thebreakdown object on each quote gives you full transparency into how the total_price was calculated:
The
quote_id returned in the rates response maps directly to the rate_quote_id field you supply when calling fulfilOrder or createShipment. Always use the exact quote_id string — do not reconstruct or modify it.Fetching Quotes: TypeScript Example
Selecting and Using a Quote
Once you have thequote_id, pass it as rate_quote_id to lock in the price at fulfilment time:
Discovering Delivery Zones
TLDP’s pricing uses a zone system to account for inter-regional routing costs. UselistZones to discover all available origin and destination zones before building your rate-fetching logic: