hi
| 修订日期 | 主要内容 | 修订人 | 备注 |
|---|---|---|---|
| 2015-12-1 | v1.0 | 云飞扬 | - |
本文档用于约定电商企业与合作方的仓库管理系统(WMS)之间的交互接口定义,主要包括以下接口:
- 采购单及订单推送接口(
WMS开接口,电商企业调用)
-
取消采购单及订单(
WMS开接口,电商企业调用) -
入库及出库(
出库细分为打单、分拣、打包、发货、海关扣留等子状态)回调接口(电商企业开接口,WMS调用) -
盘点结果回调(
电商企业开接口,WMS调用) -
提货出库回调(
电商企业开接口,WMS调用) -
库存查询接口(
WMS开接口,电商企业调用) -
物流运单回调(
电商企业开接口,WMS调用) -
物流路由查询接口(
WMS开接口,电商企业调用) -
指令发货接口(
WMS开接口,电商企业调用)
-
凡涉及时间类型,统一使用如下格式『
2014-12-12 23:23:23』,如果部分数值取不到,显示00,例如:『2014-12-12 00:00:00』 -
凡涉及重量的数值,单位均取『
克』 -
接口都采用HTTP POST请求,用于认证和容错的相关字段直接放POST请求的
body parameter,具体报文以JSON字符串放在data这个parameter里面,data的格式详见下文 -
如果一方访问对方接口的请求失败,则其必须保证用之前请求的流水号(
notify_id)发起重试请求,直至返回成功结果 -
电商企业的测试接口地址:稍后给出
-
双方对接时WMS系统会提供相应的系统登录测试帐号
sign:加密签名,算法见附录
notify_type:10 - 导入采购单、11 - 取消采购单、20 - 用户下单、21 - 取消用户下单、30 - 采购单入库回调、31 - 用户订单出库回调、50 - 盘点、51 – 提货出库、60 - 库存查询、27推送运单号给电商、70查询物流轨迹接口、40指令仓库发货、90-把海关状态推送给电商
notify_id:网络请求流水号,notify_id相同的请求被认为是同一个请求的多次重试
notify_time:请求时间戳
wms_id:第三方WMS系统在电商企业系统中的代号,双方提前约定;String类型
stock_id:具体仓库在电商企业系统中的ID,需提前告知第三方WMS;int类型
owner_id:电商企业在第三方WMS系统中的ID;int类型
data:具体数据,标准JSON格式字符串,详见下文
描述:电商企业发起采购流程,将采购详情以采购单形式通知仓库。
调用:电商企业调用WMS接口,data参数格式:
{
"purchase_id":"purchase_id", /* 采购单号;String类型,建议预留40位 */
"contract_no":"contract_no", // 采购单对应合同编号;String类型,60位
"transport_service_code":"ems", // 物流供应商代号,非必填;String类型
"transport_order_id":"qaws12345", // 物流单号(提运单号),String类型
"remark":"集装箱号xxx,司机电话xxx", // String类型
"expect_arrival_time":"2014-11-06 16:16:20", // 预期抵达时间,非必填;String类型
"order_items":[ // 物品列表
{
"sku_id":"sku_id", // sku_id;String类型,建议预留40位
"product_no":"12345", // 自定义商品序列号 与sku一一对应,可打印成条形码;String类型,建议预留40位
"barcode":"12345", // 商品原生条形码;String类型,40位
"goods_name":"飞利浦电饭煲", // 商品名;String类型
"sku_name":"飞利浦电饭煲(白金内胆)", // 规格名称;String类型
"qty":1000 // 数量;int类型
},
{
"sku_id":"sku_id",
"product_no":"12345",
"goods_name":"飞利浦电饭煲" ,
"sku_name":"飞利浦电饭煲(铝合金内胆)",
"qty":1000
}
]
}
回执:
{
"success":true/false, // bool类型
"error_msg":"失败原因" // String类型,此处的『失败原因』需要列出常见错误,例如:订单已存在
}
说明
1)若采购单中的sku还未在WMS系统注册,WMS系统会依据采购单提供的数据自动在系统中新建sku对象
2)一张采购单的货物全部到库后,WMS才会一次性返回一张入库回调