# 智能票箱文档资料 **Repository Path**: jujishouws/itb_doc ## Basic Information - **Project Name**: 智能票箱文档资料 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-08-09 - **Last Updated**: 2024-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 移动端智能票箱Http接口使用说明 |版本|时间|操作|姓名|备注| |:--|---|---|---|---| |V1.0.0|2024-08-09|创建|王硕| ### 概述 移动端分为票箱端和小程序端,罐车司机通过小程序端扫描票箱端显示的二维码进行交票动作。 ### 基础信息 BASE_URL: http://IP:PORT/bgmservice.ashx?action=动作指令 - IP: 后台服务端IP地址或域名 - PORT:后台服务端端口 - 动作指令:具体的请求路径,对应下文中的接口地址 ### 1、心跳+票箱状态上传+指令下发 **接口名称:** 与后台服务保持连接的心跳,同时上传票箱的工作状态 **接口地址:** `Bgm.Idc.VoteBox.HttpService.Request` **请求方式:** `POST` **接口描述:** 心跳接口,请求参数为票箱基础信息和工作状态,返回内容为票箱的票数、特殊票箱的标识和要执行的指令 **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |token|票箱唯一标识|string|true|设备序列号,可在屏幕中二维码内容base64解密后看到,也可在系统设置模块看到| |data|设备工作状态|obj|true|| |data.giveStatus|柜子投递状态|int|true|0:空闲,1:投递中| |data.boxs|盒子状态|array|true| | |data.boxs.boxId|盒子ID|int|true|从1开始编号| |data.boxs.boxDoorStatus|箱子开门状态|int|true|0关,1开| **请求示例:** ```json { "token": "设备唯一标识", "data": { "giveStatus": 1, "boxs": [{ "boxId": 1, "boxDoorStatus": 0 }, { "boxId": 2, "boxDoorStatus": 1 } ] } } ``` **响应参数:** |参数名称|说明|参数类型| 备注| |:--|:--|:--|:--| |token|设备唯一标识 |String| | |data| |obj| | |data.boxs| 票箱信息 |array| | |data.boxs.boxId| 票箱唯一标识| String| | |data.boxs.voteNum| 当前票数|int | | |data.boxs.isSpecial| 是否为特殊票箱| int|0:普通票箱 1:特殊票箱 | |order| 指令信息| array| | |order.orderId| 指令唯一标识| string| | |order.mark| 诸求交票标识| string| | |order.para.boxId| 票箱唯一标识| string| 要打开的票箱 | |order.para.其他| 暂未用到,后续部分接口中作为请求参数原封不动传入 | | | **响应示例:** ```json { "token": "设备唯一标识1", "data": { "boxs": [{ "boxId": "1", "voteNum": 10, "isSpecial": 0 }, { "boxId": "2", "voteNum": 20, "isSpecial": 0 } ], "order": [{ "orderId": "指令唯一标识1", "mark": "GIVE", "para": { "boxId": "票箱唯一标识1", "prodTaskId": "任务单ID", "sendOrderId": "发货单ID" }, "sendStatus": 0, "callBackFun": "GiveVoteCallBack", "callBackResult": "0", "respResult": 1, "insertTime": "指令创建时间", "respTime": "指令响应时间" }] } } ``` ### 2、指令结果反馈 **接口名称:** 指令结果反馈 **接口地址:** `Bgm.Idc.VoteBox.HttpService.Response` **请求方式:** `POST` **接口描述:** 票箱响应服务管理平台的处理指令,票箱处理完成后将指令返回给服务平台;特殊票箱投递成功后也会反馈执行。 **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |token|票箱唯一标识|string|true|设备序列号,可在屏幕中二维码内容base64解密后看到,也可在系统设置模块看到| |order| 指令信息| array| true | |order.orderId| 指令唯一标识| string| | |order.mark| 诸求交票标识| string| | |order.para| | obj| | |order.para.boxId|票箱唯一标识 | obj| | |order.para.prodTaskId| 任务单ID | obj| | |order.para.sendOrderId| 发货单ID | obj| | |order.sendStatus| 平台下发标识| | | |order.callBackFun| 平台方法回调标识| | | |order.callBackResult| 平台方法回调状态| | | |order.respResult| 设备处理结果| int| true |0:待处理 1:成功 2:失败 |order.respMessage| 设备处理结果描述| |order.insertTime| 指令创建时间| |order.respTime| 设备响应指令时间| **请求示例:** ```json { "token": "设备唯一标识", "order": [{ "orderId": "指令唯一标识", "mark": "GIVE", "para": { "boxId": "票箱唯一标识1", "prodTaskId": "任务单ID", "sendOrderId": "发货单ID" }, "sendStatus": 0, "callBackFun": "GiveVoteCallBack", "callBackResult": "0", "respResult": 1, "respMessage": "", "insertTime": "指令创建时间", "respTime": "指令响应时间" }] } ``` **响应参数:** |参数名称|说明|参数类型| 备注| |:--|:--|:--|:--| |token|设备唯一标识 |String| | |order| |array| | |order.orderId| 指令唯一标识| string| 原样返回 |order.mark| 诸求交票标识| string| 原样返回 |order.para| | obj| | |order.para.boxId|票箱唯一标识 | obj| 原样返回 |order.para.prodTaskId| 任务单ID | obj| 原样返回 |order.para.sendOrderId| 发货单ID | obj| 原样返回 |order.sendStatus| 平台下发标识| | 原样返回 |order.callBackFun| 平台方法回调标识| | 原样返回 |order.callBackResult| 平台方法回调状态| | 原样返回 |order.respResult| 设备处理结果| int| 0:待处理 1:成功 2:失败 |order.respMessage| 设备处理结果描述| |order.insertTime| 指令创建时间| |原样返回 |order.respTime| 设备响应指令时间| |指令响应的时间 **响应示例:** ```json { "token": "设备唯一标识1", "order": [{ "orderId": "指令唯一标识1", "mark": "GIVE", "para": { "boxId": "票箱唯一标识1", "prodTaskId": "任务单ID", "sendOrderId": "发货单ID" }, "sendStatus": 0, "callBackFun": "GiveVoteCallBack", "callBackResult": "0", "respResult": 1, "insertTime": "指令创建时间", "respTime": "指令响应时间" }] } ``` ### 3、票箱票据数量清零 **接口名称:** 票箱票据数量清零 **接口地址:** `Bgm.Idc.VoteBox.HttpClient.ReqBoxToZero` **请求方式:** `POST` **接口描述:** 票箱票据数量清零时,通知平台. **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |token|票箱唯一标识|string|true| | |boxIds| 票箱ID| string| true |多个箱子id用英文分号隔开 **请求示例:** ```json { "token": "设备唯一标识", "boxIds": "boxId1;boxId2" } ``` **响应参数:** |参数名称|说明|参数类型| 备注| |:--|:--|:--|:--| |ReturnType|处理结果 |int| 1:成功 9:异常 |ReturnMessage|描述信息 || | |ReturnData| 返回数据| | **响应示例:** ```json { "ReturnType": 1, "ReturnMessage": "", "ReturnData": {} } ``` ### 4、特殊票箱投票时票数累加. **接口名称:** 特殊票箱投票时票数累加. **接口地址:** `Bgm.Idc.VoteBox.HttpClient.ReqBoxToZero` **请求方式:** `POST` **接口描述:** 特殊票箱投票时票数累加. **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |token|票箱唯一标识|string|true| | |boxId| 票箱ID | string| true | **请求示例:** ```json { "token": "设备唯一标识", "boxId": "boxId" } ``` **响应参数:** |参数名称|说明|参数类型| 备注| |:--|:--|:--|:--| |ReturnType|处理结果 |int| 1:成功 9:异常 |ReturnMessage|描述信息 || | **响应示例:** ```json { "ReturnType": 1, "ReturnMessage": "" } ``` ### 5、验证密码 **接口名称:** 验证密码. **接口地址:** `Bgm.Bll.Concret.VoteBox.clsVoteCabinet.GetVoteCabinet` **请求方式:** `POST` **接口描述:** 验证密码. **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |Condition|查询条件|string|true|格式参考下方json串内容,替换成正确的token | |mixOrgId| 搅拌站ID | string| true | 固定传递All **请求示例:** ```json { "filter": { "Condition": "token=\"xxxxxxxxxxxxxxxx\"", "mixOrgId": "All" } } ``` **响应参数:** |参数名称|说明|参数类型| 备注| |:--|:--|:--|:--| |ReturnType|处理结果 |int| 1:成功 9:异常 |ReturnMessage|描述信息 || | **响应示例:** ```json { "ReturnType": 1, "ReturnMessage": "" } ``` ### 6、发货单列表(罐车司机小程序端) **接口名称:** 发货单列表. **接口地址:** `Bgm.Bll.Concret.VoteBox.clsVoteBox.GetSendOrder` **请求方式:** `POST` **接口描述:** 通过司机id获取发货单列表. **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |driverId|司机Id|string|true| | **请求示例:** ```json { "filter": { "status": "20", "isHandVote": "0", "driverId": "", "OrderBy": "Bgm_SaleSendOrder.assignTime DESC" } } ``` ### 7、请求交票(罐车司机小程序端) **接口名称:** 发货单列表. **接口地址:** `Bgm.Idc.VoteBox.HttpClient.ReqGiveVote` **请求方式:** `POST` **接口描述:** 请求交票 **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |token|设备唯一标识|string|true| | |para.prodTaskId|任务id|string|true| | |para.sendOrderId|发货单ID|string|true| | **请求示例:** ```json { "token": "设备唯一标识", "para": { "prodTaskId": "任务id", "sendOrderId": "发货单ID" } } ``` ### 8、请求交票指令处理结果(罐车司机小程序端) **接口名称:** 请求交票指令处理结果. **接口地址:** `Bgm.Idc.VoteBox.HttpClient.ReqOrderResult` **请求方式:** `POST` **接口描述:** 请求交票指令处理结果 **请求参数:** |参数名称|说明|参数类型|必填|备注| |:--|:--|:--|:--|:--| |token|设备唯一标识|string|true| | |orderId|上个接口返回的id|string|true| | **请求示例:** ```json { "token": "设备唯一标识", "orderId": "" } ```