1. 简介
ISV需要对接qlink的第三方仓,需要看此文档
订单业务流程示意图:

2. 地址
| 环境 | 地址 |
|---|---|
| 生产环境 | qlink-global.800best.com |
| 测试环境 | qlink-global-test.800best.com |
3. 环境要求
接口地址:第三方提供服务地址供qlink的ISV调用。 请求方式:
- Method: POST
- Content-Type: application/json
header参数:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| appKey | String | Y | qlink给ISV的appkey |
| sign | String | Y | 签名 |
| warehouseType | String | N | 仓库类型,支持仓库及映射见 支持仓库列表 |
| secret | String | N | 第三方仓秘钥。gwms用双方约定的秘钥验签 |
| accessToken | String | N | accessToken |
| refreshToken | String | N | refreshToken |
| authInfo | String | N | gwms传物流商这边用到的授权信息。json格式 |
| apiUrl | String | N | 服务请求域名 |
上面的header中的字段不可以放到request中去,否则会造成签名认证失败。
authInfo 传值举例: "authInfo":[ {"authInfoKey":"MERCHANT_ID", "value":"BG2447"},
{"authInfoKey":"SECRET_KEY", "value":"f1dafc7b7c934d21327d990b0ea56cfcf4814ef699345a37010c07e02d5219a9"},
{"authInfoKey":"PRINT_SIZE", "value":""} ] 其中,MERCHANT_ID,SECRET_KEY,PRINT_SIZE均为物流商约定要传的字段,不同的物流商字段可能不同,都通过 json格式统一请求。
公共响应:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| success | boolean | 是 | 业务处理是否成功 |
| errorMsg | String | 否 | 业务处理异常消息 |
| result | T | 否 | 具体接口返回数据 |
签名方式:
1、将appKey和content组成json字符串{"appKey":"appKey","content":"具体业务参数"},content为空时{"appKey":"appKey"}
2、将第三方分配的客户appSecret添加到json的末尾,得到待加密字串{"appKey":"appKey","content":"具体业务参数"}appSecret
3、对待加密字串做sha1加密得到签名(org.apache.commons.codec.digest.DigestUtils.sha1Hex(待加密字串))
4、将签名赋值到公共请求的sign字段
4. 授权
描述: 调用方向平台和仓库进行授权
POST /global-api/v1/auth/authorize
header参数:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| appKey | String | Y | qlink给ISV的appkey |
| sign | String | Y | 签名 |
| warehouseType | String | N | 仓库类型,支持仓库及映射见 支持仓库列表 |
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| appKey | qlink给ISV的appkey | String | 是 | |
| authSource | 仓库类型 | String | 仓库类型,支持仓库及映射见 支持仓库列表 | |
| businessType | 业务类型 | String | 是 | WAREHOUSE:仓库;LOGISTICS:物流 |
| authKey | 授权账户 | String | 是 |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| success | 授权结果 | Boolean | ||
| data | 授权返回信息 | Object | ||
| └ accessToken | 仓库的授权TOKEN | String | N | 下面的接口需要将这个token放到header中用于请求参数 |
| └ accessTokenExpire | 仓库的授权TOKEN过期时间 | Number | N | |
| └ message | 平台授权返回信息 | String | N |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{
"appKey": "QGTS_test01",
"accessId": "客户测试专用(不要修改)",
"method": "authorize",
"content":"{\"appKey\": \"QGTS_test01\",\"authSource\": \"JINGQI\",\"businessType\": \"WAREHOUSE\",\"authKey\": \"客户测试专用(不要修改)\", \"authSecret\": \"123456\"}'
返回示例:
{
"success": true,
"errorMsg": null,
"message": null,
"code": null,
"data": {
"id": null,
"status": null,
"message": "授权更新成功",
"accessToken": "AX123456TEST2223456",
"accessTokenExpire": 1763150516488
}
}
5. 仓库列表
描述: 获取所有的发货仓,用于后续下发入库单、库存同步、下发订单等流程
POST /global-api/v1/warehouse/initWarehouses
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | Array | 是 |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseList | 仓库信息 | Array | ||
| └ warehouseCode | 仓库编码 | String | 必填 | 需具有唯一性 |
| └ warehouseName | 仓库名称 | String | 必填 | 需具有唯一性 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{"warehouseKey":["afd1dd995b9e432c907d3f8237b3f69b"]}'
返回示例:
{
"errorMsg": null,
"result": {
"warehouseInfoList": [
{
"warehouseCode": "TU美东代理仓",
"warehouseName": "TU01"
},
{
"warehouseCode": "TU美西自营仓",
"warehouseName": "TU02"
},
{
"warehouseCode": "TU测试",
"warehouseName": "TU03"
}
]
},
"success": true,
"code": null
}
6. 仓库物流列表
描述: initChannels接口就是用于获取仓库支持哪些物流的
POST /global-api/v1/warehouse/initChannels
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | Array | 是 | |
| warehouseCode | 仓库编码 | String | N |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| channelList | ArrayList | |||
| └ channelCode | 仓库物流代码 | String | 必填 | 需具有唯一性 |
| └ channelName | 仓库物流名称 | String | 必填 | |
| └ warehouseCode | 仓库编码 | String | N | |
| └ carrierName | 承运商名称 | String | N |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '
{"warehouseKey":["8444dcafa8d74da0bdf49f3e0ae38829"]}'
返回示例:
{
"errorMsg": null,
"result": {
"channelList": [
{
"channelCode": "Service with the lowest price",
"channelName": "自动选取价格最低的渠道",
"carrierName": ""
}
]
},
"success": true,
"code": null
}
7. 创建订单
描述: 在ISV创建订单后会向仓库请求创建订单,以便仓库备货、发货
POST /global-api/v1/warehouse/createOrder
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| orderNumber | 千易订单号 | String | 必填 | |
| onlineOrderId | 平台订单号 | String | 必填 | 原始订单号,母单号 |
| customerCode | 货主编码 | String | N | |
| onlineOrderSubId | 平台子单号 | String | N | 原始订单号,子单号 |
| shopName | 店铺名称 | String | 必填 | |
| warehouseCode | 仓库代码 | String | 必填 | |
| logisticsCode | 发货渠道代码 | String | 必填 | |
| platform | 平台 | String | 必填 | 平台枚举,最大20字符 |
| freight | 运费 | BigDecimal | 必填 | |
| packageType | 包裹类型 | String | N | 默认NORMAL 普通包裹 OWN_PAKAGE 自发包裹 |
| trackingNumber | 运单号 | String | N | 客供面单,包裹类型为自发包裹时必传 |
| labelData | 面单 | String | N | 客供面单,包裹类型为自发包裹时必传,面单 数据为 PDF BASE64 |
| codEnabled | 是否是cod订单 | Integer | 必填 | 1:cod订单 0:非cod订单 |
| codPayAmount | cod订单金额 | BigDecimal | N | cod金额,cod订单必填 |
| codCurrency | cod金额币种 | String | N | cod币种,cod订单必填 货币单位 |
| orderCreate | 订单创建时间 | Date | N | |
| deliveryTime | 承诺送达时间 | Date | N | |
| onlineShopId | 线上店铺id | String | N | 线上店铺id,只给部分仓库使用 |
| receiver | 收件人信息 | Object | 必填 | |
| └ name | 联系人 | String | 必填 | |
| └ phone | 联系电话 | String | 必填 | |
| 联系邮箱 | String | Y | ||
| └ country | 国家二字码 | String | 必填 | |
| └ state | 省/州 | String | 必填 | |
| └ city | 城市 | String | 必填 | |
| └ district | 区 | String | N | |
| └ address1 | 地址 1 | String | 必填 | |
| └ address2 | 地址 2 | String | N | |
| └ postalCode | 邮编 | String | 必填 | |
| skuList | 订单商品信息 | Array | 必填 | |
| └ sku | 仓库商品编码 | String | 必填 | |
| └ erpSku | 商品编码 | String | 必填 | |
| └ name | 商品名称 | String | 必填 | |
| └ quantity | 数量 | String | 必填 | |
| └ amount | 商品金额 | BigDecimal | 必填 | |
| └ shippingPrice | 商品运费 | BigDecimal | N | |
| └ hsCode | 海关编码 | String | N | |
| └ chineseCustomsDeclarationName | 中文报关名 | String | N | |
| └ englishCustomsDeclarationName | 英文报关名 | String | N | |
| ext | 扩展信息 | Array | N | 易仓,领星仓 |
| └ houseNumber | 门牌号 | String | N | |
| totalPrice | 订单金额 | BigDecimal | N | |
| currency | 订单金额币种 | String | N | |
| payTimeLocal | 付款时间 | Long | N | |
| isInsurance | 保险服务 | Integer | N | 0:否 1:是 |
| insuranceValue | 投保金额 | Integer | N | |
| needSign | 是否签名 | Integer | N | 是否签名 :1-否;0-是 |
| signatureService | 签名服务 | Integer | N | 签名服务: 1-间接签署;2-直接签署;3-成人签署 |
| userNick | 卖家id | String | N | |
| remark | 备注 | String | N |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseOrderNumber | 仓库订单号 | String | N |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--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"
}'
返回示例:
{ "errorMsg": null, "result": { "warehouseOrderNumber": "OBS0012508260RU", "orderNumber": "S20250923001", "info": "oms:LA02仓库未分配权限", "success": false }, "success": true, "code": null }
8. 取消订单
描述: 用于ISV向仓库取消订单
POST /global-api/v1/warehouse/cancelOrder
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | Array | 是 | |
| warehouseCode | 仓库编码 | String | N | |
| cancelOrderList | 订单信息 | Array | 必填 | |
| └ orderNumber | ERP订单号 | String | 必填 | |
| └ warehouseOrderNumber | 仓库订单号 | String | N | |
| └ referenceCode | 出库单单号(第三方仓库下发使用) | String | N | |
| L customerCode | 货主编码 | String | N |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{
"warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b",
"warehouseCode": "TU02",
"cancelOrderList":[
{
"orderNumber":"UNU250822163403",
"referenceCode":"UNU250822163403"
}
]
}'
9. 查询订单信息
描述: 用于同步仓库的运单号、订单状态到千易
POST /global-api/v1/warehouse/getOrder
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| warehouseCode | 仓库编码 | String | N | |
| getOrderInfoList | 订单信息 | Array | 必填 | |
| └ orderNumber | ERP订单号 | String | 必填 | |
| └ warehouseOrderNumber | 仓库订单号 | String | N | |
| └ referenceCode | 出库单单号(第三方仓库下发使用) | String | N | |
| L customerCode | 货主编码 | String | N |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| orderNumber | 千易订单号 | String | 必填 | |
| wmsStatus | 第三方系统的出库订单状态 | String | 必填 | |
| status | 千易出库单状态 | String | 必填 | 需由 wmsStatus 自行映射SENDING( 出 库 中 ) SUCCESS ( 已发货、 已出库) CANCEL(取消) FAILED(失败或异常) |
| carrierName | 承运商名称 | String | N | |
| deliveryTime | 出库时间 | String | N | |
| trackingNumber | 运单号 | String | N | status 为 SUCCESS 时必填 |
| failedReason | 失败原因 | String | N | status 为 FAILED 时必填 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{
"warehouseCode": "TU02",
"warehouseKey": "afd1dd995b9e432c907d3f8237b3f69b",
"getOrderInfoList": [
{
"orderNumber": "UNU250822163403"
}
]
}'
返回示例:
{
"errorMsg": null,
"result": {
"warehouseGetOrderList": [
{
"orderNumber": "UNU250822163403",
"wmsStatus": "0",
"status": "SENDING"
}
]
},
"success": true,
"code": null
}
10. 库存同步
描述: 同步仓库的sku、sku库存信息到ISV
POST /global-api/v1/warehouse/syncInventory
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| pageSize | 每页数量 | Integer | 必填 | |
| page | 当前页 | Integer | 必填 | |
| warehouseCode | 仓库编码 | String | 必填 | |
| warehouseSkuList | 仓库商品编码 | Array | N | |
| └ warehouseSku | 商品编码 | String | N | |
| updateTimeFrom | 同步仓库海外仓库存更新时间 | Long | N | |
| customerCode | 货主编码 | String | N |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| isLastPage | 是否是 最后一页 | Boolean | 必填 | true:最后一页false:不是最后一页 |
| currentPage | 当前页 | Integer | 必填 | |
| pageCount | 总页数 | Integer | 必填 | |
| data | 库存信息 | List\ | ||
| warehouseCode | 仓库编码 | String | 必填 | |
| warehouseSku | 仓库商品编码 | String | 必填 | |
| onwayQuantity | 在途数量 | String | Y | 默认 0 |
| pendingQuantity | 待上架数量 | String | Y | 默认 0 |
| sellableQuantity | 可售数量 | String | 必填 | |
| unsellableQuantity | 不合格数量 | String | Y | 默认 0 |
| reservedQuantity | 待出库数量 | String | Y | 默认 0 |
| useQuantity | 占用数量 | String | Y | 默认 0 |
| totalQuantity | 总库存数量 | String | 必填 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{
"warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b",
"warehouseCode": "TU02",
"pageSize":10,
"page":1,
"warehouseSkuList":[],
"updateTimeFrom":1758617060000
}'
返回示例:
{
"errorMsg": null,
"result": {
"isLastPage": true,
"data": [
{
"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": "4756",
"unsellableQuantity": "0",
"reservedQuantity": "0",
"useQuantity": "19",
"totalQuantity": "6165"
},
{
"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": "2012",
"unsellableQuantity": "0",
"reservedQuantity": "0",
"useQuantity": "14",
"totalQuantity": "2566"
}
]
},
"success": true,
}
11. 入库单创建
描述: 在ISV创建入库单后会向仓库请求创建入库单,目的是增加仓库sku的库存
POST /global-api/v1/warehouse/createAsnOrder
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| asnNumber | 千易入库单号 | String | 必填 | |
| warehouseCode | 仓库代码 | String | 必填 | |
| customerCode | 货主编码 | String | N | |
| customNumber | 参考号 | String | N | |
| estimatedArrivalDate | 预计到货时间 | Long | 选填 | |
| trackNumber | 运单号 | String | 选填 | |
| type | 入库单类型 | String | 选填 | 入库单类型 |
| orderNumber | erp订单号 | String | 选填 | 退货入库会有值 |
| onlineOrderId | 线上订单号 | String | 选填 | 退货入库会有值 |
| saleReturnReason | 退货原因 | String | 选填 | 退货入库会有值 |
| skuList | 商品信息 | Array | 必填 | |
| └ sku | 商品编码 | String | 必填 | |
| └ name | 商品名称 | String | 选填 | |
| └ quantity | 数量 | Number | 必填 | |
| └ length | 长 | Number | 选填 | |
| └ width | 宽 | Number | 选填 | |
| └ height | 高 | Number | 选填 | |
| asnMarkSku | 装箱信息 | List | 选填 | |
| └boxNumber | 箱号 | Number | 选填 | |
| └ markCode | 箱唛号 | String | 选填 | 如果箱号不填,箱唛号格式要求:ABC-123-箱号 |
| └ quantity | 装箱数量 | Number | 选填 | |
| └ sku | 商品编码 | String | 选填 | |
| └ name | 商品名称 | String | 选填 | |
| └ length | 长 | Decimal | 选填 | |
| └ width | 宽 | Decimal | 选填 | |
| └ height | 高 | Decimal | 选填 | |
| └ weight | 重量 | Decimal | 选填 | 箱子重量 |
| └ weightUnit | 重量单位 | String | 选填 | 重量单位注意大小写,不填默认KG |
| └ lengthUnit | 长度单位 | String | 选填 | 长度单位注意大小写,不填默认cm |
| internationalShippingMethod | 国际运输方式 | Integer | 选填 | 0-海运整柜,1-空运,2-铁路火车,3-公路卡车,4-快递,5-海运散货 |
| incomingOrderGoodsType | 当头程计划目的仓为无忧达仓库时需要客户选择的货物类型 | String | 选填 | 1:整柜、2:散柜、3:退货、0:默认传 |
| containerType | 货柜类型 | String | 选填 | 20GP(1)、40GP(2)、40HQ(3)、45GP(4)、45HQ(5) |
| bulkCargoType | 散货类型(托) | Integer | 选填 | 是:1 、否:0 |
| palletCnt | 托数量 | Integer | 选填 | |
| bulkCargoTypePiece | 散货类型(件) | String | 选填 | 0-否,1-是 |
| containerModel | 集装箱型号 | String | 选填 | |
| remark | 备注 | String | 选填 | 最长255个字符 |
| fileList | 入库单附件 | List | 选填 | 最多支持10个文件,单个文件不超过10M |
| └ fileName | 附件名称 | String | 选填 | 最长255个字符 |
| └ fileData | 文件 | String | fileList不为空时必传 | base64 |
| └ fileType | 文件类型(支持:zip,rar,xlsx,docx,pdf,png,jpeg,jpg) | String | 选填 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--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"
}'
返回示例:
{ "errorMsg": null, "result": { "success": false, "asnNumber": "A20250923002", "info": "SKU:SKU092201未审核", "wmsAsnNumber": "" }, "success": true, "code": null }
12. 入库单查询
描述: 通过查询仓库入库单的状态,同步给ISV
POST /global-api/v1/warehouse/getAsnList
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| asnSOList | 入库单信息 | Array | 必填 | |
| └ asnNumber | 入库单号 | String | 必填 | |
| └ refCode | wsm单号 | String | 必填 | |
| └ type | 入库单类型 | String | 必填 | 入库单类型,见枚举 |
| L customerCode | 货主编码 | String | N | |
| warehouseCode | 仓库编码 | String | 选填 |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 | |
|---|---|---|---|---|---|
| asnNumber | 千易入库单号 | String | 必填 | ||
| wmsStatus | 第三方系统的入库订单状态 | String | 必填 | 需由 wmsStatus 提供映射后的状态,映射表见下「入库单状态」 | |
| referenceNumber | 仓库入库单号 | String | 必填 | ||
| finishTime | 完成时间 | String | 必填 | ||
| skuList | 商品信息 | Array | 必填 | ||
| └ sku | 商品编码 | String | 必填 | ||
| └ name | 商品名称 | String | 选填 | ||
| └estimatedQuantity | 预计数量 | Number | 必填 | ||
| └receivedQuantity | 已收数量 | Number | 必填 | ||
| └goodQuantity | 良品数量 | Number | 必填 | ||
| └badQuantity | 不良品数量 | Number | 必填 |
13. 入库单状态
| 枚举值 | 备注 |
|---|---|
| NEW | 新建 |
| DELETED | 已删除 |
| SHIPPING | 在途 |
| RECEIVING | 收货中 |
| FINISHED | 已完成 |
| CLOSED | 已关闭 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{
"warehouseKey":"afd1dd995b9e432c907d3f8237b3f69b",
"warehouseCode": "TU02",
"asnSOList": [
{
"asnNumber": "A20250923001",
"refCode": "A20250923001",
"type": "SALE_RETURN"
},
{
"asnNumber": "A20250923002",
"refCode": "A20250923002",
"type": "PURCHASE"
}
]
}'
返回示例:
{
"errorMsg": null,
"result": {
"asnList": [
{
"asnNumber": "A250822163405",
"wmsStatus": "NEW",
"referenceNumber": "IB001250822RS"
}
]
},
"success": true,
"code": null
}
14. 入库单取消
描述: 用于ISV取消仓库入库单
POST /global-api/v1/warehouse/cancelAsnOrder
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| warehouseCode | 仓库编码 | String | 选填 | |
| asnSOList | 入库单信息 | Array | 选填 | |
| └ asnNumber | 入库单号 | String | 选填 | |
| └ refCode | wsm单号 | String | 选填 | |
| └ type | 入库单类型 | String | 选填 | 入库单类型,见枚举 |
| L customerCode | 货主编码 | String | N |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| asnNumber | 千易入库单号 | String | 必填 | |
| operation | 对入库单的操作 | String | 必填 | 取消:CANCEL |
| info | 备注信息 | String | 选填 | 失败信息 |
| success | 是否成功 | Boolean | 选填 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--header 'Content-Type: application/json' \
--data '{
"asnSOList": [
{
"asnNumber": "A20250923001",
"refCode": "A20250923001",
"type": "SALE_RETURN"
},
{
"asnNumber": "A20250923002",
"refCode": "A20250923002",
"type": "PURCHASE"
}
]
"warehouseCode":"TU02",
"warehouseKey": "afd1dd995b9e432c907d3f8237b3f69b"
}'
返回示例:
{
"errorMsg": null,
"result": {
"results": [
{
"asnNumber": "A250828163429",
"operation": "CANCEL",
"info": "",
"success": true
}
]
},
"success": true,
"code": null
}
15. 商品下发仓库
描述: ISV创建商品sku和仓库sku后下发映射关系给仓库,以便维护ISV和仓库的sku映射关系,仓库商品不存在新建,存在则更新
POST /global-api/v1/warehouse/insertSkuInfo
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 是 | |
| warehouseCode | 仓库编码 | String | 选填 | |
| customerCode | 货主编码 | String | N | |
| sku | 仓库商品SKU,最大255字符 | String | 必填 | |
| erpSku | 商品SKU,最大255字符 | String | 必填 | |
| title | 商品名称,最大255字符 | String | 选填 | |
| fnSkuList | FNSKU列表 | Array | 选填 | |
| └ fnSku | fnSku,最大50字符 | String | 必填 | |
| barcode | 商品条码,最大255字符 | String | 选填 | |
| specifications | 商品规格 | String | 选填 | |
| imageUrl | 图片链接 | String | 选填 | |
| weight | 毛重 | Decimal | 选填 | |
| netWeight | 净重 | Decimal | 选填 | |
| weightUnit | 重量单位 | String | 选填 | 重量单位 |
| length | 长 | Decimal | 选填 | |
| width | 宽 | Decimal | 选填 | |
| height | 高 | Decimal | 选填 | |
| dimensionUnit | 长度单位 | String | 选填 | 长度单位 |
| itemPackage | 包装数量 | Number | 选填 | |
| countryOfOriginName | 国家/地区二字码 | String | 选填 | 国家列表 |
| dangerousCargo | 所属危险品 | Number | 选填 | 1-普货(非危险品);2-内置电池(电池不可拆);3-配套电池(电池可拆卸);4-纯电池;5-液体;6-膏体;7-粉末;8-带磁 |
| cdPriceMethod | 报关价格计算方式 | String | 选填 | 按比例:RATE、按固定值:CONSTANT |
| englishCustomsDeclarationName | 英文报关名 | String | 选填 | |
| chineseCustomsDeclarationName | 中文报关名 | String | 选填 | |
| brand | 品牌 | String | 选填 | |
| customsCode | 海关编码 | String | 选填 | |
| wmsBarcode | 下发海外仓barcode | String | 选填 | |
| customsDeclarationPrice | 报关价格 | BigDecimal | 选填 | |
| cdPriceMaximum | 报关价格最大值 | BigDecimal | 选填 | |
| cdPriceRate | 报关价格比例 | BigDecimal | 选填 | |
| purchaseCost | 固定采购成本 | BigDecimal | 选填 | |
| purchaseCostUnit | 固定采购成本币种 | String | 选填 | |
| currencyMap | key:币种, value:汇率 | Map | 选填 |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| sku | 商品编码 | String | 选填 | |
| operation | 对sku的操作 | String | 选填 | 新建:CREATE |
| info | 备注信息 | String | 选填 | 失败信息 |
| success | 是否成功 | Boolean | 选填 |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--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":{},
}'
返回示例:
{
"errorMsg": null,
"result": {
"sku": "SKU1",
"operation": "CREATE",
"info": "sku【SKU1】已被使用;",
"success": false
},
"success": true,
"code": null
}
16. 头程计划单创建
POST /global-api/v1/warehouse/createTransferPlan
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库key | String | 必填 | |
| warehouseCode | 出库仓code | String | 必填 | |
| transferNumber | 头程/调拨单号 | String | 必填 | |
| customNumber | 参考号 | String | N | |
| trackNumber | 跟踪号 | String | N | |
| remark | 备注 | String | N | |
| preReceiveTime | 预计到货时间 | String | N | |
| preShipTime | 预计发货时间 | String | N | |
| receiver | 收件人信息 | Object | 必填 | |
| └ name | 联系人 | String | 必填 | |
| └ phone | 联系电话 | String | 必填 | |
| 联系邮箱 | String | Y | ||
| └ country | 国家二字码 | String | 必填 | |
| └ state | 省/州 | String | 必填 | |
| └ city | 城市 | String | 必填 | |
| └ district | 区 | String | N | |
| └ address1 | 地址 1 | String | 必填 | |
| └ address2 | 地址 2 | String | N | |
| └ postalCode | 邮编 | String | 必填 | |
| skuList | 订单商品信息 | Array | 必填 | |
| └ sku | 仓库商品编码 | String | 必填 | |
| └ expectedQuantity | 预计数量 | String | 必填 | |
| └ title | 商品名称 | String | 必填 | |
| └ purchasePrice | 采购价 | BigDecimal | 必填 | |
| └ customCost | 头程费用 | BigDecimal | N | |
| └ totalVolume | 总体积(m³) | String | N | |
| └ totalWeight | 总重量(KG) | String | N |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseTransferNumber | 仓库订单号 | String | N |
请求示例:
--header 'warehouseType: LINGXING' \
--header 'appKey: 1' \
--header 'sign: d82b1c45427784048fe258b0efe68c8d64d856de' \
--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"
}'
返回示例:
{ "errorMsg": null, "result": { "warehouseOrderNumber": "OBS0012508260RU", "orderNumber": "S20250923001", "info": "oms:LA02仓库未分配权限", "success": false }, "success": true, "code": null }
17. WebHooks
17.1. 出库单状态推送接口
描述:仓库将出库单信息推送至ISV,warehouseKey见底部的仓库支持表格
POST /sys/qlink/receiveOdo/{warehouseType}
- Content-Type: application/json
header参数:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| appKey | String | Y | qlink给ISV的appkey |
| sign | String | Y | 签名 |
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 | ||
|---|---|---|---|---|---|---|
| warehouseKey | 仓库授权ID | String | Y | |||
| orderNumber | ERP订单号 | String | Y | |||
| onlineOrderId | 平台线上订单 | String | N | |||
| warehouseCode | 仓库编码 | String | Y | |||
| customerCode | 客户编码 | String | N | |||
| carrier | 承运商 | String | N | |||
| trackNumber | 运单号 | String | Y | |||
| warehouseOrderNumber | 仓库出库单号 | String | N | |||
| wmsStatus | 仓库单据状态 | String | Y | |||
| status | 单据状态 | String | Y | 需由 wmsStatus 自行映射SENDING( 出 库 中 ) SUCCESS ( 已发货、 已出库) CANCEL(取消) FAILED(失败或异常) | ||
| shippingTime | 发运时间 | Long | N | 13位时间戳 | ||
| skuList | 商品明细 | List <sku> |
N | |||
| errorMsg | 异常原因 | String | N |
sku 信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| sku | 仓库sku | String | Y | |
| quantity | 商品数量 | Number | Y |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| success | 是否成功 | String | 必填 | true成功,false失败 |
| errorMsg | 失败信息 | String | 选填 |
请求示例:
返回信息:
17.2. 入库单推送接口
描述: 仓库将入库单信息推送至千易ERP,warehouseKey见底部的仓库支持表格
POST /sys/qlink/receiveAsn/{warehouseType}
- Content-Type: application/json
header参数:
| 字段名 | 类型 | 必填 | 备注 |
|---|---|---|---|
| appKey | String | Y | qlink给ISV的appkey |
| sign | String | Y | 签名 |
接口参数:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| warehouseKey | 仓库授权ID | String | Y | |
| warehouseCode | 仓库编码 | String | Y | |
| customerCode | 客户编码 | String | N | |
| asnNumber | 千易入库单号 | String | Y | |
| wmsStatus | 第三方系统的入库订单状态 | String | Y | 需由 wmsStatus 提供映射后的状态,映射表见下「入库单状态」 |
| referenceNumber | 仓库入库单号 | String | N | |
| finishTime | 完成时间 | Long | N | 13位时间戳 |
| updateTime | 收货更新时间 | Long | Y | 13位时间戳 |
| skuList | 商品信息 | Array | Y | |
| └ sku | 商品编码 | String | Y | |
| └ name | 商品名称 | String | N | |
| └estimatedQuantity | 预计数量 | Number | N | |
| └receivedQuantity | 已收数量 | Number | Y | goodQuantity + badQuantity |
| └goodQuantity | 良品数量 | Number | N | |
| └badQuantity | 不良品数量 | Number | N | |
| batchNo | 批次号 | String | N | 增量收货场景下,防止千易重复消费同一个入库批次号消息,需保证唯一性 |
返回信息:
| 字段名 | 字段描述 | 类型 | 必填 | 备注 |
|---|---|---|---|---|
| success | 是否成功 | String | 必填 | true成功,false失败 |
| errorMsg | 失败信息 | String | 选填 |
请求示例:
返回信息
17.3. 入库单推送状态
| 枚举值 | 备注 |
|---|---|
| FINISHED | 已完成 |
| CLOSED | 已关闭 |
| SHIPPING | 发运中 |
| RECEIVING | 收货中 |
18. SDK调用
19. 支持仓库列表
| 仓库名称 | 仓库编码(warehouseType) | 调试情况 | 仓库授权 | 仓库列表 | 仓库渠道列表 | 下发出库单 | 取消出库单 | 查询出库单 | 下发入库单 | 取消入库单 | 查询入库单 | 创建商品 | 同步库存 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 领星仓 | LINGXING | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 八爪鱼新系统(信仓) | BZYXXTXC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| COPE | COPE | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| 合丰 | 56BAY | ✅ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 极风仓 | WIND | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 鲸骑仓 | JINGQI | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| FLASH新加坡 | FLASHSG | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Flash&Shipla | FLASHSHIPLA | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Flash印尼 | FLASHIDNEW | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Flash(马来西亚) | FLASH_MY | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Flash(越南) | FLASH_VN | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Flash(菲律宾) | FLASH | ✅ | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |