Dropship Orders
List Dropship Orders
Lists the dropship orders your account has sent to the supplier, newest first, 10 per page by default. Every order is pinned to your own account. Filters are plain query parameters (`?status=shipped`); the same names are also accepted as `filter[status]`.
Create Dropship Order
Sends one consumer order for the supplier to ship directly to your customer, priced at your dropship pricing tier with the program's dropship fee and shipping charge added. Your `retailer_order_number` is the idempotency key: sending the same number again while that order is still open creates nothing and returns the existing order with **200** and `duplicate: true`, so a timed-out request is safe to retry. A new order returns **201**. If your company's approval policy holds the order, the response is **202** with `code: pending_approval` and an `approval_id` — the order is placed (and its ship-by clock starts) once it is approved.
Get Dropship Order by Retailer Order Number
Gets one dropship order by **your** order number — the `retailer_order_number` you sent when creating it. Use this to poll status and pick up tracking. If the same number was used again after an earlier order was cancelled, the open (non-cancelled) order is returned; otherwise the most recent one. URL-encode the number if it contains special characters.
Cancel Dropship Order
Cancels a dropship order while the warehouse has not started on it — nothing has been sent to a warehouse or 3PL and no packing slip has been printed. Check `can_cancel` on the order first. Uses the order's `id` (not your order number). No body.
Export Dropship Tracking
Downloads tracking for the orders matching the same filters as List Dropship Orders, as CSV — one row per shipment, or one row with blank tracking for an order that has not shipped. Columns: `order_number` (yours), `sales_order_number`, `status`, `carrier`, `service`, `tracking_number`, `tracking_url`, `shipped_at` (ISO 8601 UTC).
Get Dropship Tracking Export
Gets the status of a background tracking export started by Export Dropship Tracking (when more than 1,000 orders matched). Poll until `ready` is true, then call again with `download=1` to receive the CSV file (same columns as the direct export).
Download Dropship CSV Template
Downloads the blank CSV template for bulk dropship orders, with one example order of two lines. One row per order line; rows sharing an `order_number` are one order, and the ship-to columns may be repeated or left blank after the first row.
List Dropship Batches
Lists your account's CSV batch uploads, newest first, 10 per page by default. The list carries each batch's status and counts but not its staged orders — use Get Dropship Batch for those.
Upload Dropship Batch
Uploads a CSV of dropship orders and dry-runs it: rows are grouped into orders by `order_number`, and every order is checked against your dropship catalog, prices, stock, shipping services, address rules and your open orders — **nothing is created yet**. The batch is kept as `staged` so you can review each order's problems, download the error rows, fix them and re-upload, then Submit (or Discard) the batch.
Get Dropship Batch
Gets one batch with every staged order, its lines, problems and preview totals. After Submit, poll this endpoint to follow progress: `status` moves from `submitting` to `completed` (or `completed_with_errors`), `totals.processed` / `created` / `failed` count up, and each order gains a `result` with the created sales order number or the reason it failed.
Discard Dropship Batch
Discards a staged batch you no longer want. No orders are created; the batch stays in the list with `status: discarded`. Only a batch that has not been submitted can be discarded.
Download Dropship Batch Error Rows
Downloads, as CSV, the rows of every order in the batch that cannot be placed — orders with errors at staging, plus (after submit) any that failed — in the template's columns with an extra `error` column describing each problem by row. Fix the rows and upload the file as a new batch; the `error` column is ignored on upload. Returns just the header row when nothing failed.
Submit Dropship Batch
Creates the batch's `ready` and `warning` orders in the background; orders with errors are skipped. Each order is re-checked against current stock, prices, your open orders and your account's standing just before it is created (an order created after the account was disabled fails with `portal_account_inactive`), so a retailer order number that already has an open order comes back as `duplicate` rather than a second order. No body. Returns **202** with the batch in `submitting`; poll Get Dropship Batch for progress and per-order results. Submitting twice is safe — only the first starts the work.