Flow Overview
A "shipment" in this system is called an Order internally, and it is always created against one or more existing Purchase Orders. Creating a shipment is a two-step process:
1. Save Order → POST /api/external/v1/order/saveOrder (creates a draft order, returns order_id)
2. Create Draft Order → POST /api/external/v1/order/createDraftOrder (books the shipment with the chosen carrier,
returns AWB / LR number / label)
Optionally, call Get Shipping Rates between steps 1 and 2 to let the carrier/rate be chosen dynamically instead of being hardcoded by the client.
Prerequisites before calling this flow:
- The Purchase Order(s) referenced by
purchase_order_idmust already exist in the system (see Get Purchase Orders API) and must not be cancelled/expired. - The carrier used in step 2 must already be onboarded for the account — fetch valid carriers via Get Registered Carriers.
- A warehouse (pickup location) must be available/assigned — see Get Own Warehouses.