Get Customer Dropship Details
GET/api/sales-orders/:salesOrder/customer-dropship
Get the dropship details of a sales order that the merchant ships directly to a B2B retailer's consumer (a "dropship for customer" order): the retailer, the retailer's own order number, the gift message, the retailer branding printed on the packing slip, the ship-by date with its SLA status, and the most recent webhook delivery sent to the retailer for this order.
orders:readGrant this scope to your token under Settings → Developer → Personal Access Tokens.
Authentication: Requires Bearer token. Scope: orders (read). Requires the sales_orders.index permission.
Path parameters:
- salesOrder (integer, required): Sales order ID.
Response: data is null when the order is not a dropship-for-customer order (is_customer_dropship is false on the order). Otherwise:
- sales_order_id (integer), customer_id (integer): the order and the retailer (customer) it belongs to.
- retailer_name (string): the retailer's name.
- retailer_order_number (string|null): the retailer's own order reference; falls back to the order's customer PO number.
- intake_channel (string|null): how the retailer submitted the order — portal, csv, api, edi or rep (entered by a sales rep).
- gift_message (string|null): gift message to print for the consumer.
- branding (object): the retailer branding captured when the order was placed — display_name, logo_url, support_email, support_phone, slip_message (each nullable).
- ship_by_date (date|null, Y-m-d, tenant timezone): the day the order must ship by.
- promised_handling_days (integer|null): handling days promised to the retailer.
- sla_status (string|null): on_track (ship-by is after today), due_today or late (ship-by has passed). Null once nothing is left to ship (fully shipped, cancelled or closed) or when there is no ship-by date. sla_label is its display text.
- last_webhook_delivery (object|null): the latest webhook sent to the retailer for this order — event (dropship_order.created, dropship_order.shipped, dropship_order.cancelled, dropship_order.on_hold), status (delivered, retrying, failed, pending), the retailer endpoint's response_status and response_body, attempt count, the full payload sent, and delivered_at / next_retry_at timestamps (ISO 8601). Null when the retailer takes no webhooks or none was sent yet.
Errors: 404 when the sales order does not exist; 403 without the sales_orders.index permission.
Request
Responses
- 200
- 401
- 403
- 404
- 429
OK
Response Headers
Unauthenticated — the bearer token is missing, revoked, expired, or malformed. Never retry automatically; fix the credential. See the Errors guide.
Forbidden
Response Headers
Not Found
Response Headers
Rate limited — platform limit is 1,000 requests/min; individual tokens may carry lower limits. Honor the Retry-After header before retrying. See the Rate Limits guide.