Getting Started
This walkthrough submits one order and follows it through to tracking.
1. Submit the order
POST /orders accepts a single order. AdCode, AltOrderNumber, OrderDate,
ShipMethod, BillToCustomer, and LineItems are required.
On the customer objects, Address1, City, Country, and Zip are required, and at
least one of Company, FirstName, or LastName must be supplied.
A successful submission returns a confirmation reference:
AltOrderNumber is how you correlate your order with ours on every later call. Use
your own order number and keep it unchanged.
Keep LineNumber short — around 10 characters. Longer values are not rejected; they
are silently truncated or dropped, which breaks line-level correlation when you read
shipments back. Platform-generated identifiers such as Shopify global IDs are too long
to survive, so map them to a short ordinal before submitting.
2. Confirm it imported
Submission is accepted asynchronously. Use the RefId from step 1 to confirm the order
landed:
3. Poll for shipment status
Once the order ships, GET /orders returns shipment records with tracking. Query by your
own order number:
For routine syncing, prefer the paged and batch variants over per-order polling:
GET /orders/batch— status for a batch of orders in one callGET /orders(paged) — walk all recent shipment activity
To be told when an order ships instead of polling, subscribe to the
order.shipped webhook.
4. Reconcile inventory
GET /stock returns current on-hand quantities for every SKU, and GET /stock/{sku}
returns one.
On-hand figures already have units committed to open orders deducted, so they reflect what is actually available to promise.
Next steps
- Authentication — credential handling and rotation
- Webhooks — get notified of order events instead of polling
- API Reference — every endpoint, schema, and an interactive request builder
