接口地址:https://wmsdev.boudata.com/tss/wms/edi/sku
请求方式:POST
请求编码:UTF-8
请求参数:
| 名称 | 说明 | 备注 |
|---|---|---|
| uName | 对接账号 | |
| timestamp | 当前时间戳 | 格式:2018-12-12 12:12:12 |
| params | JSON字符串 | sku数组的JSON格式数据,例: [ {"code": "001", "name": "xxx1", "barcode": "001"......}, {"code": "002", "name": "xxx2", "barcode": "002"......}, ...... ] 具体见下面sku字段说明 |
| uSign | 签名 | MD5(uToken + timestamp),其中uToken为秘钥;timestamp为时间戳,有效期3分钟 |
sku字段说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 货品编码 | code | 字符串 | 是 | 要求唯一 |
| 货品名称 | name | 字符串 | 是 | |
| 货品条码 | barcode | 字符串 | 是 | |
| 货主 | owner | 字符串 | 货主编码或名称 | |
| 规格(型号) | guige | 字符串 | 600ml/瓶 | |
| 包装单位 | uom | 字符串 | 瓶 | |
| 大类 | category | 字符串 | ||
| 品牌 | brand | 字符串 | ||
| 进价 | price | 数字 | ||
| 售价 | price2 | 数字 | ||
| 保质期 | shelflife | 数字 | ||
| 安全库存 | safety_qty | 数字 | ||
| ABC分类 | abc | 字符串 | ||
| 自定义1 | udf1 | 字符串 | ||
| 自定义2 | udf2 | 字符串 | ||
| 自定义3 | udf3 | 字符串 | ||
| 自定义4 | udf4 | 字符串 | ||
| 备注 | remark | 字符串 |
示例:
响应结果:
{ "code": 100, "message": "success" }
接口地址:https://wmsdev.boudata.com/tss/wms/edi/asn
请求方式:POST
请求编码:UTF-8
请求参数:
| 名称 | 说明 | 备注 |
|---|---|---|
| uName | 对接账号 | |
| timestamp | 当前时间戳 | 格式:2018-12-12 12:12:12 |
| params | JSON字符串 | JSON字符串,具体见下面params格式说明 |
| uSign | 签名 | MD5(uToken + timestamp),其中uToken为秘钥;timestamp为时间戳,有效期3分钟 |
params格式说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 入库单号 | code | 字符串 | 是 | ASN191027001 |
| 仓库 | warehouse | 字符串 | 仓库编码或名称,为空则默认取第一个仓库 | |
| 货主 | owner | 字符串 | 货主编码或名称 | |
| 下单日期 | asnday | 字符串 | 是 | 2019-10-27 |
| 入库类型 | type | 字符串 | 是 | 普通入库 |
| 供货方 | supplier | 字符串 | 18767166333 | |
| 备注 | remark | 字符串 | ||
| 自定义1 | udf1 | 字符串 | ||
| 自定义2 | udf2 | 字符串 | ||
| 自定义3 | udf3 | 字符串 | ||
| 自定义4 | udf4 | 字符串 | ||
| 入库明细 | items | json | 是 | 参考下面表格出库详情 |
入库明细(items)字段说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 货品编号 | code | 字符串 | 是 | 货品编码,非条码 |
| 货品名称 | name | 字符串 | 否 | |
| 入库数量 | qty | 数字 | 是 | 要求为数字,支持小数 |
| 单价 | price | 数字 | ||
| 金额 | money | 数字 | ||
| 生产日期 | createdate | 日期 | yyyy-MM-dd | |
| 过期日期 | expiredate | 日期 | yyyy-MM-dd | |
| 货品状态 | invstatus | 字符串 | ||
| 装箱量 | pack_qty | 字符串 | ||
| 批次1 | lotatt01 | 字符串 | ||
| 批次2 | lotatt02 | 字符串 | ||
| 批次3 | lotatt03 | 字符串 | ||
| 批次4 | lotatt04 | 字符串 |
示例:
响应结果:
{ "code": 100, "message": "success" }
接口地址:https://wmsdev.boudata.com/tss/wms/edi/order
请求方式:POST
请求编码:UTF-8
请求参数:
| 名称 | 说明 | 备注 |
|---|---|---|
| uName | 对接账号 | |
| timestamp | 当前时间戳 | 格式:2018-12-12 12:12:12 |
| params | JSON字符串 | JSON字符串,具体见下面params格式说明 |
| uSign | 签名 | MD5(uToken + timestamp),其中uToken为秘钥;timestamp为时间戳,有效期3分钟 |
params格式说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 出库单号 | code | 字符串 | 是 | O191027001 |
| 仓库 | warehouse | 字符串 | 仓库编码或名称,为空则默认取第一个仓库 | |
| 货主 | owner | 字符串 | 货主编码或名称 | |
| 下单日期 | orderday | 字符串 | 是 | 2019-10-27 |
| 出库类型 | type | 字符串 | 销售出库 | |
| 收件人 | d_receiver | 字符串 | 是 | 李四 |
| 收件人电话 | d_mobile | 字符串 | 是 | 18767166333 |
| 收件省份 | d_province | 字符串 | 江苏省 | |
| 收件市 | d_city | 字符串 | 扬州市 | |
| 收件区 | d_district | 字符串 | 白鹭区 | |
| 收件地址 | d_addr | 字符串 | 是 | xx小区x幢 |
| 备注 | remark | 字符串 | ||
| 自定义1 | udf1 | 字符串 | ||
| 自定义2 | udf2 | 字符串 | ||
| 自定义3 | udf3 | 字符串 | ||
| 自定义4 | udf4 | 字符串 | ||
| 出库明细 | items | json | 是 | 参考下面表格出库详情 |
出库明细(items)字段说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 货品编号 | code | 字符串 | 是 | 货品编码,非条码 |
| 货品名称 | name | 字符串 | 否 | |
| 出库数量 | qty | 数字 | 是 | 要求为数字,支持小数 |
| 单价 | price | 数字 | ||
| 金额 | money | 数字 | ||
| 生产日期 | createdate | 日期 | yyyy-MM-dd | |
| 过期日期 | expiredate | 日期 | yyyy-MM-dd | |
| 货品状态 | invstatus | 字符串 | ||
| 装箱量 | pack_qty | 字符串 | ||
| 批次1 | lotatt01 | 字符串 | ||
| 批次2 | lotatt02 | 字符串 | ||
| 批次3 | lotatt03 | 字符串 | ||
| 批次4 | lotatt04 | 字符串 |
示例:
响应结果:
{ "code": 100, "message": "success" }
接口地址:https://wmsdev.boudata.com/tss/wms/edi/order/cancel
请求方式:POST
请求编码:UTF-8
请求参数:
| 名称 | 说明 | 备注 |
|---|---|---|
| uName | 对接账号 | |
| timestamp | 当前时间戳 | 格式:2018-12-12 12:12:12 |
| code | 出库单号 | |
| warehouse | 仓库 | |
| reason | 取消原因 | |
| uSign | 签名 | MD5(uToken + timestamp),其中uToken为秘钥;timestamp为时间戳,有效期3分钟 |
示例:
响应结果:
{ "code": 100, "message": "success" }
接口地址:https://wmsdev.boudata.com/tss/wms/edi/asn/cancel
请求方式:POST
请求编码:UTF-8
请求参数:
| 名称 | 说明 | 备注 |
|---|---|---|
| uName | 对接账号 | |
| timestamp | 当前时间戳 | 格式:2018-12-12 12:12:12 |
| code | 出库单号 | |
| warehouse | 仓库 | |
| reason | 取消原因 | |
| uSign | 签名 | MD5(uToken + timestamp),其中uToken为秘钥;timestamp为时间戳,有效期3分钟 |
示例:
响应结果:
{ "code": 100, "message": "success" }
反馈方式:接收方提供结果接收接口地址,维护在WMS系统中,WMS推送反馈结果后,接收方通过WMS提供的uToken验签
请求方式:POST
请求编码:UTF-8
请求参数:
| 名称 | 说明 | 备注 |
|---|---|---|
| uName | 对接账号 | |
| timestamp | 当前时间戳 | 格式:2018-12-12 12:12:12 |
| uSign | 签名 | MD5(uToken + timestamp),其中uToken为秘钥;timestamp为时间戳 |
| method | 字符串 | asn.confirm:入库单反馈;order.confirm:出库单反馈 |
| params | JSON字符串 | JSON字符串,具体见下面params格式说明 |
入库反馈params格式说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 入库单号 | code | 字符串 | 是 | ASN191027001 |
| 入库日期 | indate | 日期 | 是 | yyyy-MM-dd HH:mm:ss |
| 货主 | owner | 字符串 | 是 | 货主编码 |
| 仓库 | warehouse | 字符串 | 是 | 仓库编码 |
| 入库状态 | status | 字符串 | 是 | 已完成、关闭 |
| 反馈信息 | msg | 字符串 | 否 | 当入库失败时,会将入库单中的备注返回 |
| 入库明细 | items | json | 是 | 返回json数组 |
入库明细(items)字段说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| ID | id | 数字 | 是 | 明细唯一ID |
| 货物名称 | skuname | 字符串 | 是 | sku名称 |
| 货物编码 | skucode | 字符串 | 是 | sku编码 |
| 货物条码 | barcode | 字符串 | 否 | sku条码 |
| 货物数量 | qty | 数字 | 是 | 理论入库数量 |
| 入库数量 | qtyActual | 数字 | 否 | 实际入库数量 |
| 生产日期 | createdate | 日期 | 否 | yyyy-MM-dd HH:mm:ss |
| 过期日期 | expiredate | 日期 | 否 | yyyy-MM-dd HH:mm:ss |
出库反馈params格式说明:
| 名称 | 编码 | 类型 | 必填 | 示例 |
|---|---|---|---|---|
| 出库单号 | code | 字符串 | 是 | O191027001 |
| 出库日期 | outdate | 日期 | 是 | yyyy-MM-dd HH:mm:ss |
| 货主 | owner | 字符串 | 是 | 货主编码 |
| 仓库 | warehouse | 字符串 | 是 | 仓库编码 |
| 入库状态 | status | 字符串 | 是 | 已完成、关闭 |
| 承运商名称 | carrier | 字符串 | 否 | 顺丰速运 |
| 运单号 | logisticscode | JSON数组 | 是 | 运单号可能会有多个,["ZTO123","ZTO124"] |
| 反馈信息 | msg | 字符串 | 否 | 当出库失败时,会将出库单中的备注返回 |
响应结果:当接收方成功接收到信息,需要返回成功响应,code需要为100,WMS接收到成功响应后,代表此单反馈完成;若接收方返回的code非100或者无返回信息,则代表接收失败,WMS会定时重试,响应示例如下
成功:{ "code": 100, "message": "success" }
失败:{ "code": 500, "message": "此处可返回失败原因" }
/* 参数大致格式:
{ code: 'xxx', warehouse: '仓库编码或名称', owner: '货主编码或名称', orderday: '2020-02-02', d_receiver, d_mobile, d_addr, udfx, remark,
items: [
{code: 'sxx1', qty: 100, lotattx: 'xxx'....},
{code: 'sxx2', qty: 200, lotattx: 'xxx'....}
]
}
*/
public void pushOrder() {
JSONObject ov = new JSONObject();
ov.put("code", "O191027001");
ov.put("warehouse", "W002");
ov.put("owner", "O001");
ov.put("orderday", "2024-01-01 22:13:46");
ov.put("d_receiver", "李四");
ov.put("d_mobile", "18767166333");
ov.put("d_province", "北京市");
ov.put("d_city", "北京市");
ov.put("d_district", "东城区");
ov.put("d_addr", "中关村119号");
ov.put("remark", "请尽快安排出库");
JSONArray items = new JSONArray();
JSONObject item1 = new JSONObject();
item1.put("code", "S001");
item1.put("name", "农夫山泉(560ml*24)");
item1.put("qty", 96);
items.put(item1);
JSONObject item2 = new JSONObject();
item2.put("code", "S002");
item2.put("name", "鸿茅药酒(360ml*16)");
item2.put("qty", 32);
items.put(item2);
ov.put("items", items);
PostMethod postMethod = new PostMethod("https://wmsdev.boudata.com/tss/wms/edi/order");
postMethod.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
postMethod.setParameter("params", ov.toString());
postMethod.setParameter("uName", uName);
String time = DateUtil.formatCare2Second(new Date());
postMethod.setParameter("timestamp", time);
postMethod.setParameter("uSign", InfoEncoder.string2MD5(uToken + time)); // 必要工具:MD5加密方法,此处为自有方法 InfoEncoder.string2MD5
HttpClient httpClient = new HttpClient();
httpClient.executeMethod(postMethod);
String responseBody = postMethod.getResponseBodyAsString();
System.out.println(responseBody);
}
以上示例代码依赖的jar包:
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
响应结果:
响应code及含义: 100 成功 101 参数错误 102 重复请求 503 签名为空 504 时间戳无效 505 验签失败 506 令牌验证失败 555 接口内部异常