Order detail and list API

POST /v1/orders/detail {#detail}

{
  "channel": "1688",
  "order_id": "3304203601144335680"
}

Response: StandardOrderDetail. In warehouse mode, may include domestic_parcels[] for fulfillment create.

See order response models.

POST /v1/orders/list {#list}

Use one request format to list 1688, Taobao or Weidian buyer/procurement orders. A live key needs order:read, an enabled channel quota and valid buyer authorization for the current app. This operation only reads orders; it does not create, pay, cancel or record GMV.

{
  "channel": "taobao",
  "start_time": "2026-10-01 00:00:00",
  "end_time": "2026-10-12 23:59:59",
  "time_type": "updated",
  "timezone": "Asia/Shanghai",
  "page_no": 1,
  "page_size": 50,
  "response_format": "standard"
}

Change channel to 1688 or weidian to use the same date and pagination fields. Gateway converts them to each vendor’s native parameters.

Request fields

FieldMeaning
channel1688, taobao or weidian. Always specify it in new integrations; legacy /list calls without it default to 1688.
start_time, end_timeOptional complete range as yyyy-MM-dd HH:mm:ss. Supply both bounds, and ensure start is not after end.
time_typeupdated (default) or created, with availability below. “Updated” means orders updated during the range, not orders newly created during it.
timezoneIANA timezone for these date strings, default Asia/Shanghai; UTC and other IANA zones are accepted. Do not rely on the client’s or server’s local timezone.
page_no1-based page, default 1. Keep the same time range while requesting pages 2, 3, etc.
page_size1–50, default 20 for 1688/Taobao and 50 for Weidian.
response_formatstandard (default) or upstream.
status, sort_typeTaobao-only native status filter and ASC/DESC sorting. Omit status to query all statuses.
order_status, order_typeExisting 1688 status / Weidian status fields. These vendor status vocabularies are not interchangeable.

Channel capabilities and defaults

ChannelUpdated timeCreated timeWhen no range is supplied
1688SupportedSupportedExisting native buyer-list defaults.
TaobaoSupportedNot supportedWithout order IDs, Gateway supplies the last 7 days of updates and returns the effective window in query. ID lookups need no range.
WeidianSupportedSupportedExisting native defaults: normally the last 31 days. At most 10,000 reachable records per query window.

Taobao lists procurement orders visible to the authorized buyer/API, not every retail order in the buyer’s Taobao account. time_type: "created" on Taobao returns HTTP 400 UNSUPPORTED_TIME_FILTER, rather than silently substituting update time. Querying an update window and filtering created_time afterward is not a guaranteed complete creation-time history.

A valid request with no explicit time fields is also supported:

{
  "channel": "taobao",
  "page": 1,
  "page_size": 50,
  "response_format": "standard"
}

This returns the last 7 days of updated procurement orders, not an all-time export. When paginating a default window, use the returned query.start_time/query.end_time and timezone explicitly for subsequent pages to keep it fixed. Marketplace data can still change during pagination; deduplicate by order ID when synchronizing.

Standard response

All three channels return channel, page_no, page_size, total, has_next, orders and request_id. The legacy page field remains; Weidian also retains its 0-based page_num.

1688 rows retain their existing standard order model. Taobao and Weidian lists are lightweight: each row has a string order_id; Taobao also includes the external out_order_id and normalized/raw status when available. Use order detail for complete item, amount and logistics data.

If Taobao does not return results_total, total is null, not a guessed count. In that case, a full page sets has_next: true to suggest another page may exist. Weidian’s has_next respects its 10,000-record cap even when its reported total is larger.

For friendly ranges or Taobao’s default window, query contains the effective time_type, start_time, end_time, timezone and defaulted. A default window has defaulted: true. ID lookups/native ranges may omit this metadata. Standard list responses do not introduce new cross-channel monetary assumptions; fetch details for monetary fields.

Legacy parameters

ChannelRetained fields
Allpage is a 1-based alias of page_no; if both are supplied they must agree.
1688create_start_time/create_end_time, modify_start_time/modify_end_time retain native timestamp semantics and existing buyer filters.
Taobaomodify_time_start/modify_time_end remain numeric Unix millisecond bounds; supply both. outer_purchase_id or purchase_ids support ID lookup without dates. Prefer string IDs over large JSON numbers.
Weidianpage_num remains 0-based; page_no = page_num + 1. Native add_start/add_end, update_start/update_end and existing time/status aliases remain available.

Friendly start_created/end_created aliases select creation time only on 1688/Weidian; start_updated/end_updated aliases select update time on all three. Do not mix friendly field families, or mix friendly and native time fields. Legacy native fields are not reinterpreted through timezone; that parameter applies to friendly date strings.

Validation and upstream responses

Invalid/partial ranges, nonexistent dates, conflicting page aliases, invalid timezone, invalid response format and out-of-range pagination return HTTP 400 VALIDATION_ERROR before a vendor query. DST-gap or ambiguous wall times are rejected; use UTC with the correct equivalent date/time in these cases. Unsupported channels or Taobao creation-time requests have explicit 400 codes. Transport and upstream business failures remain 502; authorization/quota failures retain their existing 401/403/429 behavior.

response_format: "upstream" returns the vendor response envelope, including upstream_api, upstream and request_id; date conversion and validation still apply.

1688/Taobao Sandbox requests use existing fixtures, not real date filtering or a live buyer account. Weidian buyer lists and all upstream-format requests are unavailable in Sandbox.

POST /v1/orders/purchase/query {#purchase-query}

This compatibility endpoint now accepts the same three channels and request parameters as /v1/orders/list. It defaults to Taobao when channel is omitted. New integrations should prefer /v1/orders/list.

For Taobao standard responses, the existing vendor-shaped code/data/purchase_orders payload is retained so existing clients do not break; it is not renamed to orders. For 1688/Weidian, this endpoint returns the same list model as /list. Upstream format uses the usual vendor envelope for every channel.

To query a known Taobao ISV order without dates:

{
  "channel": "taobao",
  "outer_purchase_id": "YOUR_ISV_PURCHASE_ID"
}

OpenAPI: GET https://api.hiobuy.com/openapi.json.

Get Support

Need integration help? Contact Developer Support at support@hiobuy.com · Response within 1–2 business days

Email support