一、统一说明
1、通讯方式
数据接口采用http协议,通讯内容采用JSON数据格式。
接口返回数据格式如下:
{"code":1001, "message":"信息内容", "data":object}
ResultData字段说明
字段 |
类型 |
说明 |
code |
integer |
代码(参考返回代码说明表) |
message |
String |
返回操作结果描述 |
data |
Json |
Json数据,具体格式参考各个接口 |
文档中所有接口的返回数据说明表,如无特殊说明均为ResultData数据格式,返回的数据均存放于data字段中
-
接口调用注意事项
调用接口(除测试、登录接口外)需要将token写入http请求头中。请求头字段名固定为authorization,字段值为获取token接口获取到的token值。
接口中如无特殊说明,采用post方法的接口中参数为json格式,放入请求body中;采用get方法的接口中参数为查询参数,放入请求地址后
-
接口地址
通用云平台 http://www.xmsiyb.cn/
二、接口详细
1、身份验证
1.1 根据用户名和密码获取token
1.1.1接口描述
接口编号 |
1.1 |
接口名称 |
根据用户名和密码获取token |
功能描述 |
获取登录所用的token |
接口地址 |
/api/getToken |
请求方式 |
GET |
参数格式 |
JSON |
返回数据格式 |
JSON |
备注 |
|
1.1.2请求参数说明
1.1.2.1 请求参数
字段 |
类型 |
说明 |
loginName |
String |
登录名 |
password |
String |
登录密码 |
1.1.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
expiration |
Long |
过期时间 |
token |
String |
token令牌 |
message |
String |
异常信息 |
1.1.4返回格式示例
{
"code": 0,
"data": {
"expiration": 0,
"token": ""
},
"message": ""
}
2、设备信息操作
2.1 根据设备地址查询设备信息
2.1.1接口描述
接口编号 |
2.1 |
接口名称 |
根据设备地址查询设备信息 |
功能描述 |
查询设备信息 |
接口地址 |
/api/device/getDevice |
请求方式 |
GET |
参数格式 |
JSON |
返回数据格式 |
JSON数组 |
备注 |
|
2.1.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
deviceAddr |
Integer |
设备地址 |
2.1.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
alarmRecord |
Integer |
是否保存报警数据 0:不保存 1:保存 |
alarmSwitch |
Integer |
报警开关 1:离线报警 2:超限报警 |
deviceAddr |
Integer |
设备地址 |
deviceName |
String |
设备名称 |
groupId |
String |
分组id |
lat |
Double |
纬度 |
Lng |
Double |
经度 |
offlineinterval |
Short |
离线判断间隔 |
savedatainterval |
Short |
保存数据间隔 |
sort |
Integer |
排序权重 数字越大权重越高 |
useMarkLocation |
Boolean |
使用标记经纬度 |
alarmDelay |
Integer |
报警延时(分钟) |
alarmRate |
Integer |
报警频率 |
coefficient |
Float |
系数 |
deviceAddr |
Integer |
设备地址 |
digits |
Integer |
小数位数 |
enabled |
Boolean |
是否启用 |
factorIcon |
String |
因子图标 |
factorId |
String |
因子id |
factorName |
String |
因子名称 |
nodeId |
Integer |
节点id |
offset |
Float |
偏差 |
registerId |
Integer |
寄存器id |
sort |
Integer |
排序权重 |
unit |
String |
单位 |
Message |
String |
异常信息 |
2.1.4返回格式示例
{
"code": 0,
"data": {
"alarmRecord": 0,
"alarmSwitch": 0,
"deviceAddr": 0,
"deviceName": "",
"factors": [
{
"alarmDelay": 0,
"alarmRate": 0,
"coefficient": 0,
"deviceAddr": 0,
"digits": 0,
"enabled": true,
"factorIcon": "",
"factorId": "",
"factorName": "",
"nodeId": 0,
"offset": 0,
"registerId": 0,
"sort": 0,
"unit": ""
}
],
"groupId": "",
"lat": 0,
"lng": 0,
"offlineinterval": 0,
"savedatainterval": 0,
"sort": 0,
"useMarkLocation": true
},
"message": ""
}
2.2 查询设备列表
2.2.1接口描述
接口编号 |
2.2 |
接口名称 |
查询设备列表 |
功能描述 |
查询设备列表 |
接口地址 |
/api/device/getDeviceList |
请求方式 |
GET |
参数格式 |
JSON |
返回数据格式 |
JSON数组 |
备注 |
|
2.2.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
groupId |
String |
组编号,为空则查询所有设备 |
2.2.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
alarmRecord |
Integer |
是否保存报警数据 0:不保存 1:保存 |
alarmSwitch |
Integer |
报警开关 1:离线报警 2:超限报警 |
deviceAddr |
Integer |
设备地址码 |
deviceName |
String |
设备名称 |
groupId |
String |
分组id |
lat |
Double |
纬度 |
Lng |
Double |
经度 |
offlineinterval |
Integer |
离线判断间隔 |
savedatainterval |
Short |
保存数据间隔 |
sort |
Integer |
排序权重 |
useMarkLocation |
Boolean |
使用标记经纬度 |
alarmDelay |
Integer |
报警延时(分钟) |
alarmRate |
Integer |
报警频率 |
coefficient |
Short |
系数 |
deviceAddr |
Integer |
设备地址 |
digits |
Integer |
小数位数 |
enabled |
Boolean |
是否启用 |
factorIcon |
String |
因子图标 |
factorId |
String |
因子id |
factorName |
String |
因子名称 |
nodeId |
Integer |
节点id |
offset |
Float |
偏差 |
registerId |
Integer |
寄存器id |
sort |
Integer |
排序权重 |
unit |
String |
单位 |
Message |
String |
异常信息 |
2.2.4返回格式示例
{
"code": 0,
"data": [
{
"alarmRecord": 0,
"alarmSwitch": 0,
"deviceAddr": 0,
"deviceName": "",
"factors": [
{
"alarmDelay": 0,
"alarmRate": 0,
"coefficient": 0,
"deviceAddr": 0,
"digits": 0,
"enabled": true,
"factorIcon": "",
"factorId": "",
"factorName": "",
"nodeId": 0,
"offset": 0,
"registerId": 0,
"sort": 0,
"unit": ""
}
],
"groupId": "",
"lat": 0,
"lng": 0,
"offlineinterval": 0,
"savedatainterval": 0,
"sort": 0,
"useMarkLocation": true
}
],
"message": ""
}
2.3 查询分组列表
2.3.1接口描述
接口编号 |
2.5 |
接口名称 |
查询分组列表 |
功能描述 |
查询分组列表 |
接口地址 |
/api/device/getGroupList |
请求方式 |
GET |
参数格式 |
JSON |
返回数据格式 |
JSON数组 |
备注 |
|
2.3.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
2.3.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
返回状态码 |
groupId |
String |
分组id |
groupName |
String |
分组名 |
parentId |
String |
上级组名 |
message |
String |
异常信息 |
2.3.4返回格式示例
{
"code": 0,
"data": [
{
"groupId": "",
"groupName": "",
"parentId": ""
}
],
"message": ""
}
2.4 根据设备地址获取设备继电器列表
2.4.1接口描述
接口编号 |
2.6 |
接口名称 |
根据设备地址获取设备继电器列表 |
功能描述 |
根据设备地址获取设备继电器列表 |
接口地址 |
/api/device/getRelayList |
请求方式 |
Get |
参数格式 |
JSON |
返回数据格式 |
json |
备注 |
|
2.4.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
deviceAddr |
Integer |
设备地址 |
2.4.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
返回状态码 |
deviceAddr |
Integer |
设备地址 |
deviceName |
String |
设备名称 |
enabled |
Boolean |
是否启用 |
relayName |
String |
继电器名称 |
relayNo |
Integer |
继电器编号 |
message |
String |
异常信息 |
2.4.4返回格式示例
{
"code": 0,
"data": [
{
"deviceAddr": 0,
"deviceName": "",
"enabled": true,
"relayName": "",
"relayNo": 0
}
],
"message": ""
}
2.5 继电器操作
2.5.1接口描述
接口编号 |
2.6 |
接口名称 |
继电器操作 |
功能描述 |
继电器操作 |
接口地址 |
/api/device/setRelay |
请求方式 |
POST |
参数格式 |
form-data |
返回数据格式 |
JSON |
备注 |
|
2.5.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
deviceAddr |
Integer |
设备地址 |
opt |
Integer |
设备操作 0:断开 1:开启 |
relayNo |
Integer |
继电器编号 |
2.5.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
data |
Boolean |
是否成功 |
message |
String |
异常信息 |
2.5.4返回格式示例
{
"code": 0,
"data": true,
"message": ""
}
3、数据操作
3.1 获取历史数据列表
3.1.1接口描述
接口编号 |
3.1 |
接口名称 |
获取历史数据列表 |
功能描述 |
获取历史数据列表 |
接口地址 |
/api/data/historyList |
请求方式 |
GET |
参数格式 |
form-data |
返回数据格式 |
JSON数组 |
备注 |
|
3.1.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
deviceAddr |
Integer |
设备地址编号 |
nodeId |
Integer |
节点编号(如果查询所有节点的数据,则nodeid填写-1) |
begintime |
String |
开始时间(YYYY-MM-dd HH:mm:ss) |
endTime |
String |
结束时间(YYYY-MM-dd HH:mm:ss) |
3.1.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
alarmLevel |
int |
报警级别 |
registerId |
int |
寄存器id |
registerName |
String |
寄存器名称 |
text |
String |
数值 |
value |
Double |
数值 |
Lng |
Double |
经度 |
Lat |
Double |
维度 |
deviceAddr |
int |
设备地址 |
RecordTime |
long |
记录时间 |
nodeId |
int |
节点id |
recordId |
String |
历史数据id |
Message |
String |
异常信息 |
3.1.4返回格式示例
{
"code": 0,
"data": [
{
"data": [
{
"alarmLevel": 0,
"registerId": 0,
"registerName": "",
"text": "",
"value": 0
}
],
"deviceAddr": 0,
"handled": true,
"lat": 0,
"lng": 0,
"nodeId": 0,
"recordId": "",
"recordTime": 0,
"recordTimeStr": ""
}
],
"message": ""
}
3.2删除历史数据
3.2.1接口描述
接口编号 |
3.1 |
接口名称 |
删除历史数据 |
功能描述 |
删除历史数据 |
接口地址 |
/api/data/delHistory |
请求方式 |
POST |
参数格式 |
form-data |
返回数据格式 |
JSON |
备注 |
|
3.2.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
id |
String |
历史数据id |
3.2.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
data |
Boolean |
是否成功 |
Message |
String |
异常信息 |
3.2.4返回格式示例
{
"code": 0,
"data": true,
"message": ""
}
3.3查询实时数据
3.3.1接口描述
接口编号 |
3.1 |
接口名称 |
查询实时数据 |
功能描述 |
查询实时数据 |
接口地址 |
/api/data/getRealTimeData |
请求方式 |
GET |
参数格式 |
JSON |
返回数据格式 |
JSON数组 |
备注 |
|
3.3.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
groupId |
String |
组编号 |
3.3.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
data |
boolean |
是否成功 |
message |
String |
异常信息 |
nodeId |
int |
节点id |
alarmColor |
String |
报警颜色 |
alarmInfo |
String |
报警消息 |
alarmLevel |
int |
报警等级 |
data |
String |
数值 |
registerId |
int |
寄存器id |
unit |
String |
单位 |
value |
Double |
实际值 |
deviceAddr |
Integer |
设备地址码 |
deviceName |
String |
设备名称 |
deviceStatus |
String |
设备状态 |
Lat |
double |
纬度 |
Lng |
double |
经度 |
relayStatus |
String |
继电器状态 |
systemCode |
String |
系统编码 |
timeStamp |
long |
时间戳 |
3.3.4返回格式示例
{
"code": 0,
"data": [
{
"dataItem": [
{
"nodeId": 0,
"registerItem": [
{
"alarmColor": "",
"alarmInfo": "",
"alarmLevel": 0,
"data": "",
"registerId": 0,
"unit": "",
"value": 0
}
]
}
],
"deviceAddr": 0,
"deviceName": "",
"deviceStatus": "",
"lat": 0,
"lng": 0,
"relayStatus": "",
"systemCode": "",
"timeStamp": 0
}
],
"message": ""
}
3.4根据设备地址查询实时数据
3.4.1接口描述
接口编号 |
3.1 |
接口名称 |
根据设备地址查询实时数据 |
功能描述 |
根据设备地址查询实时数据 |
接口地址 |
/api/data/getRealTimeDataByDeviceAddr |
请求方式 |
GET |
参数格式 |
JSON |
返回数据格式 |
JSON数组 |
备注 |
|
3.4.2请求参数说明
请求头
header |
必选 |
类型 |
说明 |
authorization |
是 |
string |
token |
请求参数
字段 |
类型 |
说明 |
deviceAddrs |
String |
设备地址,多个用英文,分隔 |
3.4.3返回数据说明
字段 |
类型 |
说明 |
code |
int |
状态码 |
message |
String |
异常信息 |
nodeId |
int |
节点id |
alarmColor |
String |
报警颜色 |
alarmInfo |
String |
报警消息 |
alarmLevel |
int |
报警等级 |
data |
String |
数据 |
registerId |
int |
寄存器id |
unit |
String |
单位 |
value |
double |
实际值 |
deviceAddr |
Integer |
设备地址码 |
deviceName |
String |
设备名 |
deviceStatus |
String |
设备状态 |
lat |
double |
纬度 |
lng |
double |
经度 |
relayStatus |
String |
继电器状态 0:断开 1:开启 |
systemCode |
String |
系统编码 |
timeStamp |
long |
数据时间戳 |
3.4.4返回格式示例
{
"code": 0,
"data": [
{
"dataItem": [
{
"nodeId": 0,
"registerItem": [
{
"alarmColor": "",
"alarmInfo": "",
"alarmLevel": 0,
"data": "",
"registerId": 0,
"unit": "",
"value": 0
}
]
}
],
"deviceAddr": 0,
"deviceName": "",
"deviceStatus": "",
"lat": 0,
"lng": 0,
"relayStatus": "",
"systemCode": "",
"timeStamp": 0
}
],
"message": ""
}
三、附录
返回代码
代码 |
说明 |
1000 |
接口执行成功,具体参考各个接口 |
1001 |
接口执行失败,具体参考各个接口,原因参考Message |
1002 |
参数错误 |
1003 |
程序内部异常,异常信息参考Message |
1004 |
鉴权失败 |