设备管理服务平台
版本 | 创建时间 | 作者 | 备注信息 |
---|---|---|---|
v1.0 | 2022-01-20 | zxfei | 接口文档 |
数据类型
类型名称 | 类型描述 | 参考样例 |
---|---|---|
String | 字符串 | A、a、ab |
Integer | 数字类型 | 1、12、-1 |
Long | 长整型数字 | 1、12、-1 |
date | 时间类型,单位纳秒数字 | 167988745573 |
BigDecimal | 小数类型 | 545.256 |
object | 对象类型 | {"name":"zhang3"} |
arrays | 数组类型 | [{"name":"zhang3"},{"name":"zhang2"}] |
设备终端接口服务
服务端地址获取
广播服务端口: 8074
广播客户端口: 8073
请求方式: UDP
内容类型: application/json;charset=utf-8
简要描述: 服务端地址获取
广播参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
deviceNum | String | 设备编码 | 是 | - |
请求样例:
{
"deviceNum":"12345678"
}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码(-1.失败,1.成功) | - |
msg | String | 消息 | - |
data | Object | 数据对象 | - |
ip | String | ip | - |
port | Integer | port | - |
deviceRegisterApi | String | 设备注册API | - |
deviceInitApi | String | 设备初始化信息API | - |
deviceUpdateApi | String | 设备页面修改API | - |
响应消息样例:
{
"msg":"获取服务端地址成功",
"code":1,
"data":{
"ip":"192.168.0.98",
"port":11091,,
"deviceRegisterApi":"/m/api/register",
"deviceInitApi":"/m/api/deviceInit",
"deviceUpdateApi":"/m/api/deviceUpdate"
}
}
设备注册
请求URL: m/api/register
请求方式: POST
内容类型: application/json;charset=utf-8
简要描述: 设备注册,成功返回响应rabbmit连接参数,如未找到该设备,系统会根据设备码创建新设备
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
deviceCode | String | 设备编码,唯一 | 是 | 可是编码或者mac地址,由平台创建 |
deviceVersion | String | 设备版本信息 | 否 | - |
请求样例:
{
"deviceCode":"a12345678",
"deviceVersion":"1"
}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码(-1.失败,1.成功) | - |
msg | String | 消息 | - |
data | object | 数据对象 | - |
content | String | 加密后的内容 | AES加密 |
content解密参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
rabbmitInfo | Object | rabbmit相关链接信息 | - |
downTopicFilter | String | 下行队列topic | - |
uploadTopicFilter | String | 上行队列topic | - |
username | String | rabbmit用户名 | - |
password | String | rabbmit密码 | - |
host | String | ip | - |
port | String | 端口 | - |
virtualHost | String | 虚拟机 | - |
exchangeName | String | 交换机名称 | - |
messageTtl | String | 队列消息超时时间,毫秒 | - |
serviceInfo | Object | 服务接口连接信息 | - |
homeUrl | String | 首页 | - |
eventUrl | String | 事件地址 | - |
serverUrl | String | 前端服务接口地址 | - |
deviceInfo | Object | 设备基础信息 | - |
siteId | Long | 站点ID | - |
siteCode | String | 站点编码 | - |
siteName | String | 站点名称 | - |
productId | Long | 设备产品类型Id | - |
productName | String | 设备产品类型 | - |
enabled | Integer | 设备启用状态 (0.停止,1.启用) | - |
source | Integer | 设备来源,默认1(0.旧设备,1.新设备) | - |
响应消息样例:
{
"code":1,
"data":{
"content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA="
}
}
设备初始化信息
请求URL: m/api/deviceInit
请求方式: GET
内容类型: application/json;charset=utf-8
简要描述: 设备初始化信息,提供手机编辑设备入口信息
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
请求样例:
{}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码(-1.失败,1.成功) | - |
msg | String | 消息 | - |
data | object | 数据对象 | - |
productList | array | 产品列表 | 数组 |
productId | Long | 产品id | - |
productName | String | 产品名称 | - |
productCode | String | 产品编码 | - |
firmList | array | 设备生产商列表 | 数组 |
deviceFirmId | Long | 生产商id | - |
deviceFirmname | String | 生产商名称 | - |
siteList | array | 站点列表 | 数组 |
siteId | Long | 站点id | - |
siteName | String | 站点名称 | - |
siteCode | String | 站点编码 | - |
响应消息样例:
{
"code": 1,
"data": {
"firmList": [
{
"deviceFirmId": 1,
"deviceFirmname": "四川新鸿翔"
}
],
"productList": [
{
"productCode": "pdj",
"productId": 1,
"productName": "排队机"
},
{
"productCode": "ckp",
"productId": 2,
"productName": "窗口屏"
}
],
"siteList": [
{
"siteCode": "510105521000-0001",
"siteId": 1,
"siteName": "测试站点1"
},
{
"siteCode": "513400000000-0001",
"siteId": 2,
"siteName": "凉山州行政审批局"
}
]
}
}
设备新增或更新
请求URL: m/api/deviceUpdate
请求方式: POST
内容类型: application/json;charset=utf-8
简要描述: 设备新增或更新,提供给前端手机页面更新设备操作
请求参数:
参数名称 | 类型 | 必填 | 其它 |
---|---|---|---|
deviceName | String | 否 | 设备名称 |
deviceCode | String | 是 | 设备编码,默认为MAC地址 |
deviceMac | String | 否 | 设备MAC地址,如不填写,默认等于deviceCode |
siteId | Long | 是 | 站点Id |
siteCode | String | 否 | 站点编号 |
siteName | String | 否 | 站点名称 |
productId | Long | 是 | 产品Id |
deviceFirmId | Long | 否 | 设备生产厂商ID |
deviceFirmname | String | 否 | 设备生产厂商名称 |
lon | String | 否 | 经度 |
lati | String | 否 | 经度 |
deviceInBuilding | Integer | 否 | 所属楼栋 |
deviceInFloor | Integer | 否 | 所属楼层 |
defectsLiabilityPeriod | Date | 否 | 保修期,如2020-08-12 15:00:00 |
leadingOfficial | String | 否 | 负责人 |
leadingOfficialTelephone | String | 否 | 联系电话 |
source | Integer | 否 | 设备来源,默认1(0.旧设备,1.新设备) |
active | Integer | 否 | 设备激活,默认0(0.否,1.是) |
请求样例:
{
"deviceName":"agpla8",
"deviceCode":"a1-a2",
"deviceMac":"a1-a2",
"siteId":1,
"siteCode":"510105521000-0001",
"siteName":"测试站点1",
"productId":1,
"deviceFirmId":1,
"lon":"12",
"lati":"22",
"deviceInBuilding":13,
"deviceInFloor":22,
"defectsLiabilityPeriod":"2022-06-30",
"leadingOfficial":"张三",
"leadingOfficialTelephone":"13281114856",
"source":1,
"active":1
}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码 | 见附录码表 |
msg | String | 消息 | - |
data | object | 数据对象 | - |
content | String | 加密后的内容 | AES加密 |
content解密参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
rabbmitInfo | Object | rabbmit相关链接信息 | - |
downTopicFilter | String | 下行队列topic | - |
uploadTopicFilter | String | 上行队列topic | - |
username | String | rabbmit用户名 | - |
password | String | rabbmit密码 | - |
host | String | ip | - |
port | String | 端口 | - |
virtualHost | String | 虚拟机 | - |
exchangeName | String | 交换机名称 | - |
messageTtl | String | 队列消息超时时间,毫秒 | - |
serviceInfo | Object | 服务接口连接信息 | - |
homeUrl | String | 首页 | - |
serverUrl | String | 前端服务接口地址 | - |
serviceInfo | Object | 服务接口连接信息 | - |
homeUrl | String | 首页 | - |
eventUrl | String | 事件地址 | - |
serverUrl | String | 前端服务接口地址 | - |
deviceInfo | Object | 设备基础信息 | - |
siteId | Long | 站点ID | - |
siteCode | String | 站点编码 | - |
siteName | String | 站点名称 | - |
productId | Long | 设备产品类型Id | - |
productName | String | 设备产品类型 | - |
enabled | Integer | 设备启用状态 (0.停止,1.启用) | - |
响应消息样例:
{
"code":1,
"data":{
"content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA="
}
}
设备版本检查
请求URL: m/api/checkVersion
请求方式: POST
内容类型: application/json;charset=utf-8
简要描述: 检查当前设备所属版本最新版本信息
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
deviceCode | String | 设备编码,唯一 | 是 | 可是编码或者mac地址,由平台创建 |
deviceVersion | String | 设备版本信息 | 否 | - |
请求样例:
{
"deviceCode":"a12345678"
}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码(-1.失败,1.成功) | - |
msg | String | 消息 | - |
data | object | 数据对象 | - |
content | String | 加密后的内容 | AES加密 |
content解密参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
productId | Long | 产品Id | - |
productCode | String | 产品编号 | - |
productName | String | 产品名称 | - |
version | Int | 版本号 | - |
remark | String | 备注信息 | - |
downloadUrl | String | 版本下载地址 | - |
响应消息样例:
{
"code":1,
"data":{
"content":"hRNPu+V1hc4lGRHtXGyVOF0U7ez8/ZxFke9L4o7DWVLMfsZwkViAChfLKSydAEWAdsbgP1dzfNrQTq7X0diu1awR/qdPNcDcpj5/hBozLn+OmuTKLUWhq9+WGtuoF3BTbtIpWkpQWDGolOCfRadenGUkuMozjEwwkt5CIDa+nzOqh56BJIhGahlx79Qt30ugj3UNhLTfvw5lpN9jY7u+icx+xnCRWIAKF8spLJ0ARYAbMXXhI21dYty7e1b+Cb2wZobupPyXRmyuy8Fkn4bculmkCywq78F6tPlu0rCCgJA="
}
}
对外平台接口服务
获取接口访问token
请求URL: m/api/getToken
请求方式: POST
内容类型: application/json;charset=utf-8
简要描述: 获取接口访问token
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
loginName | String | 平台用户名称 | 是 | - |
password | String | 平台用户密码 | 是 | - |
请求样例:
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码 | 见附录码表 |
msg | String | 消息 | - |
data | object | 数据对象 | - |
响应消息样例:
接收第三方平台设备消息
请求URL: m/api/receive
请求方式: POST
鉴权头信息: Authorization: {{token}}
内容类型: application/json;charset=utf-8
简要描述:
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
receiveMethod | Integer | 1:新增,2:修改,3:删除,4:激活,5:启用,6:停用 | 是 | - |
deviceName | String | 设备名称 | 否 | - |
deviceCode | String | 设备编码,如MAC地址 | 是 | - |
platformCode | String | 平台系统编码 | 是 | 见平台编码附录 |
productCode | String | 产品编码 | 是 | 见产品编码附录 |
ip | String | 设备访问ip | 否 | - |
port | String | 设备端口 | 否 | - |
siteId | Long | 站点ID,来源基础服务平台 | 是 | - |
leadingOfficial | String | 负责人 | 否 | - |
leadingOfficialTelephone | String | 否 | 联系电话 | - |
siteCode | String | 站点编号,来源基础服务平台 | 是 | - |
siteName | String | 站点名称 | 是 | - |
homeUrl | String | 首页地址 | 否 | - |
deviceRemark | String | 备注 | 是 | - |
deviceStatus | Integer | 设备状态 (0.未激活,1.离线,2.在线) | 是 | 默认0为激活 |
source | Integer | (0.旧设备,1.新设备) | 是 | 默认1新设备 |
请求样例:
{}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码 | 见附录码表 |
msg | String | 消息 | - |
data | object | 数据对象 | - |
响应消息样例:
接收第三方平台命令消息
请求URL: m/api/callback
请求方式: POST
内容类型: application/json;charset=utf-8
简要描述: 以数组方式进行提交
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
deviceCode | String | 设备编码,如MAC地址 | 是 | - |
messageType | String | 消息类型 | 是 | 如HEART_BEAT |
timestamp | Long | 时间戳 | 是 | - |
data | String | 数据体,内容自行定义 | 否 | - |
请求样例:
[
{
"data":"{xxxx}",
"deviceCode":"a1",
"messageType":"HEART_BEAT",
"timestamp":1654656951795
},
{
"data":"{bbbbbb}",
"deviceCode":"a2",
"messageType":"HEART_BEAT",
"timestamp":1654656951795
}
]
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码 | 见附录码表 |
msg | String | 消息 | - |
响应消息样例:
回调各个平台通知消息
请求URL: 各平台通知地址
请求方式: POST
内容类型: application/json;charset=utf-8
简要描述: 设备消息通知各个平台,当配置了地址时候
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
type | Integer | 消息类型 | 是 | 0:设备增删改查,data数据域封装具体设备消息,1:设备消息类,数据域透传设备上行消息体。 |
msg | String | 消息 | 否 | - |
data | object | 数据对象 | 是 | - |
deviceStatus | Integer | 是 | 状态,1:新增,2:修改,3:删除,4:激活,5:启用,6:停用,7:上线,8:下线 | |
deviceName | String | 设备名称 | 否 | - |
deviceCode | String | 设备编码,如MAC地址 | 是 | - |
productCode | String | 产品编码 | 是 | 见附录 |
ip | String | 设备访问ip | 否 | - |
port | String | 设备端口 | 否 | - |
leadingOfficial | String | 负责人 | 否 | - |
leadingOfficialTelephone | String | 联系电话 | 否 | - |
siteId | Long | 站点ID,来源基础服务平台 | 是 | - |
siteCode | String | 站点编号,来源基础服务平台 | 是 | - |
siteName | String | 站点名称 | 是 | - |
deviceRemark | String | 备注 | 是 | - |
请求样例:
{}
响应参数:
参数名称 | 参数类型 | 备注 | 其它 |
---|---|---|---|
code | Integer | 结果码 | 见附录码表 |
msg | String | 消息 | - |
data | object | 数据对象 | - |
响应消息样例:
设备消息
上行消息
topic: uploadTopicFilter
请求方式: rabbmitMQ
内容类型: application/json;charset=utf-8
简要描述: 上行消息存放队列
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
headers | Object | 消息头 | 是 | - |
data | Object | 消息头数据对象 | 是 | - |
protocol | String | 数据域协议类型,默认json | 是 | - |
messageType | String | 上报消息类型 | 是 | HEART_BEAT |
deviceCode | String | 设备编码信息 | 是 | 如:mac地址 |
sign | String | 签名 | 是 | - |
timestamp | String | 时间戳 | 是 | - |
data | byte[] | byte数组,base64编码 | 是 | - |
key | String | 消息唯一标识 | 是 | - |
请求样例:
{
"data":"YWJjZDEyMzQ=",
"headers":{
"data":{
"protocol":"json",
"messageType":"HEART_BEAT",
"deviceCode":"A1:A2:A3:A4:A5:A6",
"sign":"abcd1234",
"timestamp":"2022-04-15 09:48:05"
}
},
"key":"d3635cd0597d46c88b85797c3846b04f"
}
下行消息
topic: downTopicFilter
请求方式: rabbmitMQ
内容类型: application/json;charset=utf-8
简要描述: 下行消息存放队列
请求参数:
参数名称 | 类型 | 备注 | 必填 | 其它 |
---|---|---|---|---|
headers | Object | 消息头 | 是 | - |
data | Object | 消息头数据对象 | 是 | - |
protocol | String | 数据域协议类型,默认json | 是 | - |
messageType | String | 下发消息类型 | 是 | UPGREAD |
deviceCode | String | 设备编码信息 | 是 | 如:mac地址 |
sign | String | 签名 | 是 | - |
timestamp | String | 时间戳 | 是 | - |
data | byte[] | byte数组,base64编码 | 是 | - |
key | String | 消息唯一标识 | 是 | - |
请求样例:
{
"data":"YWJjZDEyMzQ=",
"headers":{
"data":{
"protocol":"json",
"messageType":"UPGREAD",
"deviceCode":"A1:A2:A3:A4:A5:A6",
"sign":"abcd1234",
"downloadUrl":"http://xxxxx",
"timestamp":"2022-04-15 09:48:05"
}
},
"key":"d3635cd0597d46c88b85797c3846b04f"
}
码表
响应结果码表
结果码 | 结果 | 其它 |
---|---|---|
1 | 成功 | - |
1001 | 当前设备编码不存在 | - |
1002 | 当前设备编码已存在 | - |
1003 | 所属产品编码不存在 | - |
1004 | 当前设备未激活,请在后台配置后再激活 | - |
1005 | 所属平台不存在!请在后台添加后再激活 | - |
1006 | 当前设备所属产品平台未配置,请在后台配置后再激活 | - |
1007 | 站点ID为空 | - |
1008 | 设备已创建,请完善设备配置信息 | - |
1009 | 当前设备不存在 | - |
1010 | token认证失败 | - |
1011 | 未找到设备版本信息 | - |
-1 | 系统内部异常 | - |
附录
业务上行下行消息类型
编码 | 说明 | 其它 |
---|---|---|
HEART_BEAT | 设备心跳消息 | 设备上行发送 |