<!doctype html>
|
<html lang="en">
|
<head>
|
<meta charset="UTF-8">
|
<meta name="viewport"
|
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
|
<meta http-equiv="X-UA-Compatible" content="ie=edge">
|
<link rel="icon" type="image/x-icon" href="../static/image/favicon.ico" />
|
<link rel="stylesheet" href="../static/css/api_index/api_index.css">
|
<link rel="stylesheet" href="../static/css/prism.css">
|
<script src="../static/css/prism.js"></script>
|
<title>api | AS / RS</title>
|
</head>
|
<body>
|
<div class="header">
|
|
</div>
|
<div class="siderbar">
|
<div >
|
<ul>
|
<li><a href="#background">背景</a></li>
|
<!-- <li><a href="#background">背景</a></li>-->
|
<li><a href="#Url">URL及数据包格式规范</a></li>
|
</ul>
|
</div>
|
</div>
|
<div class="main">
|
<div class="main-box">
|
<h1 id="background">背景</h1>
|
<p>本文旨在为自动化立体仓库数据同步条件的平台开放服务,提供统一的HTTP接口调用与交互规范。</p>
|
<p>本文中描述的规范包括AS/RS功能模块的数据同步接口。</p>
|
<h1>规范适用对象说明</h1>
|
<p>本规范仅适用于由平台之间服务器端发起调用请求,包括POST提交数据以及GET请求数据。</p>
|
<h1>名词解释</h1>
|
<ul>
|
<li><span>AS/RS:自动化立体仓库仓储系统</span></li>
|
<li><span>WMS:仓库管理系统。</span></li>
|
<li><span>WCS:仓储设备管理控制系统。</span></li>
|
<li><span>PDA:安装了立库移动端软件应用、可进行扫码的手持终端设备。</span></li>
|
<li><span>全部同步:不管数据有无变化,同步周期内全部数据同步上传。</span></li>
|
<li><span>增量同步:同步周期内有变化(新增、修改、更新)的数据同步上传。</span></li>
|
</ul>
|
<h1 id="Url">URL及数据包格式规范</h1>
|
<h2>URL</h2>
|
<ul>
|
<li><span>服务器提供如下风格的HTTP接口。</span></li>
|
<li><span>http://{host}:{port}/{prefix}/open/asrs/{url}</span></li>
|
<li><span>注1:所有Http请求以POST方式,JSON提交进行</span></li>
|
<li><span>注2:响应报文同为JSON字符串</span></li>
|
</ul>
|
<h2>参数</h2>
|
<h3>系统级参数</h3>
|
<ul>
|
<li><span>以下参数是由开发平台端定义,系统需支持这些参数以便识别调用接口的客户端。</span></li>
|
</ul>
|
<table border="1">
|
<tr><th>参数名</th><th>类型</th><th>是否必须</th><th>描述</th></tr>
|
<tr><td>appkey</td><td>string</td><td>是</td><td>平台认证唯一密钥</td></tr>
|
</table>
|
<h3>业务级参数</h3>
|
<p>遵守数据交换规范中业务级通用参数的约定。</p>
|
<p>表格4-2业务级参数的通用约定</p>
|
<p>ERP遵守数据交换规范中业务级通用参数的约定。</p>
|
<h1>响应数据包格式规范</h1>
|
<p>目前接口的返回格式全部采用JSON格式。</p>
|
<h2>JSON输出格式</h2>
|
<p>响应包符合如下规范的标准JSON字符串:</p>
|
<ul>
|
<li>http响应头中的Content-Type指定:application/json;charset=utf-8</li>
|
<li>字符串编码格式是utf-8</li>
|
</ul>
|
<h2>接口响应输出格式</h2>
|
<ur><li>响应输出格式</li></ur>
|
<div class="code language-css">
|
<pre class="">
|
<code class="">
|
{
|
"code":200,
|
"msg":"操作成功",
|
"data":null
|
}
|
</code>
|
</pre>
|
</div>
|
|
<ur><li>获取成功信息</li></ur>
|
<table border="1">
|
<tr><th>code</th><th>msg</th><th>data</th></tr>
|
<tr><td>200</td><td>操作成功</td><td>接口返回业务数据</td></tr>
|
</table>
|
<h2>错误响应输出格式</h2>
|
<p>错误响应输出内容符合以下规范:</p>
|
<ur><li>返回内容由code,msg,data此三类属性组成,分别用于描述错误编码,以及错误信息。</li></ur>
|
<p>{
|
"code":500,
|
"msg":"服务器内部错误",
|
"data":null
|
}
|
</p>
|
<p>错误码定义如下表所示:</p>
|
<table border="1">
|
<tr><th>code</th><th>描述</th></tr>
|
<tr><td>201</td><td>暂无数据</td></tr>
|
<tr><td>401</td><td>参数为空</td></tr>
|
<tr><td>403</td><td>权限不足</td></tr>
|
<tr><td>407</td><td>请勿重复提交</td></tr>
|
<tr><td>500</td><td>服务器错误</td></tr>
|
</table>
|
<h1>相关业务接口</h1>
|
<h2>商品信息同步</h2>
|
<h3>接口前言</h3>
|
<ul>
|
<li>接口提供方:AS/RS</li>
|
<li>接口调用方:ERP</li>
|
<li>业务类型:入库作业</li>
|
<li>场景描述:ERP系统中新增或修改商品基础信息以后,调用此接口,将商品信息同步至AS/RS。</li>
|
</ul>
|
<h3>请求规范</h3>
|
<p>请求头:</p>
|
<table border="1">
|
<tr><th>参数名</th><th>描述</th></tr>
|
<tr><td>Method</td><td>Post</td></tr>
|
<tr><td>Url</td><td>http://{prefix}/open/asrs/order/matSync/default/v1</td></tr>
|
<tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
|
<tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
|
</table>
|
<p>注:appkey、prefix由管理员提供</p>
|
<p>请求体:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
|
<tr><td>createTime</td><td>是</td><td>字符串</td><td>单据时间(yyyy-MM-ddHH:mm:ss)</td></tr>
|
<tr><td>matDetails</td><td>是</td><td>列表</td><td>单据明细</td></tr>
|
</table>
|
<p>注:JSON提交</p>
|
<p>matDetails列表对象</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
|
|
<tr><td>matnr</td><td>是</td><td>字符串</td><td>商品编号</td></tr>
|
<tr><td>maktx</td><td>是</td><td>字符串</td><td>商品名称</td></tr>
|
<tr><td>groupCode</td><td>是</td><td>字符串</td><td>商品分类</td></tr>
|
<tr><td>groupName</td><td>是</td><td>字符串</td><td>分类名称</td></tr>
|
<tr><td>name</td><td>否</td><td>字符串</td><td>存货代码</td></tr>
|
<tr><td>specs</td><td>否</td><td>字符串</td><td>规格</td></tr>
|
<tr><td>model</td><td>否</td><td>字符串</td><td>型号</td></tr>
|
<tr><td>color</td><td>否</td><td>字符串</td><td>颜色</td></tr>
|
|
<tr><td>brand</td><td>否</td><td>字符串</td><td>品牌</td></tr>
|
<tr><td>unit</td><td>否</td><td>字符串</td><td>单位</td></tr>
|
<tr><td>price</td><td>否</td><td>字符串</td><td>单价</td></tr>
|
<tr><td>sku</td><td>否</td><td>字符串</td><td>sku</td></tr>
|
<tr><td>units</td><td>否</td><td>Double</td><td>单位量</td></tr>
|
<tr><td>barcode</td><td>否</td><td>字符串</td><td>条码</td></tr>
|
<tr><td>origin</td><td>否</td><td>字符串</td><td>产地</td></tr>
|
<tr><td>manu</td><td>否</td><td>字符串</td><td>厂家</td></tr>
|
|
<tr><td>manuDate</td><td>否</td><td>Double</td><td>生产日期</td></tr>
|
<tr><td>itemNum</td><td>否</td><td>字符串</td><td>品项数</td></tr>
|
<tr><td>safeQty</td><td>否</td><td>Double</td><td>安全库存量</td></tr>
|
<tr><td>weight</td><td>否</td><td>Double</td><td>重量</td></tr>
|
<tr><td>length</td><td>否</td><td>Double</td><td>长度</td></tr>
|
<tr><td>volume</td><td>否</td><td>Double</td><td>体积</td></tr>
|
|
<tr><td>threeCode</td><td>否</td><td>字符串</td><td>三方编码</td></tr>
|
<tr><td>Supp</td><td>否</td><td>字符串</td><td>供应商</td></tr>
|
<tr><td>suppCode</td><td>否</td><td>字符串</td><td>供应商编码</td></tr>
|
<tr><td>beBatch</td><td>否</td><td>Integer</td><td>是否批次1:是0:否</td></tr>
|
<tr><td>deadTime</td><td>否</td><td>字符串</td><td>保质期</td></tr>
|
<tr><td>deadWarn</td><td>否</td><td>Integer</td><td>预警天数</td></tr>
|
<tr><td>source</td><td>否</td><td>Integer</td><td>制购1:制造2:采购3:外协</td></tr>
|
<tr><td>inspect</td><td>否</td><td>Integer</td><td>要求检验1:是0:否</td></tr>
|
|
<tr><td>danger</td><td>是</td><td>Integer</td><td>危险品1:是0:否</td></tr>
|
<tr><td>status</td><td>是</td><td>Integer</td><td>状态1:正常0:禁用</td></tr>
|
<tr><td>createBy</td><td>是</td><td>Long</td><td>填1即可</td></tr>
|
<tr><td>createTime</td><td>是</td><td>Date</td><td>添加时间</td></tr>
|
<tr><td>memo</td><td>是</td><td>字符串</td><td>备注</td></tr>
|
</table>
|
<p>请求示例:</p>
|
<div class="code language-css">
|
<pre>
|
<code>
|
{
|
"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>
|
</pre>
|
</div>
|
<h3>返回值</h3>
|
<p>响应字段:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
|
<tr><td>code</td><td>数字</td><td>响应码</td></tr>
|
<tr><td>msg</td><td>字符串</td><td>响应描述</td></tr>
|
<tr><td>data</td><td>列表</td><td>响应内容</td></tr>
|
</table>
|
<p>响应示例:</p>
|
<div class="code language-css">
|
<pre>
|
<code>
|
{
|
"msg":"操作成功",
|
"code":200
|
}
|
</code>
|
</pre>
|
</div>
|
<h2>生成入库单据</h2>
|
<h3>接口前言</h3>
|
<ul>
|
<li>接口提供方:AS/RS</li>
|
<li>接口调用方:ERP</li>
|
<li>业务类型:入库作业</li>
|
<li>场景描述:根据ERP入库单据(生产、采购、调拨、销售退回、其他等)进行入库作业,此任务仅为
|
生成AS/RS入库通知单数据,然后由现场人员操作PDA进行入库,并不表示调用此接口后即表示入库完成。
|
</li>
|
</ul>
|
<h3>请求规范</h3>
|
<p>请求头:</p>
|
<table border="1">
|
<tr><th>参数名</th><th>描述</th></tr>
|
<tr><td>Method</td><td>Post</td></tr>
|
<tr><td>Url</td><td>Post</td></tr>
|
<tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
|
<tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
|
</table>
|
<p>注:appkey、prefix由管理员提供</p>
|
<p>请求体:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
|
<tr><td>orderNo</td><td>是</td><td>字符串</td><td>单据编号</td></tr>
|
<tr><td>orderType</td><td>是</td><td>字符串</td><td>单据类型</td></tr>
|
<tr><td>orderTime</td><td>是</td><td>字符串</td><td>单据时间(yyyy-MM-ddHH:mm:ss)</td></tr>
|
<tr><td>orderDetails</td><td>是</td><td>列表</td><td>单据明细</td></tr>
|
</table>
|
<p>注:JSON提交</p>
|
<p>注:如果orderDetails中出现两条有相同商品编号(matnr)和相同生产批号(batch)的
|
信息,立库仅会生成一条,并将数量累加.</p>
|
<p>orderDetails列表对象:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>必需</th><th>类型</th><th>说明</th></tr>
|
<tr><td>matnr</td><td>是</td><td>字符串</td><td>商品编号(确保此商品已同步至立库)</td></tr>
|
<tr><td>batch</td><td>否</td><td>字符串</td><td>生产批号</td></tr>
|
<tr><td>anfme</td><td>是</td><td>数字型</td><td>入库数量</td></tr>
|
</table>
|
<p>请求示例:</p>
|
<div class="code language-css">
|
<pre>
|
<code>
|
{
|
"orderNo":"963007546090586112",
|
"orderTime":"2022-04-1109:28:10",
|
"orderType":"采购入库单",
|
"orderDetails":[
|
{
|
"matnr":"MDH020030530",
|
"anfme":18.0,
|
"batch":"500"
|
},
|
{
|
"matnr":"LSH90152025",
|
"anfme":50.0
|
}
|
]
|
}
|
</code>
|
</pre>
|
</div>
|
<h3>返回值</h3>
|
<p>响应字段:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
|
<tr><td>code</td><td>数字</td><td>响应码</td></tr>
|
<tr><td>msg</td><td>字符串</td><td>响应描述</td></tr>
|
<tr><td>data</td><td>列表</td><td>响应内容</td></tr>
|
</table>
|
<p>响应示例:</p>
|
<div class="code language-css">
|
<pre>
|
<code>
|
{
|
"msg":"操作成功",
|
"code":200
|
}
|
</code>
|
</pre>
|
</div>
|
<h2>入库完成回写</h2>
|
<h3>接口前言</h3>
|
<ul>
|
<li>接口提供方:ERP</li>
|
<li>接口调用方:AS/RS</li>
|
<li>业务类型:入库作业</li>
|
<li>场景描述:AS/RS执行ERP入库单据,完成货物的组托、入库后,上报已入库完成
|
数量。入库完成策略以整个单据为单位上报。</li>
|
</ul>
|
<h3>请求规范</h3>
|
<p>请求头:</p>
|
<table border="1">
|
<tr><th>参数名</th><th>描述</th></tr>
|
<tr><td>Method</td><td>Post</td></tr>
|
<tr><td>Url</td><td>http://{prefix}/open/asrs/order/matSync/default/v1</td></tr>
|
<tr><td>Content-Type</td><td>application/json;charset=UTF-8</td></tr>
|
<tr><td>appkey</td><td>ea1f0459efc02a79f046f982767939ae</td></tr>
|
</table>
|
<p>注:appkey、prefix由管理员提供</p>
|
<p>请求体:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th style="width: 50px">必需</th><th style="width: 50px">类型</th><th>说明</th></tr>
|
<tr><td>orderNo</td><td>否</td><td>字符串</td><td>单据编号(此参数为空时,获取所有已
|
完成的入库单据,数据被获取后,下次
|
请求此接口,数据不会重复出现;反
|
之,则获取指定单据编号数据,指定单
|
据数据可重复出现。</td></tr>
|
</table>
|
<h3>返回值</h3>
|
<p>响应字段:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
|
<tr><td>code</td><td>数字</td><td>响应码</td></tr>
|
<tr><td>msg</td><td>字符串</td><td>响应描述</td></tr>
|
<tr><td>data</td><td>列表</td><td>响应内容</td></tr>
|
</table>
|
<p>data列表对象:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
|
<tr><td>orderNo</td><td>字符串</td><td>单据编号</td></tr>
|
<tr><td>orderType</td><td>字符串</td><td>单据类型</td></tr>
|
<tr><td>orderTime</td><td>字符串</td><td>单据时间(yyyy-MM-ddHH:mm:ss)</td></tr>
|
<tr><td>orderDetails</td><td>列表</td><td>单据明细</td></tr>
|
</table>
|
<p>orderDetails列表对象:</p>
|
<table border="1">
|
<tr><th>字段名称</th><th>类型</th><th>说明</th></tr>
|
<tr><td>matnr</td><td>字符串</td><td>商品编号</td></tr>
|
<tr><td>batch</td><td>字符串</td><td>生产批号</td></tr>
|
<tr><td>anfme</td><td>数字型</td><td>入库数量</td></tr>
|
<tr><td>orderNo</td><td>字符串</td><td>单据编号</td></tr>
|
</table>
|
<p>响应示例:</p>
|
<div class="code language-css">
|
<pre>
|
<code>
|
{
|
"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
|
}
|
]
|
}
|
]
|
}
|
</code>
|
</pre>
|
</div>
|
</div>
|
</div>
|
</body>
|
</html>
|