Base URL: https://openapi.dajisaas.com
All Poizon endpoints are under the/poizonV2/path.
/poizonV2/* endpoint.dwSpuTitle, English keywords go to distSpuTitle. Search results are returned in both Chinese and English.{
"code": 200,
"message": "success",
"data": { },
"timestamp": 1756012800000,
"traceId": "a1b2c3d4e5f6",
"cost": 235
}| Field | Type | Description |
|---|---|---|
| code | integer | 200 means success |
| message | string | Result description |
| data | object | Business data |
| timestamp | integer | Server timestamp, UTC milliseconds |
| traceId | string | Trace ID — please include it when reporting an issue |
| cost | integer | Server processing time, in milliseconds |
msg (not message) and there is no traceId:{ "code": 200, "msg": "success", "data": { }, "status": 200 }{
"type": "about:blank",
"title": "Bad Request",
"status": 400,
"detail": "40002:order not exist",
"instance": "/poizonV2/order/cancelOrder"
}| Field | Description |
|---|---|
| status | HTTP status code |
| detail | Error detail. For parameter errors: field:message. For Poizon business errors: code:message passed through from Poizon |
| instance | The endpoint that was called |
HTTP 2xx + code == 200 as success; on HTTP 400, read detail.| Scenario | Example detail |
|---|---|
| Missing required parameter | requestId:requestId cannot be empty |
| Access Key not activated for Poizon | site config not found |
| Signature failure | sign verify fail |
| Poizon business error | 40002:order not exist |
| Insufficient prepaid balance | Passed through from Poizon in detail |
appKey is required on every request.sign; appSecret is for debugging only.POST endpoints, appKey / appSecret / sign go in the JSON body (same as the 1688 and Taobao APIs).GET /poizonV2/product/queryListcode / msg / data / status).| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji platform appKey |
| appSecret | string | N | Secret key, for debugging only. Use sign in production |
| startId | integer | N | Pagination cursor, starts from 0 |
| pageSize | integer | N | Max 50; 20 is recommended for best results |
| dwSpuTitle | string | N | Chinese keyword |
| distSpuTitle | string | N | English keyword |
| dwDesignerId | string | N | Style / article number |
| distBrandName | array[string] | N | Brand names, 0–200 items |
| distCategoryl1Name | array[string] | N | Level-1 categories, 0–200 items |
| distCategoryl2Name | array[string] | N | Level-2 categories, 0–200 items |
| distCategoryl3Name | array[string] | N | Level-3 categories, 0–200 items |
| distFitPeopleName | array[string] | N | Target audience, 0–200 items |
| season | string | N | Season |
| distStatus | string | N | PRODUCT_ON = published, PRODUCT_OFF = removed |
| modifyStartTime | integer | N | Modified from, UTC milliseconds |
| modifyEndTime | integer | N | Modified to, UTC milliseconds |
| querySku | boolean | N | Whether to return SKU info |
| language | string | N | Response language for product content. Defaults to en |
data — data.total, data.spuList[] with dwSpuTitle / distSpuTitle / dwSpuId / image / baseImage / authPrice / categories / season / distStatus / sizeChart / modifyTime / createTime …GET /poizonV2/product/queryDetailcode / msg / data / status).| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji platform appKey |
| appSecret | string | N | Debugging only |
| dwSpuId | integer | Y | Poizon SPU ID |
| distSpuId | string | N | Distributor SPU ID |
| dwDesignerId | string | N | Style / article number |
| language | string | N | Response language for product content. Defaults to en |
data — SPU fields + data.skuList[] with dwSkuId / minBidPrice / saleAttr[] / skuLink …minBidPriceis the current lowest bid price and is filled in automatically — you do not need to call a separate price API.
POST /poizonV2/order/createOrderrequestId is your idempotency key. It is unique and cannot be changed after the order is created — retrying with the same requestId will not create a duplicate order.| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji AppKey |
| appSecret | string | N | Debugging only |
| requestId | string | Y | Unique request ID, 32–64 characters. Idempotency key |
| shippingAddress | object | Y | Recipient address (Mainland China only) |
| shippingAddress.name | string | Y | Name |
| shippingAddress.phone | string | Y | Phone number |
| shippingAddress.province | string | Y | Province |
| shippingAddress.city | string | Y | City |
| shippingAddress.district | string | Y | District |
| shippingAddress.detailAddress | string | Y | Detailed address |
| shippingAddress.email | string | N | |
| product | object | Y | Item object |
| product.dwSpuId | integer | Y | Poizon SPU ID |
| product.dwSkuId | integer | Y | Poizon SKU ID |
| product.distSpuId | string | Y | Distributor SPU ID |
| product.distSkuId | string | Y | Distributor SKU ID |
| product.quantity | integer | Y | Quantity, 1–5 |
| product.price | integer | Y | Price per item, in cents, currency CNY |
data| Field | Type | Description |
|---|---|---|
| requestId | string | Your unique request ID |
| customerOrderNo | string | Customer order number — use it for cancel / query / logistics |
| distOrderNo | string | Main order number |
| orderItems | array | Sub-order list |
| orderItems[].distSubOrderNo | string | Sub-order number |
| orderItems[].orderStatus | string | Order status |
| orderItems[].dwSkuId | string | Poizon SKU ID |
| orderItems[].distSkuId | string | Distributor SKU ID |
| orderItems[].quantity | integer | Quantity |
| orderItems[].realPayAmount | string | Paid amount |
| orderItems[].currency | string | Payment currency |
| orderItems[].createTime | integer | Creation time, UTC milliseconds |
| orderItems[].modifyTime | integer | Last modified time, UTC milliseconds |
| orderItems[].failMessage | string | Failure reason, if any |
POST /poizonV2/order/queryOrderInfo| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji AppKey |
| appSecret | string | N | Debugging only |
| pageNum | integer | N | Page number |
| pageSize | integer | N | Page size, 1–200 |
| customerOrderNo | array[string] | N | Customer order numbers, 0–200 items |
| distOrderNo | array[string] | N | Main order numbers, 0–200 items |
| distSubOrderNo | array[string] | N | Sub-order numbers, 0–200 items |
| orderStatus | string | N | PENDING_PAY / PAID / SELLER_PENDING_SHIP / SELLER_SHIPPED / PLATFORM_SHIP / COMPLETED / FAILED / RETURN_GOOD |
| dwSkuId | array[string] | N | Poizon SKU IDs, 0–200 items |
| distSkuId | array[string] | N | Distributor SKU IDs, 0–200 items |
| trackingNo | array[string] | N | Tracking numbers, 0–200 items |
| createStartTime | integer | N | Created from, UTC milliseconds |
| createEndTime | integer | N | Created to, UTC milliseconds |
| modifyStartTime | integer | N | Modified from, UTC milliseconds |
| modifyEndTime | integer | N | Modified to, UTC milliseconds |
data| Field | Type | Description |
|---|---|---|
| total | integer | Total order count |
| orderList | array | Order list |
| orderList[].id | integer | Record ID |
| orderList[].customerOrderNo | string | Customer order number |
| orderList[].distOrderNo | string | Main order number |
| orderList[].distSubOrderNo | string | Sub-order number |
| orderList[].orderStatus | string | Order status |
| orderList[].dwSpuId | string | Poizon SPU ID |
| orderList[].dwSkuId | string | Poizon SKU ID |
| orderList[].distSkuId | string | Distributor SKU ID |
| orderList[].distSpuTitle | string | Product title |
| orderList[].distBrandName | string | Brand name |
| orderList[].designerId | string | Style / article number |
| orderList[].distCategoryl1Name | string | Level-1 category |
| orderList[].distCategoryl2Name | string | Level-2 category |
| orderList[].distCategoryl3Name | string | Level-3 category |
| orderList[].image | string | Product image |
| orderList[].size | string | Size |
| orderList[].maxQuantity | integer | Quantity |
| orderList[].realPayAmount | string | Paid amount |
| orderList[].currency | string | Currency |
| orderList[].userName | string | Recipient name |
| orderList[].userId | string | User ID |
| orderList[].carrier | string | Carrier (Poizon → buyer) |
| orderList[].trackingNo | string | Tracking number (Poizon → buyer) |
| orderList[].headCarrier | string | First-leg carrier |
| orderList[].headTrackingNo | string | First-leg tracking number |
| orderList[].fulfillmentMode | string | Fulfillment mode |
| orderList[].fulfillmentModeDesc | string | Fulfillment mode description |
| orderList[].returnStatus | integer | Return status |
| orderList[].returnStatusDesc | string | Return status description |
| orderList[].reverseItemNo | string | Return item number |
| orderList[].createTime | integer | Creation time, UTC milliseconds |
| orderList[].modifyTime | integer | Last modified time, UTC milliseconds |
POST /poizonV2/order/cancelOrderfailDetailList in the response.| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji AppKey |
| appSecret | string | N | Debugging only |
| customerOrderNo | string | Y | Customer order number returned by Create Order |
data| Field | Type | Description |
|---|---|---|
| successTotal | integer | Number of sub-orders cancelled successfully |
| failTotal | integer | Number of sub-orders that could not be cancelled |
| failDetailList | array | Failure details |
| failDetailList[].id | integer | Sub-order record ID |
| failDetailList[].failReason | string | Reason for failure |
POST /poizonV2/order/queryLogisticsTrace| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji AppKey |
| appSecret | string | N | Debugging only |
| customerOrderNo | string | Y | Customer order number returned by Create Order |
data| Field | Type | Description |
|---|---|---|
| customerOrderNo | string | Customer order number |
| distOrderNo | string | Main order number |
| userName | string | Recipient name |
| userId | string | User ID |
| subOrderTraceInfo | array | Trace info per sub-order |
| subOrderTraceInfo[].distSubOrderNo | string | Sub-order number |
| subOrderTraceInfo[].dwSkuId | string | Poizon SKU ID |
| subOrderTraceInfo[].distSkuId | string | Distributor SKU ID |
| subOrderTraceInfo[].heardLogisticTraceInfo | object | First leg trace (field name is spelled heard by the source system — parse it as-is) |
| subOrderTraceInfo[].tailLogisticTraceInfo | object | Last leg trace |
| Field | Type | Description |
|---|---|---|
| waybillNo | string | Waybill number |
| courierName | string | Courier name |
| courierPhone | string | Courier phone |
| arrivalTime | string | Arrival time |
| trackNodeInfos | array | Trace nodes |
| trackNodeInfos[].node | string | Node code |
| trackNodeInfos[].opeTitle | string | Node title |
| trackNodeInfos[].desc | string | Node description |
| trackNodeInfos[].time | string | Node time |
| trackNodeInfos[].deliveryDate | string | Delivery date |
| trackNodeInfos[].location | object | Node location: province, city, district, siteName, longitude, latitude |
GET /poizonV2/prepayment/queryPrepaymentBalance| Name | Type | Required | Description |
|---|---|---|---|
| appKey | string | Y | Daji platform appKey |
| appSecret | string | N | Debugging only |
data| Field | Type | Description |
|---|---|---|
| imoneyDTO | object | Balance object |
| imoneyDTO.amount | string | Prepaid balance, string format |
| imoneyDTO.minUnitVal | integer | Balance in minimum unit (cents) |
| imoneyDTO.currency | string | Currency |