1. Introduction

ISVs need to refer to this document when integrating with qlink's third-party warehouses.

Order business process diagram:

Create Order Business Process Diagram

2. Addresses

Environment Address
Production qlink-global.800best.com
Test qlink-global-test.800best.com

3. Environment Requirements

Interface address: Third-party service address provided for qlink ISVs to call. Request method:

  • Method: POST
  • Content-Type: application/json

Header parameters:

Field Name Type Required Notes
appKey String Y appkey provided by qlink to ISV
sign String Y Signature
warehouseType String N Warehouse type, see Supported Warehouse List for supported warehouses and mappings
secret String N Third-party warehouse secret. gwms uses agreed secret for signature verification
accessToken String N accessToken
refreshToken String N refreshToken
authInfo String N Authorization information used by gwms and logistics providers. JSON format
apiUrl String N Service request domain

authInfo value example: "authInfo":[ {"authInfoKey":"MERCHANT_ID", "value":"BG2447"},

{"authInfoKey":"SECRET_KEY", "value":"f1dafc7b7c934d21327d990b0ea56cfcf4814ef699345a37010c07e02d5219a9"},

{"authInfoKey":"PRINT_SIZE", "value":""} ] Where MERCHANT_ID, SECRET_KEY, and PRINT_SIZE are fields agreed upon by the logistics provider. Different logistics providers may have different fields, all requested through a unified JSON format.

Common response:

Field Name Type Required Notes
success boolean Yes Whether the business processing was successful
errorMsg String No Business processing exception message
result T No Specific interface return data

Signature method:

  1. Compose appKey and content into a JSON string {"appKey":"appKey","content":"specific business parameters"}, when content is empty {"appKey":"appKey"}

  2. Add the customer appSecret assigned by the third party to the end of the JSON to get the string to be encrypted {"appKey":"appKey","content":"specific business parameters"}appSecret

  3. Perform SHA1 encryption on the string to be encrypted to get the signature (org.apache.commons.codec.digest.DigestUtils.sha1Hex(string to be encrypted))

  4. Assign the signature to the sign field of the common request

4. Warehouse List

Description: Get all shipping warehouses for subsequent processes such as issuing ASN orders, inventory synchronization, and issuing orders.

POST /global-api/v1/warehouse/initWarehouses

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key Array Yes

Return Information:

Field Name Field Description Type Required Notes
warehouseList Warehouse information Array
└ warehouseCode Warehouse code String Required Must be unique
└ warehouseName Warehouse name String Required Must be unique

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application License' \
--data '{"warehouseKey":["afd1dd995b9e432c907d3f8237b3f69b"]}'

Return Example:

{ "errorMsg": null, "result": { "warehouseInfoList": [ { "warehouseCode": "TU美东代理仓", "warehouseName": "TU01" }, { "warehouseCode": "TU美西自营仓", "warehouseName": "TU02" }, { "warehouseCode": "TU测试", "warehouseName": "TU03" } ] }, "success": true, "code": null }

5. Warehouse Logistics List

Description: The initChannels interface is used to get which logistics are supported by the warehouse.

POST /global-api/v1/warehouse/initChannels

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key Array Yes
warehouseCode Warehouse code String N

Return Information:

Field Name Field Description Type Required Notes
channelList ArrayList
└ channelCode Warehouse logistics code String Required Must be unique
└ channelName Warehouse logistics name String Required
└ warehouseCode Warehouse code String N
└ carrierName Carrier name String N

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data ' {"warehouseKey":["8444dcafa8d74da0bdf49f3e0ae38829"]}'

Return Example:

{ "errorMsg": null, "result": { "channelList": [ { "channelCode": "Service with the lowest price", "channelName": "自动选取价格最低的渠道", "carrierName": "" } ] }, "success": true, "code": null }

6. Create Order

Description: After ISV creates an order, it will request to create an order in the warehouse so that the warehouse can prepare goods and ship them.

