背景
本文旨在为自动化立体仓库数据同步条件的平台开放服务,提供统一的HTTP接口调用与交互规范。
本文中描述的规范包括AS/RS功能模块的数据同步接口。
规范适用对象说明
本规范仅适用于由平台之间服务器端发起调用请求,包括POST提交数据以及GET请求数据。
名词解释
- AS/RS:自动化立体仓库仓储系统
- WMS:仓库管理系统。
- WCS:仓储设备管理控制系统。
- PDA:安装了立库移动端软件应用、可进行扫码的手持终端设备。
- 全部同步:不管数据有无变化,同步周期内全部数据同步上传。
- 增量同步:同步周期内有变化(新增、修改、更新)的数据同步上传。
URL及数据包格式规范
URL
- 服务器提供如下风格的HTTP接口。
- http://{host}:{port}/{prefix}/open/asrs/{url}
- 注1:所有Http请求以POST方式,JSON提交进行
- 注2:响应报文同为JSON字符串
参数
系统级参数
- 以下参数是由开发平台端定义,系统需支持这些参数以便识别调用接口的客户端。
参数名 | 类型 | 是否必须 | 描述 |
---|---|---|---|
appkey | string | 是 | 平台认证唯一密钥 |
业务级参数
遵守数据交换规范中业务级通用参数的约定。
表格4-2业务级参数的通用约定
ERP遵守数据交换规范中业务级通用参数的约定。
响应数据包格式规范
目前接口的返回格式全部采用JSON格式。
JSON输出格式
响应包符合如下规范的标准JSON字符串:
- http响应头中的Content-Type指定:application/json;charset=utf-8
- 字符串编码格式是utf-8
接口响应输出格式
{
"code":200,
"msg":"操作成功",
"data":null
}
code | msg | data |
---|---|---|
200 | 操作成功 | 接口返回业务数据 |
错误响应输出格式
错误响应输出内容符合以下规范:
{ "code":500, "msg":"服务器内部错误", "data":null }
错误码定义如下表所示:
code | 描述 |
---|---|
201 | 暂无数据 |
401 | 参数为空 |
403 | 权限不足 |
407 | 请勿重复提交 |
500 | 服务器错误 |
相关业务接口
商品信息同步
接口前言
- 接口提供方:AS/RS
- 接口调用方:ERP
- 业务类型:入库作业
- 场景描述:ERP系统中新增或修改商品基础信息以后,调用此接口,将商品信息同步至AS/RS。
请求规范
请求头:
参数名 | 描述 |
---|---|
Method | Post |
Url | http://{prefix}/open/asrs/order/matSync/default/v1 |
Content-Type | application/json;charset=UTF-8 |
appkey | ea1f0459efc02a79f046f982767939ae |
注:appkey、prefix由管理员提供
请求体:
字段名称 | 必需 | 类型 | 说明 |
---|---|---|---|
createTime | 是 | 字符串 | 单据时间(yyyy-MM-ddHH:mm:ss) |
matDetails | 是 | 列表 | 单据明细 |
注:JSON提交
matDetails列表对象
字段名称 | 必需 | 类型 | 说明 |
---|---|---|---|
matnr | 是 | 字符串 | 商品编号 |
maktx | 是 | 字符串 | 商品名称 |
groupCode | 是 | 字符串 | 商品分类 |
groupName | 是 | 字符串 | 分类名称 |
name | 否 | 字符串 | 存货代码 |
specs | 否 | 字符串 | 规格 |
model | 否 | 字符串 | 型号 |
color | 否 | 字符串 | 颜色 |
brand | 否 | 字符串 | 品牌 |
unit | 否 | 字符串 | 单位 |
price | 否 | 字符串 | 单价 |
sku | 否 | 字符串 | sku |
units | 否 | Double | 单位量 |
barcode | 否 | 字符串 | 条码 |
origin | 否 | 字符串 | 产地 |
manu | 否 | 字符串 | 厂家 |
manuDate | 否 | Double | 生产日期 |
itemNum | 否 | 字符串 | 品项数 |
safeQty | 否 | Double | 安全库存量 |
weight | 否 | Double | 重量 |
length | 否 | Double | 长度 |
volume | 否 | Double | 体积 |
threeCode | 否 | 字符串 | 三方编码 |
Supp | 否 | 字符串 | 供应商 |
suppCode | 否 | 字符串 | 供应商编码 |
beBatch | 否 | Integer | 是否批次1:是0:否 |
deadTime | 否 | 字符串 | 保质期 |
deadWarn | 否 | Integer | 预警天数 |
source | 否 | Integer | 制购1:制造2:采购3:外协 |
inspect | 否 | Integer | 要求检验1:是0:否 |
danger | 是 | Integer | 危险品1:是0:否 |
status | 是 | Integer | 状态1:正常0:禁用 |
createBy | 是 | Long | 填1即可 |
createTime | 是 | Date | 添加时间 |
memo | 是 | 字符串 | 备注 |
请求示例:
{
"createTime":"2022-04-1109:28:10",
"matDetails":[
{
"matnr":"Y9000P",
"maktx":"联想拯救者电脑",
"groupCode":"A01",
"groupName":"laptop",
"name":"联想笔记本电脑",
"specs":"3070显卡",
"model":"非公模具",
"color":"黑色",
"brand":"联想",
"unit":"台",
"price":10999,
"sku":"无sku",
"units":1000,
"barcode":"90000001",
"origin":"中国",
"manu":"中国联想",
"manuDate":"2022-04-1109:28:10",
"itemNum":"1000",
"safeQty":30,
"weight":5,
"length":3,
"volume":10,
"threeCode":"无三方编码",
"supp":"浙江中扬立库",
"suppCode":"supp01",
"beBatch":1,
"deadTime":"2022-08-1109:28:10",
"deadWarn":1,
"source":1,
"inspect":1,
"danger":2,
"status":1,
"createBy":1,
"createTime":"2022-08-1109:28:10",
"memo":"测试用"
}
]
}
返回值
响应字段:
字段名称 | 类型 | 说明 |
---|---|---|
code | 数字 | 响应码 |
msg | 字符串 | 响应描述 |
data | 列表 | 响应内容 |
响应示例:
{
"msg":"操作成功",
"code":200
}
生成入库单据
接口前言
- 接口提供方:AS/RS
- 接口调用方:ERP
- 业务类型:入库作业
- 场景描述:根据ERP入库单据(生产、采购、调拨、销售退回、其他等)进行入库作业,此任务仅为 生成AS/RS入库通知单数据,然后由现场人员操作PDA进行入库,并不表示调用此接口后即表示入库完成。
请求规范
请求头:
参数名 | 描述 |
---|---|
Method | Post |
Url | Post |
Content-Type | application/json;charset=UTF-8 |
appkey | ea1f0459efc02a79f046f982767939ae |
注:appkey、prefix由管理员提供
请求体:
字段名称 | 必需 | 类型 | 说明 |
---|---|---|---|
orderNo | 是 | 字符串 | 单据编号 |
orderType | 是 | 字符串 | 单据类型 |
orderTime | 是 | 字符串 | 单据时间(yyyy-MM-ddHH:mm:ss) |
orderDetails | 是 | 列表 | 单据明细 |
注:JSON提交
注:如果orderDetails中出现两条有相同商品编号(matnr)和相同生产批号(batch)的 信息,立库仅会生成一条,并将数量累加.
orderDetails列表对象:
字段名称 | 必需 | 类型 | 说明 |
---|---|---|---|
matnr | 是 | 字符串 | 商品编号(确保此商品已同步至立库) |
batch | 否 | 字符串 | 生产批号 |
anfme | 是 | 数字型 | 入库数量 |
请求示例:
{
"orderNo":"963007546090586112",
"orderTime":"2022-04-1109:28:10",
"orderType":"采购入库单",
"orderDetails":[
{
"matnr":"MDH020030530",
"anfme":18.0,
"batch":"500"
},
{
"matnr":"LSH90152025",
"anfme":50.0
}
]
}
返回值
响应字段:
字段名称 | 类型 | 说明 |
---|---|---|
code | 数字 | 响应码 |
msg | 字符串 | 响应描述 |
data | 列表 | 响应内容 |
响应示例:
{
"msg":"操作成功",
"code":200
}
入库完成回写
接口前言
- 接口提供方:ERP
- 接口调用方:AS/RS
- 业务类型:入库作业
- 场景描述:AS/RS执行ERP入库单据,完成货物的组托、入库后,上报已入库完成 数量。入库完成策略以整个单据为单位上报。
请求规范
请求头:
参数名 | 描述 |
---|---|
Method | Post |
Url | http://{prefix}/open/asrs/order/matSync/default/v1 |
Content-Type | application/json;charset=UTF-8 |
appkey | ea1f0459efc02a79f046f982767939ae |
注:appkey、prefix由管理员提供
请求体:
字段名称 | 必需 | 类型 | 说明 |
---|---|---|---|
orderNo | 否 | 字符串 | 单据编号(此参数为空时,获取所有已 完成的入库单据,数据被获取后,下次 请求此接口,数据不会重复出现;反 之,则获取指定单据编号数据,指定单 据数据可重复出现。 |
返回值
响应字段:
字段名称 | 类型 | 说明 |
---|---|---|
code | 数字 | 响应码 |
msg | 字符串 | 响应描述 |
data | 列表 | 响应内容 |
data列表对象:
字段名称 | 类型 | 说明 |
---|---|---|
orderNo | 字符串 | 单据编号 |
orderType | 字符串 | 单据类型 |
orderTime | 字符串 | 单据时间(yyyy-MM-ddHH:mm:ss) |
orderDetails | 列表 | 单据明细 |
orderDetails列表对象:
字段名称 | 类型 | 说明 |
---|---|---|
matnr | 字符串 | 商品编号 |
batch | 字符串 | 生产批号 |
anfme | 数字型 | 入库数量 |
orderNo | 字符串 | 单据编号 |
响应示例:
{
"msg":"操作成功",
"code":200,
"data":[
{
"orderNo":"963007546090586112",
"orderType":"采购入库单",
"orderTime":"2022-04-11 09:30:35",
"orderDetils":[
{
"orderNo":"963007546090586112",
"matnr":"MDH020030530",
"batch":"500",
"anfme":18.0
},
{
"orderNo":"963007546090586112",
"matnr":"MDH020030530",
"batch":"500",
"anfme":18.0
}
]
}
]
}