455 lines
20 KiB
Markdown
455 lines
20 KiB
Markdown
## 设备控制系统(WCS)开放式接口文档
|
||
|
||
> 江苏菲达宝开电气股份有限公司
|
||
>
|
||
> 主版本号:2.0
|
||
>
|
||
> 版本号:2.0.1
|
||
>
|
||
> 时间:2025年6月6日
|
||
|
||
|
||
|
||
### 注意事项:
|
||
|
||
1、所有接口请勿并发调用,高频调用可能会被系统拉黑
|
||
|
||
2、WCS调用上位系统时若返回值不重要或者仅上报作用时只要调用成功(HTTP响应码为 2XX)即表示调用成功,若上位系统存在异常需要重新调用请不要返回 2XX响应码
|
||
|
||
3、WCS部分请求若请求失败在一定时间内会重新调用, 若失败次数过多或时间过长则不再调用,请确保存在内部处理方式,不能完全依赖WCS接口
|
||
|
||
4、系统对于重复的数据会默认返回成功,如重复发送的任务都会返回成功
|
||
|
||
|
||
|
||
### 统一约定
|
||
|
||
接口形式:webapi
|
||
|
||
数据格式:application/json
|
||
|
||
|
||
|
||
### 接口统一返回
|
||
|
||
| 键名 | 名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ---------- | -------- | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| code | 返回码 | int32 | 4 | 是 | 操作成功返回 200,其他为异常代码<br />操作成功或者操作已经成功均视为成功,需要返回成功代码 |
|
||
| message | 说明信息 | string | 255 | 是 | |
|
||
| returnData | 返回数据 | object | | 否 | 在需要返回数据的时候带出数据 |
|
||
|
||
|
||
|
||
### 任务交互
|
||
|
||
#### 1、*WCS向上位系统申请仓储任务
|
||
|
||
> 客户端:`WCS`
|
||
>
|
||
> 服务端:`上位系统`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:<u>上位系统提供</u>
|
||
|
||
**使用说明:**WCS在需要申请任务时向上位系统请求,上位系统返回任务数据,只要返回结果为成功则视为成功,若不带出任务需要上位系统后续及时发送(发送接口为:上位系统向WCS发送任务)。
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| --------- | -------- | -------- | ---- | -------- | -------------------------- |
|
||
| requestId | 请求编号 | string | 64 | Y | 同样的请求编号视为同一请求 |
|
||
| vehicleNo | 载具编号 | string | 64 | Y | |
|
||
| location | 位置 | string | 64 | Y | |
|
||
| size | 尺寸 | int32 | | N | |
|
||
| length | 长 | int32 | | N | 计量单位以现场为准 |
|
||
| width | 宽 | int32 | | N | 计量单位以现场为准 |
|
||
| height | 高 | int32 | | N | 计量单位以现场为准 |
|
||
| weight | 重量 | int32 | | N | 计量单位以现场为准 |
|
||
|
||
```json
|
||
{
|
||
"requestId":"1122333",
|
||
"vehicleNo":"TP0001",
|
||
"location":"R1",
|
||
"size":1,
|
||
"length":200,
|
||
"width":150,
|
||
"height":30,
|
||
"weight":20000
|
||
}
|
||
```
|
||
|
||
**响应参数:**(returnData)
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ----------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskId | 任务号 | string | 64 | Y | |
|
||
| taskGroup | 任务组 | string | 64 | N | |
|
||
| taskType | 任务类型 | int32 | | Y | 枚举类型:<br />0 - 自动;<br />1 - 入库;<br />2 - 出库;<br />3 - 输送搬运;<br />9 - 移库;<br /><span style="color: #f455ee">自动任务请咨询我们后使用</span> |
|
||
| vehicleNo | 载具编号 | string | 64 | Y | WCS系统以此处返回的生成任务,不以请求的载具号 |
|
||
| origin | 起点 | string | 32 | Y | |
|
||
| destination | 终点 | string | 32 | Y | |
|
||
| priority | 优先级 | int32 | | N | 范围:0-9<br />默认优先级(不传时):5<br />数字越大优先级越高 |
|
||
| size | 尺寸 | int32 | | N | 默认:0 |
|
||
| weight | 重量 | int32 | | N | 默认:0 |
|
||
| sysName | 上位系统名称 | string | 32 | N | 固定值,请联系我们获取,任意传将无法收到任务回告 |
|
||
|
||
```json
|
||
{
|
||
"code":200,
|
||
"message":"SUCCESS",
|
||
"returnData":{
|
||
"taskId":"123441123",
|
||
"taskGroup":null,
|
||
"taskType":0,
|
||
"vehicle":"TP123",
|
||
"origin":"R2",
|
||
"destination":"A1-02-03-1",
|
||
"priority":3,
|
||
"size":1,
|
||
"weight":344,
|
||
"sysName":"WMS"
|
||
}
|
||
}
|
||
```
|
||
|
||
|
||
|
||
#### 2、上位系统向WCS推送仓储任务
|
||
|
||
> 客户端:`上位系统`
|
||
>
|
||
> 服务端:`wcs`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:/api/pub/task/addStockTask
|
||
|
||
**使用说明:**上位系统调用此接口向WCS推送任务数据,任务号必须唯一,若任务号在WCS系统中已经存在则WCS会返回成功。
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ----------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskId | 任务号 | string | 64 | Y | 任务唯一识别号 |
|
||
| taskGroup | 任务组 | string | 64 | N | |
|
||
| taskType | 任务类型 | int32 | | Y | 枚举类型:<br />0 - 自动;<br />1 - 入库;<br />2 - 出库;<br />3 - 输送搬运;<br />9 - 移库;<br /><span style="color: #f455ee">自动任务请咨询我们后使用</span> |
|
||
| vehicleNo | 载具编号 | string | 64 | Y | WCS系统以此处返回的生成任务,不以请求的载具号 |
|
||
| origin | 起点 | string | 32 | Y | |
|
||
| destination | 终点 | string | 32 | Y | |
|
||
| priority | 优先级 | int32 | | N | 范围:0-9<br />默认优先级(不传时):5<br />数字越大优先级越高 |
|
||
| size | 尺寸 | int32 | | N | 默认:0 |
|
||
| weight | 重量 | int32 | | N | 默认:0 |
|
||
| sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,任意传将无法收到任务回告 |
|
||
|
||
```json
|
||
{
|
||
"taskId":"123441123",
|
||
"taskGroup":null,
|
||
"taskType":0,
|
||
"vehicle":"TP123",
|
||
"origin":"R2",
|
||
"destination":"A1-02-03-1",
|
||
"priority":3,
|
||
"size":1,
|
||
"weight":344,
|
||
"sysName":"WMS"
|
||
}
|
||
```
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
#### 3、*WCS上报仓储任务状态
|
||
|
||
> 客户端:`WCS`
|
||
>
|
||
> 服务端:`上位系统`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:<u>上位系统提供</u>
|
||
|
||
**使用说明:**WCS在任务的节点上报上位系统任务状态(只有最终任务状态会失败重试,如任务完成,任务取消等)。
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ----------- | -------- | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 |
|
||
| taskType | 任务类型 | int32 | | Y | 枚举类型:<br />0 - 自动;<br />1 - 入库;<br />2 - 出库;<br />3 - 输送搬运;<br />9 - 移库; |
|
||
| taskStatus | 任务状态 | int32 | | Y | 枚举类型:<br />1 - 任务开始<br />2 - 任务完成<br />3 - 任务异常<br />4 - 任务取消<br />5 - 目的位置有货<br />6 - 起点无货 |
|
||
| destination | 任务终点 | string | 64 | N | |
|
||
| vehicleNo | 载具号 | string | 64 | Y | |
|
||
| message | 信息 | string | 255 | N | |
|
||
|
||
```json
|
||
{
|
||
"taskId":"123777888",
|
||
"taskType":1,
|
||
"taskStatus":3,
|
||
"destination":"A1-01-3",
|
||
"vehicle":"TP0002",
|
||
"message":"任务被设备取消"
|
||
}
|
||
```
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
#### 4、上位系统查询仓储任务详情
|
||
|
||
> 客户端:`上位系统`
|
||
>
|
||
> 服务端:`wcs`
|
||
>
|
||
> 调用方式:GET
|
||
>
|
||
> 接口地址:/api/pub/task/queryStockTaskDetail
|
||
|
||
**使用说明:**上位系统可调用此接口查询仓库任务信息,注意超出仓库保存时长的数据将无法查询
|
||
|
||
**请求参数:**<u>url参数</u>
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ------ | ------ | -------- | ---- | -------- | -------------------- |
|
||
| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 |
|
||
|
||
```url
|
||
http://{ip}:{port}?taskId={taskId}
|
||
```
|
||
|
||
**响应参数:**(returnData)
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ------------ | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskId | 任务号 | string | 64 | Y | WCS系统任务号 |
|
||
| taskGroup | 任务组 | string | 64 | Y | |
|
||
| upperTaskId | 上位任务号 | string | 64 | Y | 请求的任务号 |
|
||
| taskType | 任务类型 | int32 | | Y | 枚举类型:<br />0 - 自动;<br />1 - 入库;<br />2 - 出库;<br />3 - 输送搬运;<br />9 - 移库; |
|
||
| origin | 起点 | string | 64 | N | |
|
||
| destination | 终点 | string | 64 | N | |
|
||
| taskStatus | 任务状态 | int32 | | Y | 枚举类型:<br />0 - 待执行;<br />1 - 排队中;<br />2 - 执行中;<br />3 - 已完成;<br />4 - 已取消;<br />5 - 任务异常;<br />6 - 任务超时; |
|
||
| canCancel | 是否允许取消 | int32 | | Y | |
|
||
| priority | 优先级 | int32 | | Y | |
|
||
| vehicleNo | 载具号 | string | 64 | Y | |
|
||
| vehicleSize | 载具尺寸 | int32 | | N | |
|
||
| weight | 重量 | decimal | | N | |
|
||
| startTime | 开始时间 | date | | Y | |
|
||
| completeTime | 完成时间 | date | | N | 任务完成时间 |
|
||
| endTime | 结束时间 | date | | N | 任务结束时间,包括完成或者取消 |
|
||
| taskMsg | 任务信息 | string | 255 | N | |
|
||
|
||
|
||
|
||
#### 5、上位系统要求取消仓储任务
|
||
|
||
> 客户端:`上位系统`
|
||
>
|
||
> 服务端:`wcs`
|
||
>
|
||
> 调用方式:DELETE
|
||
>
|
||
> 接口地址:/api/pub/task/cancelStockTask
|
||
|
||
**使用说明:**上位系统可以在需要时取消已经下发的任务,WCS系统会综合判定是否允许取消
|
||
|
||
**请求参数:**<u>url参数</u>
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ------ | ------ | -------- | ---- | -------- | -------------------- |
|
||
| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 |
|
||
|
||
```url
|
||
http://{ip}:{port}?taskId={taskId}
|
||
```
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
#### 6、上位系统向WCS推送简单输送任务
|
||
|
||
> 客户端:`上位系统`
|
||
>
|
||
> 服务端:`wcs`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:/api/pub/task/addConveyTask
|
||
|
||
**使用说明:** 简单输送任务一般表示为箱式线输送,即仅在关键点控制流向的任务,其余由设备自动输送
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| --------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskId | 任务号 | string | 64 | Y | 任务唯一识别号 |
|
||
| taskGroup | 任务组 | string | 64 | N | |
|
||
| taskType | 任务类型 | int32 | | Y | 枚举类型:<br />1 - 捡选任务;<br />2 - 复核任务;<br />3 - 发货任务;<br />9 - 补货任务; |
|
||
| vehicleNo | 载具编号 | string | 64 | Y | |
|
||
| orderId | 订单号 | string | 32 | N | |
|
||
| location | 终点 | string | 32 | Y | |
|
||
| size | 尺寸 | string | 32 | N | |
|
||
| weight | 重量 | int32 | | N | 默认:0 |
|
||
| length | 长 | int32 | | N | 默认:0 |
|
||
| width | 宽 | int32 | | N | 默认:0 |
|
||
| height | 高 | int32 | | N | 默认:0 |
|
||
| sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,任意传将无法收到任务回告 |
|
||
|
||
```json
|
||
{
|
||
"taskId":"123",
|
||
"taskGroup":"334455",
|
||
"taskType":1,
|
||
"vehicleNo":"T0003",
|
||
"orderId":"009901",
|
||
"location":"A01",
|
||
"size":"-",
|
||
"weight":200,
|
||
"length":100,
|
||
"weight":150,
|
||
"height":120,
|
||
"sysName":"WMS"
|
||
}
|
||
```
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
#### 7、*WCS上报简单输送任务状态
|
||
|
||
> 客户端:`WCS`
|
||
>
|
||
> 服务端:`上位系统`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:<u>上位系统提供</u>
|
||
|
||
**使用说明:** WCS在简单输送任务关键节点时上报上位系统状态,如任务完成,任务超时,任务取消等
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| -------------- | -------- | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskId | 任务号 | string | 64 | Y | 上位系统下发的任务号 |
|
||
| taskType | 任务类型 | int32 | | Y | 枚举类型:<br />1 - 捡选任务;<br />2 - 复核任务;<br />3 - 发货任务;<br />4 - 补货任务; |
|
||
| taskStatus | 任务状态 | int32 | | Y | 枚举类型:<br />1 - 箱子到达某一点位<br />2 - 箱子到达目的地<br />3 - 任务异常<br />4 - 任务取消 |
|
||
| arriveLocation | 到达位置 | string | 64 | N | |
|
||
| vehicleNo | 载具号 | string | 64 | Y | |
|
||
| message | 信息 | string | 255 | N | |
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
#### 8、上位系统给WCS推送电子标签任务
|
||
|
||
> 客户端:`上位系统`
|
||
>
|
||
> 服务端:`wcs`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:/api/pub/task/addEtagTask
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ---------- | ------------ | -------- | ---- | -------- | ------------------------------------------------------------ |
|
||
| taskGroup | 任务组 | string | 64 | N | |
|
||
| taskType | 任务类型 | int | | Y | 枚举类型:<br />1 - 捡货<br />2 - 上架<br />3 - 盘点<br />4 - 清点<br />5 - 其他 |
|
||
| lightModel | 点亮类型 | int | | Y | 枚举类型:<br />1 - 立即点亮<br />2 - 等待触发<br /><span style="color:#f455ee">根据流程确定,请与我们交流方案</span> |
|
||
| sysName | 上位系统名称 | string | 32 | Y | 固定值,请联系我们获取,否则将无法收到任务回告 |
|
||
| taskList | 任务数据 | list | | Y | |
|
||
|
||
taskList:<span style="color:#f455ee">若任务中存在一个有问题,则所有任务都会判定失败</span>
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| --------- | -------- | -------- | ---- | -------- | -------- |
|
||
| taskId | 任务号 | string | 64 | Y | 唯一标识 |
|
||
| orderId | 订单号 | string | 64 | N | |
|
||
| location | 点位 | string | 64 | Y | |
|
||
| goodsId | 物料编号 | string | 64 | N | |
|
||
| goodsName | 物料名称 | string | 64 | N | |
|
||
| lightNum | 点亮数量 | int | | Y | |
|
||
|
||
**请求示例:**
|
||
|
||
```json
|
||
{
|
||
"taskGroup":"2223336678",
|
||
"taskType":1,
|
||
"lightModel":1,
|
||
"sysName":"WMS",
|
||
"taskList":[
|
||
{
|
||
"taskId":"12434543",
|
||
"orderId":"889088",
|
||
"location":"A02-99-12",
|
||
"goodsId":"449802",
|
||
"goodsName":"饮用水",
|
||
"lightNum":13
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
#### 9、*WCS上报电子标签任务完成
|
||
|
||
> 客户端:`WCS`
|
||
>
|
||
> 服务端:`上位系统`
|
||
>
|
||
> 调用方式:POST
|
||
>
|
||
> 接口地址:<u>上位系统提供</u>
|
||
|
||
**请求参数:**
|
||
|
||
| 键 | 键名称 | 数据类型 | 长度 | 是否必填 | 备注 |
|
||
| ------------- | ---------- | -------- | ---- | -------- | ---------------- |
|
||
| taskId | 任务号 | string | 64 | Y | 上位发来的任务号 |
|
||
| confirmNum | 确认的数量 | int | | Y | |
|
||
| confirmPerson | 确认人 | string | | N | |
|
||
|
||
**响应参数:**统一响应
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|