接口地址: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 | 出库单号 | |
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 | 出库单号 | |
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 接口内部异常