POST /global-api/v1/warehouse/createOrder

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key String Yes
orderNumber Qianyi order number String Required
onlineOrderId Platform order number String Required Original order number, master order number
shopName Shop name String Required
warehouseCode Warehouse code String Required
logisticsCode Shipping channel code String Required
platform Platform String Required
freight Freight BigDecimal Required
packageType Package type String N Default NORMAL normal package OWN_PAKAGE self-shipped package
trackingNumber Tracking number String N Customer-provided label, required when package type is self-shipped
labelData Label data String N Customer-provided label, required when package type is self-shipped, label data is PDF BASE64
codEnabled Whether it's a COD order Integer Required 1: COD order 0: non-COD order
codPayAmount COD order amount BigDecimal N COD amount, required for COD orders
codCurrency COD amount currency String N COD currency, required for COD orders
orderCreate Order creation time Date N
deliveryTime Promised delivery time Date N
onlineShopId Online shop ID String N Online shop ID, only used by some warehouses
receiver Recipient information Object Required
└ name Contact person String Required
└ phone Contact phone String Required
└ email Contact email String Y
└ country Country two-letter code String Required
└ state Province/State String Required
└ city City String Required
└ district District String N
└ address1 Address 1 String Required
└ address2 Address 2 String N
└ postalCode Postal code String Required
skuList Order product information Array Required
└ sku Warehouse product code String Required
└ erpSku Product code String Required
└ name Product name String Required
└ quantity Quantity String Required
└ amount Product amount BigDecimal Required
└ shippingPrice Product shipping fee BigDecimal N
└ hsCode Customs code String N
└ chineseCustomsDeclarationName Chinese customs declaration name String N
└ englishCustomsDeclarationName English customs declaration name String N
ext Extended information Array N
└ houseNumber House number String N
totalPrice order price BigDecimal N
currency currency String N
payTimeLocal pay time Long N
isInsurance Insurance Integer N 0:N 1:Y
insuranceValue Insured amount Integer N
userNick seller id String N

Return Information:

Field Name Field Description Type Required Notes
warehouseOrderNumber Warehouse order number String N

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b", "warehouseCode": "TU02", "orderNumber": "UNU250822163403", "onlineOrderId":"UNU250822163403", "logisticsCode": "UPS-1", "codEnabled": 1, "codPayAmount": 1, "shopName": "测试店铺", "platform": "SHEIN", "codCurrency": "USD", "freight": 0.0, "skuList": [ { "amount": 0.0, "quantity": 1, "name": "soges Side Table Moving Unite Laptop Desk Smmall Computer Table with Caster, Black KH02-BK", "sku": "SKU1" } ], "receiver": { "country": "CN", "phone": "13131313131", "city": "双鸭山市", "address2": "", "address1": "测试街道地址", "postalCode": "211300", "name": "测试", "state": "黑龙江省", "email": "" }, "ext": [ { "houseNumber": "" } ], "totalPrice": 0.0, "currency": "USD", "payTimeLocal": 1634030000000, "isInsurance": 0, "insuranceValue": 0.0, "userNick": "1" }'

Return Example:

{ "errorMsg": null, "result": { "w"warehouseOrderNumber": "OBS0012508260RU", "orderNumber": "S20250923001", "info": "oms:LA02仓库未分配权限", "success": false }, "success": true, "code": null }

7. Cancel Order

Description: Used for ISV to cancel orders in the warehouse.

POST /global-api/v1/warehouse/cancelOrder

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key Array Yes
warehouseCode Warehouse code String N
cancelOrderList Order information Array Required
└ orderNumber ERP order number String Required
└ warehouseOrderNumber Warehouse order number String N
└ referenceCode Outbound order number (used by third-party warehouse distribution) String N

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b", "warehouseCode": "TU02", "cancelOrderList":[ { "orderNumber":"UNU250822163403", "referenceCode":"UNU250822163403" } ] }'

8. Query Order Information

Description: Used to synchronize tracking numbers and order status from the warehouse to Qianyi.

POST /global-api/v1/warehouse/getOrder

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseCode Warehouse code String N
getOrderInfoList Order information Array Required
└ orderNumber ERP order number String Required
└ warehouseOrderNumber Warehouse order number String N
└ referenceCode Outbound order number (used by third-party warehouse distribution) String N

Return Information:

Field Name Field Description Type Required Notes
orderNumber Qianyi order number String Required
wmsStatus Third-party system outbound order status String Required
status Qianyi outbound order status String Required wmsStatus needs to be mapped by yourself SENDING (outbound in progress) SUCCESS (shipped, outbound) 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: --header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseCode": "TU02", "warehouseKey": "afd1dd995b9e432c907d3f8237b3f69b", "getOrderInfoList": [ { "orderNumber": "UNU250822163403" } ] }'

Return Example:

{ "errorMsg": null, "result": { "warehouseGetOrderList": [ { "orderNumber": "UNU250822163403", "wmsStatus": "0", "status": "SENDING" } ] }, "success": true, "code": null }

9. Inventory Synchronization

Description: Synchronize warehouse SKU and SKU inventory information to ISV.

POST /global-api/v1/warehouse/syncInventory

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key String Yes
pageSize Number per page Integer Required
page Current page Integer Required
warehouseCode Warehouse code String Required
warehouseSkuList Warehouse product codes Array N
└ warehouseSku Product code String N
updateTimeFrom The warehouse stores the update time Long N

Return Information:

Field Name Field Description Type Required Notes
isLastPage Whether it's the last page Boolean Required true: last page false: not last page
currentPage Current page Integer Required
pageCount Total pages Integer Required
data Inventory information List\
warehouseCode Warehouse code String Required
warehouseSku Warehouse product code String Required
onwayQuantity In-transit quantity String Y Default 0
pendingQuantity Pending quantity String Y Default 0
sellableQuantity Sellable quantity String Required
unsellableQuantity Unsellable quantity String Y Default 0
reservedQuantity Reserved quantity String Y Default 0
useQuantity Used quantity String Y Default 0
totalQuantity Total inventory quantity String Required

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b", "warehouseCode": "TU02", "pageSize":10, "page":1, "warehouseSkuList":[], "updateTimeFrom":1758617060000 }'

Return Example:

{ "errorMsg": null, "result": [ { "warehouseCode": "TU02", "warehouseSku": "LINGXING-SKUE", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "10", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "0", "totalQuantity": "550" }, { "warehouseCode": "TU02", "warehouseSku": "LINGXINGSKUB", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "58", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "1", "totalQuantity": "720" }, { "warehouseCode": "TU02", "warehouseSku": "Stitch", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "4706", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "22", "totalQuantity": "6168" }, { "warehouseCode": "TU02", "warehouseSku": "LINGXING-SKUD", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "29", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "21", "totalQuantity": "590" }, { "warehouseCode": "TU02", "warehouseSku": "LINGXING-SKUC", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "92", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "1", "totalQuantity": "633" }, { "warehouseCode": "TU02", "warehouseSku": "ceshi", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "1997", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "17", "totalQuantity": "2554" }, { "warehouseCode": "TU02", "warehouseSku": "SKU1", "onwayQuantity": "1001", "pendingQuantity": "0", "sellableQuantity": "109", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "1", "totalQuantity": "650" }, { "warehouseCode": "TU02", "warehouseSku": "SKU2", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "160", "unsellableQuantity": "6", "reservedQuantity": "0", "useQuantity": "0", "totalQuantity": "726" }, { "warehouseCode": "TU02", "warehouseSku": "A 1", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "0", "unsellableQuantity": "0", "reservedQuantity": "0", "useQuantity": "0", "totalQuantity": "0" }, { "warehouseCode": "TU02", "warehouseSku": "LINGXING-SKUA", "onwayQuantity": "0", "pendingQuantity": "0", "sellableQuantity": "27", "unsellableQuantity": "5", "reservedQuantity": "0", "useQuantity": "31", "totalQuantity": "622" }, { "warehouseCode": "TU02", "warehouseSku": "pikaqiu", "onwayQuantity": "30", "pendingQuantity": "0", "sellableQuantity": "6463", "unsellableQuantity": "999", "reservedQuantity": "0", "useQuantity": "54", "totalQuantity": "7877" } ], "success": true, "code": null }

10. Create ASN Order

Description: After ISV creates an ASN order, it will request to create an ASN order in the warehouse to increase the warehouse SKU inventory.

POST /global-api/v1/warehouse/createAsnOrder

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key String Yes
asnNumber Qianyi ASN number String Required
warehouseCode Warehouse code String Required
customNumber Reference number String N
estimatedArrivalDate Estimated arrival time Long Optional
trackNumber Tracking number String Optional
type ASN order type String Optional ASN Order Types
orderNumber ERP order number String Optional Will have value for return orders
onlineOrderId Online order number String Optional Will have value for return orders
saleReturnReason Return reason String Optional Will have value for return orders
skuList Product information Array Required
└ sku Product code String Required
└ name Product name String Optional
└ quantity Quantity Number Required
asnMarkSku Packing information List Optional
└ boxNumber Box number Number Optional
└ markCode Box label number String Optional
└ quantity Packed quantity Number Optional
└ sku Product code String Optional
└ name Product name String Optional
incomingOrderGoodsType GoodsType String N 1:Full Container Load、2:Less than Container Load、3:Returned Goods、0:default
containerType Container Type String N 20GP(1)、40GP(2)、40HQ(3)、45GP(4)、45HQ(5)
bulkCargoType Bulk Cargo Type (by Pallet) Integer N N:0,Y:1
palletCnt Pallet Quantity Integer N
bulkCargoTypePiece Bulk Cargo Type (by Piece) String N 0-N,1-Y
containerModel Container Model String N

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseKey": "afd1dd995b9e432c907d3f8237b3f69b", "asnNumber": "A250828163429", "warehouseCode": "TU02", "customNumber": "", "estimatedArrivalDate": 1692086400000, "trackNumber": "", "type": "MANUAL", "orderNumber": "", "onlineOrderId": "", "saleReturnReason": "", "skuList": [ { "sku": "SKU1", "name": "soges Side Table Moving Unite Laptop Desk Small Computer Table with Caster, Black KH02-BK", "quantity": 1 } ], "asnMarkSku": [ { "boxNumber": 1, "markCode": "BOX001-1-1", "quantity": 1, "sku": "SKU1", "name": "soges Side Table Moving Unite Laptop Desk Small Computer Table with Caster, Black KH02-BK", "length":20.0, "width":19.1, "height":20.1, "lengthUnit":"cm" } ], "incomingOrderGoodsType": 1, "containerType": 1, "bulkCargoType": 0, "palletCnt": 1, "bulkCargoTypePiece": 0, "containerModel": "20GP" }'

Return Example:

{ "errorMsg": null, "result": { "success": false, "asnNumber": "A20250923002", "info": "SKU:SKU092201未审核", "wmsAsnNumber": "" }, "success": true, "code": null }

11. Query ASN Orders

Description: Query warehouse ASN order status and synchronize to ISV.

POST /global-api/v1/warehouse/getAsnList

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key String Yes
asnNumbers Qianyi ASN info (batch) List Required
└ asnNumber asnNumber String Yes
└ refCode wsmNumber String Yes
└ type asn type String Yes
warehouseCode Warehouse code String Optional

Return Information:

Field Name Field Description Type Required Notes
asnNumber Qianyi ASN number String Required
wmsStatus Third-party system ASN order status String Required wmsStatus needs to provide mapped status, see mapping table below "ASN Order Status"
referenceNumber Warehouse ASN number String Required
finishTime Completion time String Required
skuList Product information Array Required
└ sku Product code String Required
└ name Product name String Optional
└ estimatedQuantity Estimated quantity Number Required
└ receivedQuantity Received quantity Number Required
└ goodQuantity Good quantity Number Required
└ badQuantity Defective quantity Number Required

12. ASN Order Status

Enum Value Notes
NEW New
DELETED Deleted
SHIPPING In transit
RECEIVING Receiving
FINISHED Finished
CLOSED Closed

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b", "warehouseCode": "TU02", "asnNumbers": [ { "asnNumber": "A20250923001", "refCode": "A20250923001", "type": "SALE_RETURN" }, { "asnNumber": "A20250923002", "refCode": "A20250923002", "type": "PURCHASE" } ] }'

Return Example:

{ "errorMsg": null, "result": { "asnList": [ { "asnNumber": "A250822163405", "wmsStatus": "NEW", "referenceNumber": "IB001250822RS" } ] }, "success": true, "code": null }

13. Cancel ASN Order

Description: Used for ISV to cancel warehouse ASN orders.

POST /global-api/v1/warehouse/cancelAsnOrder

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key String Yes
asnNumbers Qianyi ASN numbers (batch) List <String> Required
warehouseCode Warehouse code String Optional

Return Information:

Field Name Field Description Type Required Notes
asnNumber Qianyi ASN number String Required
operation Operation on ASN order String Required Cancel: CANCEL
info Remarks String Optional Failure information
success Whether successful Boolean Optional

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "asnNumbers":["A250828163429"], "warehouseCode":"TU02", "warehouseKey": "afd1dd995b9e432c907d3f8237b3f69b" }'

Return Example:

{ "errorMsg": null, "result": { "results": [ { "asnNumber": "A250828163429", "operation": "CANCEL", "info": "", "success": true } ] }, "success": true, "code": null }

14. Product Distribution to Warehouse

Description: After ISV creates product SKU and warehouse SKU, it distributes the mapping relationship to the warehouse to maintain the SKU mapping relationship between ISV and warehouse. If warehouse product does not exist, create new; if exists, update.

POST /global-api/v1/warehouse/insertSkuInfo

Interface Parameters:

Field Name Field Description Type Required Notes
warehouseKey Warehouse key String Yes
warehouseCode Warehouse code String Optional
sku Warehouse product SKU, max 255 characters String Required
erpSku Product SKU, max 255 characters String Required
title Product name, max 255 characters String Optional
barcode Product barcode, max 255 characters String Optional
specifications Product specifications String Optional
imageUrl Image URL String Optional
weight Gross weight Decimal Optional
netWeight Net weight Decimal Optional
weightUnit Weight unit String Optional
length Length Decimal Optional
width Width Decimal Optional
height Height Decimal Optional
dimensionUnit Length unit String Optional
itemPackage Packaging quantity Number Optional
cdPriceMethod Calculation Method of Declared Value for Customs String Optional In Proportion:RATE、At a Fixed Value:CONSTANT
englishCustomsDeclarationName English Declared Name for Customs String Optional
chineseCustomsDeclarationName Chinese Declared Name for Customs String Optional
brand brand String Optional
customsCode Customs HS Code String Optional
wmsBarcode wmsbarcode String Optional
customsDeclarationPrice Declared Value for Customs BigDecimal Optional
cdPriceMaximum Maximum Declared Value for Customs BigDecimal Optional
cdPriceRate Declared Value Ratio for Customs BigDecimal Optional
purchaseCost Fixed Purchasing Cost BigDecimal Optional
purchaseCostUnit purchase currency String Optional
currencyMap key:Currency, value:Exchange Rate Map Optional

Return Information:

Field Name Field Description Type Required Notes
sku Product code String Required
operation Operation on SKU String Required Create: CREATE
info Remarks String Optional Failure information
success Whether successful Boolean Optional

Request Example:

--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'Content-Type: application/json' \
--data '{ "warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b", "warehouseCode": "TU02", "sku":"SKU1", "barcode":"123", "title":"124", "specifications":"123", "imageUrl":"http://baidu.com/12c.html", "weight":"12.1", "netWeight":"12.1", "weightUnit":"KG", "length":12, "width":10, "height":5, "dimensionUnit":"cm", "itemPackage":"1", "cdPriceMethod":"RATE", "englishCustomsDeclarationName":"123", "chineseCustomsDeclarationName":"123", "brand":"123", "customsCode":"123", "wmsBarcode":"123", "customsDeclarationPrice":"12.1", "cdPriceMaximum":"12.1", "cdPriceRate":"12.1", "purchaseCost":"12.1", "purchaseCostUnit":"CNY", "currencyMap":{}, }'

Return Example:

{ "errorMsg": null, "result": { "sku": "SKU1", "operation": "CREATE", "info": "sku【SKU1】已被使用;", "success": false }, "success": true, "code": null }

15. SDK Usage

16. Supported Warehouse List

Warehouse Name Warehouse Code (warehouseType) Debugging Status Warehouse Authorization Warehouse List Warehouse Channel List Issue Outbound Order Cancel Outbound Order Query Outbound Order Issue ASN Order Cancel ASN Order Query ASN Order Create Product Sync Inventory
Lingxing Warehouse LINGXING
Bazhua Fish New System (Xin Warehouse) BZYXXTXC
COPE COPE
He Feng 56BAY
© Copyright QianYi Team 2025 All Rights Reserved            Updated 2025-09-29 04:26:14

results matching ""

    No results matching ""