1. 出库单模块API
API URL
post {HTTP(S)地址}/api/{version}/odo
1.1. 出库单查询接口
1.1.1. SERVICE_TYPE
QUERY_ODO_LIST
1.1.2. 请求参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
warehouseName | N | String | 马来仓库 | 仓库名称 |
type | N | String | MANUAL | 出库单类型,见枚举 |
status | N | String | WAIT_OUTBOUND | 出库单状态,见枚举 |
createTimeFrom | N | String | 2022-09-05 | 创建时间起始 |
createTimeTo | N | String | 2022-09-05 | 创建时间结束 |
shipTimeFrom | N | String | 2022-09-05 | 完成时间起始 |
shipTimeTo | N | String | 2022-09-05 | 完成时间结束 |
updateTimeFrom | N | String | 2022-09-05 | 更新时间起始 |
updateTimeTo | N | String | 2022-09-05 | 更新时间结束 |
numberParam | N | String | 2011asd | 多字段检索,出库单号,参考号 |
skuParam | N | String | 2011asd | 多字段检索,商品编码,商品名称 |
orderNumberList | N | List<String> | 出库单号列表(不超过200条) | |
ifNeedPackageInfo | N | boolean | true | 默认false,true时返回包裹和批次信息 |
customNumberList | N | List<String> | 参考号列表 (不超过200条) | |
page | Y | Number | 1 | 页码,默认1 |
pageSize | Y | Number | 100 | 每页条数.不超过200条; 默认100 |
calculateCost | N | boolean | true | 默认false,true时返回出库成本(币种为CNY),数据量大时会有性能问题 |
1.1.3. 返回参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
state | Y | String | success | 请求结果 |
total | Y | Number | 100 | 总条数 |
result | Y | List<Odo> | 详见 Odo |
Odo(出库单)
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
number | Y | String | A20220905 | 出库单号 |
customNumber | N | String | C20220905 | 参考号 |
trackNumber | Y | String | T20220905 | 跟踪号 |
warehouseName | Y | String | 马来仓库 | 出库仓库名称 |
type | Y | String | MANUAL | 出库单类型,见枚举 |
status | Y | String | WAIT_OUTBOUND | 出库单状态,见枚举 |
remark | N | String | Quick | 备注 |
createTime | Y | String | 2022-09-05 15:27:18 | 创建时间 |
finishTime | N | String | 2022-09-05 15:27:18 | 完成时间 |
odoSkuVOList | Y | List<OdoSku> | 出库单商品 | |
odoCustomFieldValueVOList | N | List<SkuCustomFieldValueVO> | ||
odoPackageVOList | N | List<OdoPackage> | 包裹信息 |
SkuCustomFieldValueVO(自定义栏位信息)
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
tableName | Y | String | SYS_ITEM | SYS_ITEM:系统商品自定义栏位; SYS_ORDER:订单自定义栏位; SYS_ODO:出库单自定义栏位; SYS_ASN:入库单自定义栏位。 |
columType | Y | String | NUMBER | 筛选不同填入类型的自定义栏位 NUMBER:数字; DATE:日期; STRING:字符串; SELECT:下拉框。 |
columName | Y | String | 生产日期 | 用户自己定义的栏位名称 |
defaultValue | N | String | "1970/01/01"(无双引号) | 自定义栏位默认值 |
candidateValue | N | String | ["1970/01/01","1970/01/02"] | 下拉框的候选值 |
remark | N | String | 上架日期区分于出厂日期 | 备注 |
required | N | Integer | 1 | 是否只查询必填栏位 1:true;0:false |
isQuery | N | Integer | 1 | 是否只查询支持查询的栏位 1:true;0:false |
isShow | N | Integer | 1 | 是否只查询支持列配置的栏位 1:true;0:false |
OdoSku(出库单商品)
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
sku | Y | String | S90 | 商品sku |
title | Y | String | 商品标题 | 商品标题 |
storageLocationCode | Y | String | SYS LOC | 库位编码 |
receiveNumber | Y | String | A20220905 | 入库批次 |
quantity | Y | Long | 100 | 良品的出库数量 |
unavailableQuantity | Long | 50 | 不良品的出库数量(仅极兔仓库+千易WMS) |
OdoPackage(包裹信息)
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
orderNumber | N | String | S202502101123 | |
carrier | N | String | JNE JTR | |
carrierService | N | String | S90 | |
trackingNumber | Y | String | S90 | 运单号 |
batchCode | N | String | S90 | |
odoPackageContentVOList | N | List<OdoPackageContent> | S90 | 包裹详情 |
OdoPackageContent(包裹信息)
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
sku | Y | String | S90 | |
quantity | Y | Long | 2 | |
skuStockStatus | N | String | S90 | |
mfgDate | N | String | S90 | 生产日期 |
expDate | N | String | S90 | 失效日期 |
batchNo | N | String | S90 | 批次号 |
originCountry | N | String | S90 | 产地 |
请求示例
curl --location --request POST 'http://gerp-test1.800best.com/api/v1/odo' \
--form 'appId="TEST"' \
--form 'serviceType="QUERY_ODO_LIST"' \
--form 'bizParam="{\"page\":1,\"pageSize\":2}"' \
--form 'timestamp="1741593077529"' \
--form 'sign="02115b923d11d12736d711fbebc69f3e"'
返回示例
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"result\":[{\"createTime\":\"2025-03-06 16:33:22\",\"number\":
\"TF250306161898\",\"odoCustomFieldValueVOList\":[{\"candidateValue\":[],\"columCode\":3,\"columName\":
\"自定义日期栏位\",\"columType\":\"DATE\",\"customFieldId\":41,\"customFieldValueVOList\":[],\"customerId\":
3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":41,\"isQuery\":0,\"isShow\":0,\"required\":0}]
,\"odoSkuVOList\":[{\"quantity\":2,\"receiveNumber\":\"A240329156179_1\",\"sku\":\"mcdull-s12\",\"skuId\":10003366,\"storageLocationCode\":\"SYS LOC\",\"title\":\"mcdull-s12\"}]
,\"status\":\"WAIT_OUTBOUND\",\"type\":\"TRANSFER\",\"warehouseId\":106,\"warehouseName\":\"customer\"},{\"createTime\":
\"2025-03-06 16:28:04\",\"number\":\"TF250306161897\",\"odoCustomFieldValueVOList\":[{\"candidateValue\":[],\"columCode\":
3,\"columName\":\"自定义日期栏位\",\"columType\":\"DATE\",\"customFieldId\":41,\"customFieldValueVOList\":[],\"customerId\":
3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":41,\"isQuery\":0,\"isShow\":0,\"required\":0}]
,\"odoSkuVOList\":[{\"quantity\":10,\"unavailableQuantity\":10,\"receiveNumber\":\"A240329156179_1\",\"sku\":\"mcdull-s12\",\"skuId\":10003366,\"storageLocationCode\":\"SYS LOC\",\"title\":\"mcdull-s12\"}]
,\"status\":\"WAIT_OUTBOUND\",\"type\":\"TRANSFER\",\"warehouseId\":106,\"warehouseName\":\"customer\"}],\"state\":
\"success\",\"total\":1812}",
"requestId": "50e85d2d-09e1-452e-9459-b8485dc136b7"
}
1.2. 出库单创建接口
1.2.1. SERVICE_TYPE
1.2.2. CREATE_ODO_ORDER
1.2.3. 请求参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
warehouseName | Y | String | 马来仓库 | 仓库名称 |
customNumber | Y | String | 12345 | 出库单号,客户维度唯一 |
remark | N | String | 备注 | 备注 |
carrier | Y | String | Lex th | 承运商 |
carrierService | Y | String | Lex th | 物流方式 |
secondaryType | N | String | MANUAL | 可以为空;外部订单子类型(仅支持千易wms):手工单:MANUAL;采购退货:PURCHASE_RETURN |
trackingNumber | Y | String | 1234 | 运单号 |
receiver | N | receiverVO | 收件人信息,千仓必填 | |
odoSkuVOList | Y | List<odoSkuVO> | 出库商品明细 | |
odoCustomFieldValueVOList | N | List<SkuCustomFieldValueVO> | ||
isSpecifyBatch | N | boolean | false | 是否指定货物批次,仅对千易wms生效 |
customerType | N | String | 客户标识,无合作勿填写。shipper客户请传SHIPPER |
receiverVO
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
name | Y | String | Name | 收件人名称 |
streetLine1 | Y | String | Address | 地址 |
postalCode | Y | String | 600514 | 邮政编码 |
countryCode | Y | String | US | 国家见枚举 |
city | Y | String | Mai | 城市 |
mobileNumber | Y | String | 12223334 | 手机号 |
state | Y | String | Mai | 省/州 |
shopCode | N | String | code | 店铺编码(目前只使用于极兔仓) |
odoSkuVO
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
sku | Y | String | S90 | 系统sku |
quantity | Y | Long | 100 | 良品出库数量(条件必填,quantity、unavailableQuantity至少填一个) |
unavailableQuantity | N | Long | 50 | 不良品出库量(仅对极兔仓和千易wms生效) |
apiCustom | N | String | 定制字段 | |
batchNo | N | String(255) | 批次号,仅对千易wms生效 | |
mfgDate | N | String | 2025-10-01 | 生产日期,仅对千易wms生效 |
expDate | N | String | 2025-10-01 | 失效日期,仅对千易wms生效 |
originCountry | N | String | CN | 生产地国家,仅对千易wms生效 |
SkuCustomFieldValueVO(自定义栏位)
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
customFieldId | Y | Long | 3 | SERVICE_TYPE中的CUSTOMER_FIELD_QUERY接口返回的id |
value | Y | String | “张三” | 自定义栏位对应的值 |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/odo' \
--form 'appId="TEST"' \
--form 'serviceType="CREATE_ODO_ORDER"' \
--form 'bizParam="{
\"warehouseName\": \"台湾(名字不要瞎改)\",
\"customNumber\": \"S13232417\",
\"carrier\": \"FedEx\",
\"carrierService\": \"FedEx\",
\"trackingNumber\": \"1234446\",
\"isSpecifyBatch\": true,
\"customerType\": \"SHIPPER\",
\"remark\":\"bugfix2\",
\"receiver\": {
\"name\": \"ceshi\",
\"streetLine1\": \"124124\",
\"postalCode\": \"600514\",
\"countryCode\": \"CN\",
\"city\": \"yuenna\",
\"mobileNumber\": \"1111\",
\"state\": \"1111\"
},
\"odoSkuVOList\": [
{
\"sku\": \"SKU0425007\",
\"quantity\": 2,
\"unavailableQuantity\": 0
},
{
\"sku\": \"SKU0425007\",
\"quantity\": 0,
\"unavailableQuantity\": 2
},
{
\"sku\": \"SKU0425007\",
\"quantity\": 0,
\"unavailableQuantity\": 2
}
]
}"' \
--form 'timestamp="1731742317"' \
--form 'sign="1ed2fa62dce18742b899be7f74bba322"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"result\":{\"arrivalStatus\":\"ARRIVED\",\"arrivedSkuQuantity\":0,\"arrivedTotalQuantity\":0,\"asnExtraJsonVO\":{},
\"asnNumber\":\"A250623145669\",\"asnSkuVOList\":[{\"arrived\":false,\"arrivedQuantity\":0,\"asnId\":44917,\"customFieldValueVOList\":[],\"customerId\":3,
\"customerIdForUser\":3,\"dimensionUnit\":\"cm\",\"dltQuantity\":0,\"expectBadQuantity\":0,\"expectGoodQuantity\":5,\"expectQuantity\":5,\"firstLegPrice\":0,
\"firstLegQuantity\":0,\"height\":9.0,\"id\":194757,\"isDeleted\":0,\"itemInfoVO\":{\"bizItemId\":194757,\"bizType\":\"ASN\",\"cartonDimensionUnit\":\"cm\",
\"cartonHeight\":9.0,\"cartonLength\":1.0,\"cartonWidth\":2.0,\"ccPriceUnit\":\"USD\",\"cdNetWeight\":1.0,\"cdPriceUnit\":\"USD\",\"cdWeight\":2.0,
\"cdWeightUnit\":\"KG\",\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3},\"length\":1.0,\"needQualityInspection\":false,\"purchasePrice\":10,
\"receiveBoxQuantity\":0,\"receiveQuantity\":0,\"serialEnable\":0,\"sku\":\"SKU0425007\",\"skuId\":10007387,\"status\":\"RECEIVING\",\"title\":\"SKU0425007\",
\"transferPrice\":0,\"version\":1,\"weight\":2.0,\"weightUnit\":\"KG\",\"width\":2.0,\"wmsSkuCode\":\"SKU0425007\"}],\"asnTypeFlag\":false,\"autoCommit\":false,
\"businessRemarkVOList\":[],\"closeWms\":false,\"customerId\":3,\"customerIdForUser\":3,\"extraJson\":\"{}\",\"firstLegPriceCurrency\":\"CNY\",\"firstLegTotal\":0,
\"firstLegUnit\":\"CNY\",\"firstLegWithdrawShipped\":false,\"flashId\":1,\"fromApi\":true,\"id\":44917,\"purchasePriceCurrency\":\"CNY\",\"receiveGoods\":true,
\"receivedSkuQuantity\":0,\"receivedTotalQuantity\":0,\"skuQuantity\":1,\"status\":\"NEW\",\"tag\":{\"comparedTagValue\":0,\"fullTagValue\":0,\"overcharge\":0,
\"receiveException\":0,\"relation\":0,\"sendFailed\":0,\"sendWms\":0,\"waitBoxing\":0},\"tags\":0,\"timezoneId\":\"Asia/Shanghai\",\"totalPurchasePrice\":50,
\"totalQuantity\":5,\"transferPriceCurrency\":\"CNY\",\"type\":\"MANUAL\",\"useNewBestNumber\":false,\"version\":0,\"warehouseId\":12565,
\"warehouseName\":\"台湾(名字不要瞎改)\",\"warehouseVO\":{\"address\":\"华星C\",\"address2\":\"XXX\",\"addressName\":\"华星现代产业园1\",\"asnEnable\":false,
\"autoAdjStorage\":true,\"autoAdjustment\":false,\"autoCreateProduct\":1,\"autoSendOnReturnCreate\":0,\"autoSendWmsSku\":0,\"autoSynStorage\":false,
\"city\":\"杭州\",\"code\":\"TOPMART\",\"configFileId\":\"\",\"contacts\":\"ZZ\",\"countTag\":0,\"country\":\"CN\",\"creatSource\":\"NORMAL\",
\"cusAsnMark\":0,\"customCacheKey\":\"3\",\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"district\":\"西湖1\",\"email\":\"123456@qq.com\",
\"extraType\":\"TOPMART\",\"forceRefreshSkuMapping\":false,\"fromOpenApi\":false,\"id\":12565,\"isDeleted\":0,\"kind\":\"COMPLEX\",\"locationConfigIds\":\"\",
\"name\":\"台湾(名字不要瞎改)\",\"phone\":\"18368093711\",\"postCode\":\"317500\",\"providerId\":4247,\"province\":\"浙江1\",\"selfSupport\":false,
\"sendAttachment\":0,\"sendBigstockAsDraft\":false,\"sendItemAsDraft\":true,\"sendItemImageFlag\":false,\"sendOdoAsDraft\":false,\"sendPlatformInfo\":false,
\"sendReferenceNoFlag\":0,\"splitGrade\":1,\"status\":\"UNLOCK\",\"supportLazadaJit\":false,\"syncSkuInfo\":1,\"timezoneId\":\"Asia/Shanghai\",\"type\":\"BEST_GO\",
\"typeName\":\"综合仓\",\"useBestWarehouseType\":false,\"useNewApiAndMethodForQianCangV1\":false}},\"state\":\"success\"}",
"requestId": "6167c819-a604-465c-a7a7-8c838574c113"
}
1.3. 出库单取消接口
1.3.1. SERVICE_TYPE
1.3.2. CANCEL_ODO_ORDER
1.3.3. 请求参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
customNumber | Y | String | 出库单号 | 12345 |
1.3.4. 返回参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
state | Y | String | success | 请求结果 |
请求示例
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/odo' \
--form 'appId="TEST"' \
--form 'serviceType="CANCEL_ODO_ORDER"' \
--form 'bizParam="{
\"customNumber\": \"S13232417\"
}"' \
--form 'timestamp="1731742317"' \
--form 'sign="cee42989a6ffaa2bb63d9ac9325a1cf3"'
返回示例
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"errorCode\":\"odo.status.can.not.operate\",\"errorMsg\":\"该状态出库单不支持操作\",\"notSuccess\":true,\"state\":\"failure\"}",
"requestId": "81c4d623-4eec-420a-9741-8751d5741144"
}
1.4. 出库单销售单查询接口
1.4.1. SERVICE_TYPE
QUERY_SALES_ODO_LIST
1.4.2. 请求参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
warehouseName | N | String | 马来仓库 | 仓库名称 |
status | N | String | WAIT_OUTBOUND | 出库单状态,见枚举 |
createTimeFrom | Y | String | 2022-09-05 | 创建时间起始时间,范围不能超过三天 |
createTimeTo | Y | String | 2022-09-05 | 创建时间结束,范围不能超过三天 |
numberParam | N | String | 2011asd | 多字段检索,出库单号,参考号 |
skuParam | N | String | 2011asd | 多字段检索,商品编码,商品名称 |
orderNumberList | N | List<String> | 出库单号列表(不超过200条) | |
customNumberList | N | List<String> | 参考号列表 (不超过200条) | |
page | Y | Number | 1 | 页码,默认1 |
pageSize | Y | Number | 100 | 每页条数.不超过200条; 默认100 |
1.4.3. 返回参数
参数 | 是否必须 | 类型 | 示例 | 备注 |
---|---|---|---|---|
errorCode | Y | String | “DATA_INPUT_ERROR” | 错误码 |
errorMsg | Y | String | “输入参数不对” | 业务错误信息 |
state | Y | String | success | 请求结果 |
total | Y | Number | 100 | 总条数 |
result | Y | List<Odo> | 详见 Odo |
请求示例:
curl --location --request POST 'https://gerp-test1.800best.com/api/v1/odo' \
--form 'appId="TEST"' \
--form 'serviceType="QUERY_SALES_ODO_LIST"' \
--form 'bizParam="{\"page\":1,\"pageSize\":3, \"createTimeFrom\":\"2025-09-02\",\"createTimeTo\":\"2025-09-05\",\"numberParam\":\"W250903149235\"}"' \
--form 'timestamp="1756865700001"' \
--form 'sign="d302e01ee0f7f7c0a4dc9c2b8f3e4530"'
返回示例:
{
"state": "success",
"errorCode": "",
"errorMsg": "",
"bizContent": "{\"notSuccess\":false,\"result\":[{\"createTime\":\"2025-09-03 11:42:43\",\"number\":\"W250903149235\",
\"odoCustomFieldValueVOList\":[{\"candidateValue\":[],\"columCode\":1,\"columName\":\"测试栏位1\",\"columType\":\"STRING\",\"customFieldId\":35,
\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":35,\"isQuery\":0,\"isShow\":0,\"required\":0},
{\"candidateValue\":[],\"columCode\":3,\"columName\":\"自定义栏3\",\"columType\":\"NUMBER\",\"customFieldId\":37,\"customFieldValueVOList\":[],
\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":37,\"isQuery\":0,\"isShow\":0,\"required\":0},{\"candidateValue\":[],
\"columCode\":5,\"columName\":\"XXX的测试\",\"columType\":\"DATE\",\"customFieldId\":14,\"customFieldValueVOList\":[],\"customerId\":3,\"customerIdForUser\":3,
\"defaultValue\":\"2024-06-19\",\"id\":14,\"isQuery\":0,\"isShow\":0,\"remark\":\"为啥没有显示\",\"required\":0,\"value\":\"2024/06/19\"},
{\"candidateValue\":[],\"columCode\":7,\"columName\":\"出库人\",\"columType\":\"STRING\",\"customFieldId\":41,\"customFieldValueVOList\":[],
\"customerId\":3,\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":41,\"isQuery\":0,\"isShow\":0,\"required\":0},{\"candidateValue\":[\"自定栏是否出库\"],
\"columCode\":8,\"columName\":\"测试栏4\",\"columType\":\"SELECT\",\"customFieldId\":36,\"customFieldValueVOList\":[],\"customerId\":3,
\"customerIdForUser\":3,\"defaultValue\":\"\",\"id\":36,\"isQuery\":0,\"isShow\":0,\"required\":0}],\"odoPackageVOList\":[],
\"odoSkuVOList\":[{\"quantity\":1,\"receiveNumber\":\"A250903149222_1\",\"sku\":\"ABSAR078205440\",\"skuId\":10008317,\"storageLocationCode\":\"SYS LOC\",
\"title\":\"BBCOOL Popok Bayi Tipe Perekat – Lembut Daya Serap Tinggi Desain Pull-Up yang Nyaman untuk Bayi & Balita. M*34pcs\",
\"unavailableQuantity\":0}],\"status\":\"WAIT_OUTBOUND\",\"type\":\"MANUAL\",\"warehouseId\":13275,\"warehouseName\":\"yqn_uat_001\",\"yunluFlag\":false}],
\"state\":\"success\",\"total\":1}",
"requestId": "d142863d-1b0a-4ce9-972c-b1d03c9039af"
}