1. Introduction

Need to connect to Qianyi's third-party warehouse, please refer to this document

Order business process diagram:

Create Order business process diagram

2. Environment Requirements

Authorization: accessId (customer ID), secretKey (key, used to verify message information).

Interface address: The third party provides the service address for Qianyi to call. Request method:

  • Method: POST
  • Content-Type: application/x-www-form-urlencoded

Common request:

Field DataType Require Description
accessId String Yes Third-party authorization ID for Qianyi
method String Yes Interface method name
content String Yes Business Params
sign String Yes Signature

headerParams:

Field DataType Require Description
warehouseType String N Warehouse type
secret String N Third-party warehouse secret/Token

Common response:

Field DataType Require Description
success boolean Yes Whether the business processing was successful
message String No Business processing exception message

Signature method:

  1. Compose accessId and content into a json string

{"accessId":"accessId","content":" Specific business Params "} , content is empty when

{"accessId":"accessId"}

  1. Add the secretKey allocated by the third party to the end of the json, to get the string to be encrypted

{"accessId":"accessId","content":"Specific business Params"}secretKey

  1. Encrypt the string to be encrypted using sha1 to get the signature

(org.apache.commons.codec.digest.DigestUtils.sha1Hex(待加密字串))

  1. Assign the signature to the sign field of the public request

Sample string before encryption: {"accessId":"ibxakq31y","content":"{\"pageSize\":1000,\"page\":1,\"warehouseCode\":\"WH000005\"}"}30534885b3eb4625c8c279822651683a

3. Warehouse List

Description: Get all the shipping warehouses, used for subsequent Inbound order, inventory synchronization, and Order issuance processes

Method name:

  • warehouses

Return information:

Field Field Description DataType Require Description
warehouseList Warehouse information Array
└ warehouseCode Warehouse code String Require Must be unique
└ warehouseName Warehouse name String Require Must be unique

Request example:

{ "accessId" : "3215435",

"method" : "warehouses",

"content" : "",

"sign" : "11fbd649164860b5571cb60dfc99baccb375f392"

}

Return example:

{ "success":"true",

"message":"",

"warehouseList":[

{ "warehouseCode":"CA1",

"warehouseName":"CA Warehouse"

},

{ "warehouseCode":"CA2",

"warehouseName":" CA Warehouse 2"

}

] }

4. Warehouse Logistics List

Description: Order in erp review requires selecting logistics, we support the warehouse providing logistics list, users select in erp and then issue to the warehouse, channels interface is used to get which logistics the warehouse supports

Method name:

  • channels

Interface Params:

Field Field Description DataType Require Description
warehouseCode Warehouse code String N

Return information:

Field Field Description DataType Require Description
channelList ArrayList
└ channelCode Warehouse logistics code String Require Must be unique
└ channelName Warehouse logistics name String Require
└ warehouseCode Warehouse code String N
└ carrierName Carrier name String N

Request example:

{ "accessId": "3215435", "method": "channels", "content": "", "sign": "11fbd649164860b5571cb60dfc99baccb375f392" }

Return example:

{ "success": "true", "message": "", "channelList": [ { "channelCode": "FedexGround", "channelName": "FedEx Ground", "carrierName": "FEDEX" } ] }

5. Create Order

Description: After creating an Order in Qianyi, it will request the warehouse to create an Order, so that the warehouse can prepare and ship the goods

Method name:

  • createOrder

Interface Params:

Field Field Description DataType Require Description
orderNumber Qianyi Order number String Require
onlineOrderId Platform Order number String Require Original Order number, parent number
shopName Shop Name String Require
warehouseCode Warehouse code String Require
logisticsCode Shipping channel code String Require
platform Platform String Require
freight Freight BigDecimal Require
packageType Package type String N Default NORMAL regular package OWN_PAKAGE self-provided package
trackingNumber trackingNumber String N Customer-provided waybill, required when package type is self-provided
labelData Waybill String N Customer-provided waybill, required when package type is self-provided, waybill data in PDF BASE64
codEnabled Whether it is a cod Order Integer Require 1:cod Order 0:Non-cod Order
codPayAmount cod Order amount BigDecimal N cod amount, required for cod Order
codCurrency cod amount currency String N cod currency, required for cod Order
orderCreate Order creation time Date N
deliveryTime Delivery commitment time Date N
onlineShopId Online Shop id String N Online Shop id, used for some warehouses only
receiver Recipient Information Object Require
└ name Contact person String Require
└ phone Contact phone String Require
└ email Contact email String Y
└ country Two-letter country code String Require
└ state Province/State String Require
└ city City String Require
└ district District String N
└ address1 Address 1 String Require
└ address2 Address 2 String N
└ postalCode Zip code String Require
skuList Order product information Array Require
└ erpSku Product code String Require
└ sku warehouse Product code String Require
└ name Product title String Require
└ quantity Quantity String Require
└ amount Product amount BigDecimal Require
└ shippingPrice Product freight BigDecimal N
└ hsCode Customs code String N
└ chineseCustomsDeclarationName Chinese customs name String N
└ englishCustomsDeclarationName English customs name String N

Request example:

{ "accessId" : "3215435",

"method" : "createOrder",

"content" : "

{\"orderNumber\":\"CESH210204147401\",\"onlineOrderId\":\"11319575377 9\",\"shopName\":\"Test

\",\"logisticsCode\":\"FedexGround\",\"platform\":\"tiktok\",\"warehouseCode\":\"QY_01\",\"fr eight\":20.0, \"receiver\":{\"name\":\"Kimberly White\",\"phone\":\"1889838055188\",\"email\":\"\",\"country\":\"US\"

,\"state\":\"AR\",\"city\":\"Harrison\",\"district\":null,\"address1\ ":\"TestStreet1\",\"address2\":\"\",\"postalCode\":\"72601\"},\"skuLi st\":[{\"sku\":\"CL0000000000001\",\"name\":null,\"quantity\":1,\"amo unt\":120.0,\"shippingPrice\":20.0,\"hsCode\":\"CL0000000000001\",\"c hineseCustomsDeclarationName\":\" 测 试 商 品

\",\"englishCustomsDeclarationName\":\"TEST\"}]}",

"sign" : "11fbd649164860b5571cb60dfc99baccb375f392"

}

Return example:

{ "success":"true",

"message":"", "data": { "warehouseOrderNumber":"S111111-09987666" }

}

6. Cancel Order

Description: Used to cancel an Order in Qianyi

Method name:

  • cancelOrder

Interface Params:

Field Field Description DataType Require Description
orderNumber Qianyi Order number String Require
warehouseCode Warehouse code String N
warehouseOrderNumber Warehouse Order number String N

Request example:

{ "accessId" : "3215435",

"method" : " cancelOrder",

"content" : " {\"orderNumber\":\"CESH210204147401\",\"warehouseOrderNumber\":\"CESH210204147401\"}",

"sign" : "11fbd649164860b5571cb60dfc99baccb375f392"

}

Return example:

{ "success":"true",

"message":""

}

7. Query Order Information

Description: Used to synchronize the trackingNumber and Order status from the warehouse to Qianyi

Method name:

  • getOrder

Interface Params:

Field Field Description DataType Require Description
orderNumber Qianyi Order number String Require
warehouseCode Warehouse code String N
warehouseOrderNumber Warehouse Order number String

Return information:

Field Field Description DataType Require Description
orderNumber Qianyi Order number String Require
wmsStatus Outbound Order status in the third-party system String Require
status Qianyi Outbound order status String Require Need to be mapped from wmsStatus to SENDING (shipping), SUCCESS (shipped, shipped out), CANCEL (cancelled), FAILED (failed or abnormal)
carrierName Carrier name String N
trackingNumber Tracking number String N Required when status is SUCCESS
failedReason Failure reason String N Required when status is FAILED

Request example:

{ "accessId" : "3215435",

"method" : " getOrder",

"content" : " {\"orderNumber\":\"CESH210204147401\"}",

"sign" : "11fbd649164860b5571cb60dfc99baccb375f392"

}

Return example:

{ "success":"true",

"message":"",

"data": {

"orderNumber": "S0000001",

"wmsStatus": "Shipped",

"status": "SUCCESS",

"carrierName": "FEDEX",

"trackingNumber": "TEST0001"

}

}

8. Inventory Synchronization

Description: Synchronize the sku and sku inventory information from the warehouse to Qianyi

Method name:

  • syncInventory

Interface Params:

Field Field Description DataType Require Description
pageSize Number per page Integer Require
page Current page Integer Require
warehouseCode Warehouse code String Require
warehouseSku Warehouse product code String N
Return information:
Field Field Description DataType Require Description
isLastPage Whether it is the last page Boolean Require true: last page false: not the last page
currentPage Current page Integer Require
pageCount Total pages Integer Require
data Inventory information List\
warehouseCode Warehouse code String Require
warehouseSku Warehouse product code String Require
onwayQuantity On-way quantity String Y Default 0
pendingQuantity Pending quantity String Y Default 0
sellableQuantity Sellable quantity String Require
unsellableQuantity Unqualified quantity String Y Default 0
reservedQuantity Pending Outbound quantity String Y Default 0
useQuantity Occupied quantity String Y Default 0
totalQuantity Total inventory quantity String Require

Request example:

{ "accessId" : "3215435",

Smart cross-border e-commerce partner

"method" : " syncInventory",

"content" : " {\"pageSize \":\"50\",\"page \":\"1\",\"warehouseCode

\":\"wms\",\"warehouseSku \":\"sku\"}",

"sign" : "11fbd649164860b5571cb60dfc99baccb375f392"

}

Return example:

{ "success": "true",

"message": "",

"isLastPage": true,

"currentPage": 1,

"pageCount": 1,

"data": [

{ "warehouseCode": "wms",

"warehouseSku": "sku",

"onwayQuantity": "11",

"pendingQuantity": "22",

"sellableQuantity": "33",

"unsellableQuantity": "0",

"reservedQuantity": "22",

"useQuantity": "11",

"totalQuantity": "99"

}

]

}

9. Inbound Order Creation

Description: After creating an Inbound order in Qianyi, it will request the warehouse to create an Inbound order, the purpose is to increase the inventory of skus in the warehouse

Method name:

  • createAsnOrder

Interface Params:

Field Field Description DataType Require Description
asnNumber Qianyi Inbound order number String Require
warehouseCode Warehouse code String Require
estimatedArrivalDate Estimated time of arrival Long Optional
trackNumber Tracking number String Optional
orderNumber orderNumber String Optional sale return order number
onlineOrderId onlineOrderId String Optional sale return online Order Id
saleReturnReason saleReturnReason String Optional
skuList Product information Array Require
└ sku Product code String Require
└ name Product title String Optional
└ quantity Quantity Number Require
asnMarkSku Packing information List Optional
type asn order type String Optional PURCHASE
└boxNumber Box number Number Optional
└ markCode Box code String Optional
└ quantity Packing quantity Number Optional
└ sku Product code String Optional
└ name Product title String Optional

Request example:

{ "accessId": "67436532", "method": "createAsnOrder", "content": "{\"skuList\":[{\"sku\":\"CLO-CNQM5069BL\",\"quantity\":2}],\"trackNumber\":\"A240925139551\",\"asnNumber\":\"A240925139551\",\"asnMarkSku\":[{\"sku\":\"CLO-CNQM5069BL\",\"quantity\":2,\"markCode\":\"QY556553-A240925139551-1\",\"boxNumber\":\"1\",\"length\":1.0,\"width\":1.0,\"height\":1.0}],\"estimatedArrivalDate\":null,\"warehouseCode\":\"53\"}", "sign": "1f04df03d527653ab65beafb4aa59c778ff3bd73" }

Return example:

{ "success": true, "message": "", "results": [ { "asnNumber": "A1234", "operation": "CANCEL", "info": "" } ] }

"success":"true",

"message":""

}

10. Inbound Order Query

Method name: Description: Used to synchronize the status of the warehouse Inbound order

  • getAsnList

Interface Params:

Field Field Description DataType Require Description
asnNumbers Qianyi Inbound order number (batch) List <String> Require
warehouseCode Warehouse code String Optional
Return information:
Field Field Description DataType Require Description
asnNumber Qianyi Inbound order number String Require
wmsStatus Inbound Order status in the third-party system String Require Need to be mapped from wmsStatus, see the mapping table below for details 「Inbound order status
referenceNumber Warehouse Inbound order number String Require
finishTime Completion time String Require
skuList Product information Array Require
└ sku Product code String Require
└ name Product title String Optional
└estimatedQuantity Expected quantity Number Require
└receivedQuantity Received quantity Number Require
└goodQuantity Good quantity Number Require
└badQuantity Bad quantity Number Require

11. Inbound order status

Enum value Description
NEW New
DELETED Deleted
SHIPPING In transit
RECEIVING Receiving
FINISHED Finished
CLOSED Closed

Request example:

{ "accessId" : "3215435", "method" : " getAsnList", "content" : " {\"asnNumbers\":[\"CESH210204147401\",\"warehouseCode\":\"warehouse1\"]}", "sign" : "11fbd649164860b5571cb60dfc99baccb375f392" }

Return example:

{ "success":"true", "message":"", "asnList":[{ "asnNumber": "sja11122", "wmsStatus": "NEW", "finishTime": "2024-10-26 12:23:34", "referenceNumber":"A123445", "skuList": [ { "sku":"acs", "name":"Cup", "estimatedQuantity":12, "receivedQuantity":12, "goodQuantity":5, "badQuantity":7 }]}] }

12. Inbound Order Cancellation

Description: Used to cancel the warehouse Inbound order

Method name:

  • cancelAsnOrder

Interface Params:

Field Field Description DataType Require Description
asnNumbers Qianyi Inbound order number (batch) List <String> Require
warehouseCode Warehouse code String Optional
Return information:
Field Field Description DataType Require Description
success Whether the operation on the current sku was successful String Require true: success, false: failure
message Failure information String Require
results Results List Optional
└asnNumber Qianyi Inbound order number String Require
└operation Operation on the Inbound order String Require Cancel: CANCEL
└info Description information String Optional Failure information

Request example:

{ "accessId" : "3215435", "method" : " cancelAsnOrder", "content" : " {\"asnNumbers\":[\"CESH210204147401\"],\"warehouseCode\":\"warehouse1\"}", "sign" : "11fbd649164860b5571cb60dfc99baccb375f392" }

Return example:

{ "success": true, "message": "", "results": [ { "asnNumber": "A1234", "operation": "CANCEL", "info": "" } ] }

13. Product Issuance to Warehouse

Description: After creating sku and warehouse sku in Qianyi, issue the mapping relationship to the warehouse, so as to maintain the sku mapping relationship between Qianyi and the warehouse, if the warehouse product does not exist, create a new one, if it exists, update it

Method name:

  • insert_sku_info

Interface Params:

Field Field Description DataType Require Description
warehouseCode Warehouse code String Optional
sku warehouse sku, max 255 characters String Require
erpSku sku, max 255 characters String Require
title Product title, max 255 characters String Optional
barcode Product barcode, max 255 characters String Optional
specifications Product specifications String Optional
imageUrl Image link String Optional
weight Gross weight Decimal Optional
netWeight Net weight Decimal Optional
weightUnit Weight units String Optional
length Length Decimal Optional
width Width Decimal Optional
height Height Decimal Optional
dimensionUnit Length units String Optional
itemPackage Packaging quantity Number Optional
Return information:
Field Field Description DataType Require Description
success Whether the operation on the current sku was successful String Require true: success, false: failure
message Failure information String Require
results Failure result set List Optional
└sku Product code String Require
└operation Operation on sku String Require Create: CREATE
└info Description information String Optional Failure information

Request example:

{ "method": "insert_sku_info", "accessId": "67436532", "content": "{\"itemPackage\":null,\"dimensionUnit\":\"cm\",\"length\":\"1\",\"weight\":\"1\",\"title\":\"A1234 name\",\"specifications\":\"Yellow-M\",\"warehouseCode\":\"53\",\"netWeight\":\"1\",\"imageUrl\":\"http://qianyierp-test.oss.aliyuncs.com/image/NjRhNzU5YWU3Y2M1NjI4YjZlNzIyZjJkYzUxYmYxNjk%3D.jpg\",\"width\":\"1\",\"sku\":\"A1234\",\"barcode\":\"A1234 barcode\",\"weightUnit\":\"KG\",\"height\":\"1\"}", "sign": "d6c07b78107f3fd6819e038257b9236a7e48e297" }

Return example:

{ "success": true, "message": "", "results": [ { "sku": "A1234", "operation": "CANCEL", "info": "" } ] }

14. WebHooks

14.1. Outbound order status push interface

Description: The warehouse pushes the outbound order information to Qianyi ERP please contact with qianyi for the param ‘warehouseExtraType’

方法名:

  • pushOrderInfo

POST /sys/automatic/receiveOdo/{warehouseExtraType}

接口参数:

Field Field Description DataType Require Description
orderNumber ERP Order Number String Y
onlineOrderId Online platform orders String N
warehouseCode Warehouse code String Y
customerCode customer code String N
carrier carrier String N
trackNumber Waybill number String Y
warehouseOrderNumber Warehouse outbound order number String N
wmsStatus Warehouse document status String Y
status status String Y WMsStatus needs to map SENDING (in stock), JOIN (shipped, out of stock), CANCEL (cancelled), FAILED (failed or abnormal) on its own
shippingTime shipping time Long N 13 digit timestamp
skuList item info List <sku> N
errorMsg error message String N

sku 信息:

Field Field Description DataType Require Description
sku Warehouse SKU String Y
quantity Quantity of goods Number Y

返回信息:

Field Field Description DataType Require Description
success Is it successful String Y true:success, false:failure
message Failure message String N

请求示例:

{
    "accessId": "QIANYI",
    "method": "pushOrderInfo",
    "content": "{\"orderNumber\":\"DA250117100074\",\"onlineOrderId\":\"\",\"warehouseCode\":\"XY002\",\"carrier\":\"\",\"trackNumber\":\"333\",\"warehouseOrderNumber\":\"\",\"wmsStatus\":\"error\",\"status\":\"FAILED\",\"skuList\":{\"sku\":\"60000-test02\",\"quantity\":4},\"errorMsg\":\"仓库接收失败\"}",
    "sign": "a125ee2d535ab0811c6d9f74d52a525534b3aee8"
}

返回信息:

{
    "success": true,
    "message": ""
}

14.2. ASN Push Interface

Description: Warehouse pushes ASN (Advance Shipping Notice) information to Qianyi ERP. please contact with qianyi for the param ‘warehouseExtraType’

Method Name:

  • pushAsnInfo

POST /sys/automatic/receiveAsn/{warehouseExtraType}

Request Parameters:

Field Name Description Type Required Remarks
warehouseCode Warehouse code String Y
customerCode Customer code String N
asnNumber Qianyi ASN number String Y
wmsStatus ASN status from 3rd-party WMS String Y Mapped status provided by wmsStatus. See mapping table: ASN Status
referenceNumber Warehouse ASN number String N
finishTime Completion time Long N 13-digit timestamp
updateTime Receiving update time Long Y 13-digit timestamp
skuList Product details Array Y
└ sku Product code String Y
└ name Product name String N
└ estimatedQuantity Estimated quantity Number N
└ receivedQuantity Received quantity Number Y Equal to goodQuantity + badQuantity
└ goodQuantity Good quantity Number N
└ badQuantity Defective quantity Number N
batchNo Batch number String N In the incremental receiving scenario, To prevent "Qianyi" from repeatedly consuming the same asn push message, it is necessary to ensure uniqueness

Response:

Field Name Description Type Required Remarks
success Whether successful String Required true for success, false for fail
errorMsg Error message String Optional

Request Example:

{
    "accessId": "QIANYI",
    "method": "pushAsnInfo",
    "content": "{\"customerCode\":null,\"asnNumber\":\"A241022159999\",\"warehouseCode\":\"Test-bin\",\"wmsStatus\":\"RECEIVING\",\"referenceNumber\":\"A241022159999\",\"finishTime\":null,\"updateTime\":1744098883894,\"skuList\":{\"sku\":\"V-012B-R\",\"name\":\"V-012B-R\",\"estimatedQuantity\":121,\"receivedQuantity\":2,\"goodQuantity\":2,\"badQuantity\":0},\"batchNo\":\"222222-1\"}",
    "sign": "a125ee2d535ab0811c6d9f74d52a525534b3aee8"
}

Response Example:

{
    "success": true,
    "errorMsg": ""
}

14.3. asn-push-status

枚举值 备注
FINISHED finish asn
CLOSED close asn
SHIPPING shipping
RECEIVING warehouse receiving

Smart cross-border e-commerce partner

© Copyright QianYi Team 2025 All Rights Reserved            Updated 2025-06-13 09:54:22

results matching ""

    No results matching ""