1. 主数据API
API列表
编号 | API名称 | 路径 | 版本 |
---|---|---|---|
1.1 | 主数据设备新增 | /v1/iot/master-data/device/add | 1.0 |
1.2 | 主数据设备编辑 | /v1/iot/master-data/device/update | 1.0 |
1.3 | 主数据设备详情 | /v1/iot/master-data/device/{id} | 1.0 |
1.4 | 主数据设备列表 | /v1/iot/master-data/device/page | 1.0 |
1.5 | 主数据设备删除 | /v1/iot/master-data/device/remove | 1.0 |
1.6 | 主数据设备同步 | /v1/iot/master-data/device/sync | 1.0 |
1.7 | 主数据设备列表统计 | /v1/iot/master-data/device/list/aggregate | 1.0 |
1.8 | 主数据设备批量导入 | /v1/iot/master-data/device/import | 1.0 |
1.9 | 主数据设备主动触发全同步 | /v1/iot/master-data/space/sync | 1.0 |
2.0 | 主动触发下发边端同步 | /v1/iot/master-data/space/down | 1.0 |
2.1 | (边)主动触发下发边端同步 | /v1/iot/spatial/sync/spatial | 1.0 |
3.1 | (边)设备注册 | /v1/iot/master-data/device/register | 1.0 |
API调用
1.1: 主数据设备添加
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/add
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
deviceName | body | string | y | 设备名称 |
productId | body | string | y | 设备模板id |
mac | body | string | y | mac |
id | body | string | n | 设备id,更新注册信息时需要添加 |
projectId | body | int | n | 项目id |
deviceMode | body | string | n | 设备型号 |
deviceStatus | body | int | n | 设备运行 0正常 1闲置 2报废 |
sn | body | string | n | sn |
propertyCode | body | string | n | 资产编码 |
registerStatus | body | int | n | 注册状态 0未注册 1已注册 |
spaceId | body | int | n | 空间id |
spaceLocation | body | string | n | 详细位置 |
lastOnlineTime | body | string | n | 最近更新时间 |
intranetAddress | body | string | n | 内网地址 |
plugFlowAddress | body | string | n | 推流地址 |
connectProtocol | int | string | n | 链接协议 |
ip | body | string | n | ip, |
port | body | string | n | port |
account | body | string | n | 账号 |
password | body | string | n | 密码 |
请求Body描述(非Form表单数据)
{
"productId": "1",
"ip": "192.188.12.1",
"connectProtocol": "2",
"deviceName": "xxx门禁",
"mac": "610_767_acs",
"deviceStatus": 1,
"plugFlowAddress": "66666.6666",
"intranetAddress": "9999.9999.9999",
"password": "123123",
"propertyCode": "uuu-xxx-ccc",
"createTime": 1597368114000,
"deviceMode": "8900ecs",
"port": "9090",
"outerNetAddress": "66666.6666..66666",
"lastOnlineTime": "2020-08-14 14:15:51",
"online": 0,
"registerStatus": "1",
"id": 2,
"sn": "198773eex",
"projectId": 3333,
"account": "admin"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
id | body | string | y | 返回的设备id |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
1.2: 主数据设备编辑
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/update
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | url | int | y | 主键id |
sourceSystem | url | string | n | 设备关联的业务,比如关联门禁是 SMART-ACCESS,梯控LIFT,各个业务系统自己维护 |
请求Body描述(非Form表单数据)
{
"sourceSystem": "VIDEO",
"intranetAddress": "9999.9999.9999",
"productId": "1",
"ip": "192.188.12.1",
"updateTime": 1597368114000,
"connectProtocol": "2",
"deviceName": "xxx门禁",
"mac": "610_767_acs",
"deviceStatus": 1,
"plugFlowAddress": "66666.6666",
"password": "123123",
"propertyCode": "uuu-xxx-ccc",
"createTime": 1597368114000,
"deviceMode": "8900ecs",
"port": "9090",
"outerNetAddress": "66666.6666..66666",
"lastOnlineTime": "2020-08-14 14:15:51",
"online": 0,
"registerStatus": "1",
"id": 2,
"sn": "198773eex",
"projectId": 3333,
"account": "ad,in"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
1.3: 主数据详情
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/{id}
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | url | int | y | 主键id |
请求Body描述(非Form表单数据)
{
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": 200,
"data": {
"intranetAddress": "9999.9999.9999",
"productId": "1",
"ip": "192.188.12.1",
"updateTime": 1597368114000,
"connectProtocol": "2",
"deviceName": "xxx门禁",
"mac": "610_767_acs",
"deviceStatus": 1,
"plugFlowAddress": "66666.6666",
"password": "123123",
"propertyCode": "uuu-xxx-ccc",
"createTime": 1597368114000,
"deviceMode": "8900ecs",
"port": "9090",
"outerNetAddress": "66666.6666..66666",
"lastOnlineTime": "2020-08-14 14:15:51",
"online": 0,
"registerStatus": "1",
"id": 2,
"sn": "198773eex",
"projectId": 3333,
"account": "ad,in"
},
"message": "success"
}
1.4: 主数据设备列表
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/page
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
pageSize | body | int | y | |
pageNo | body | int | y | |
idsIn | body | int | n | |
idsOut | body | int | n | |
spaceId | body | int | 空间id,传入后,会把该spaceId下所有子空间已经该spaceId的设备返回 | |
agentId | body | int | n | |
projectId | body | int | n | |
online | body | int | n | |
categoryId | body | int | n | |
registerStatus | body | int | n | 筛选条件,1为已注册 |
id | body | int | n | 模糊搜索id |
sourceSystem | body | string | n | 设备绑定关联时需要调用update接口更新的sourceSystem,比如门禁为SMART-ACCESS",梯控LIFT |
请求Body描述(非Form表单数据)
{
"pageNo":1,
"pageSize": 10,
"productId":3,
"deviceName": "xxx门禁",
"mac":"610_767_acs",
"online":0,
"registerStatus": 1,
"sourceSystem": "SMART-ACCESS"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
online | records | int | 是 | 0 离线 1在线 |
lastOnlineTime | records | string | 是 | 最近上线时间 |
syncStatus | records | int | 是 | 同步状态 0待同步 1已同步 |
返回结果示例
{
"code": 200,
"data": {
"records": [
{
"productId": "1",
"deviceName": "xxx门禁",
"mac": "610_767_acs",
"productName": "测试模板",
"propertyCode": "uuu-xxx-ccc",
"deviceMode": "8900ecs",
"createTime": "2020-08-14T01:21:54.000+0000",
"registerStatus": 1,
"syncStatus": 1,
"online": 0,
"id": 2,
"sn": "198773eex",
"lastOnLineTime": "2020-08-14T06:15:51.000+0000",
"projectId": 3333,
"brand": "其他",
"categoryId": 1
},
{
"productId": "1",
"createTime": "2020-08-14T01:30:29.000+0000",
"registerStatus": 0,
"id": 3,
"sn": "11",
"deviceName": "123",
"brand": "其他",
"mac": "11",
"categoryId": 1,
"productName": "测试模板"
}
],
"total": 2,
"size": 10,
"current": 1,
"orders": [],
"searchCount": true,
"pages": 1
},
"message": "success"
}
1.5: 主数据设备删除
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/remove
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | body |
请求Body描述(非Form表单数据)
{
"id": 1
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
1.6: 主数据设备同步/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/sync
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | body | int | n | 设备id |
ids | body | int | n | 批量同步使用,当不传is时,使用ids |
请求Body描述(非Form表单数据)
{
"ids": [ "idssss1","idssss2"]
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
返回结果示例
{
"code": "200",
"success": true,
"message": null,
"requestId": null,
"data": [
{
"success": false,
"errMsg": "设备同步失败"
},
{
"success": true,
"errMsg": "设备同步成功"
}
]
}
1.7: 主数据设备列表聚合/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/list/aggregate
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
| | | | | |
请求Body描述(非Form表单数据)
{
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
返回结果示例
{
"code": 200,
"data": {
"total": 4,
"records": [
{
"name": "门禁系统",
"count": 4,
"id": 1
},
{
"name": "梯控系统",
"count": 0,
"id": 2
},
{
"name": "车场系统",
"count": 0,
"id": 3
},
{
"name": "视频安防系统",
"count": 0,
"id": 4
},
{
"name": "其他系统",
"count": 0,
"id": 5
},
{
"name": "捷顺门禁",
"count": 0,
"id": 7
},
{
"name": "监控系统",
"count": 0,
"id": 8
},
{
"name": "车场-悦然广场",
"count": 0,
"id": 9
},
{
"name": "富士梯控",
"count": 0,
"id": 10
},
{
"name": "一级设备分类",
"count": 0,
"id": 14
},
{
"name": "类型名称",
"count": 0,
"id": 15
},
{
"name": "类型名称",
"count": 0,
"id": 16
}
]
},
"message": "success"
}
1.8: 主数据设备批量导入/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/import
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
productId | body | y | ||
mac | body | y | ||
projectId | body | y |
请求Body描述(非Form表单数据)
{
"productId":1,
"projectId":610,
"devices": [
{
"deviceName": "大华人脸识别门禁1",
"productId": 3,
"deviceMode": "8900ecs",
"deviceStatus": 1,
"mac": "610_767_ac33",
"sn": "198773eex",
"propertyCode": "uuu-23d-ccc",
"registerStatus": 1
},
{
"deviceName": "大华人脸识别门禁33",
"productId": 3,
"deviceMode": "89032c0ecs",
"deviceStatus": 1,
"mac": "61011767_ac3333",
"sn": "19877323eex",
"propertyCode": "uuu-xzvcxx-ccc",
"registerStatus": 1
}
]
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
successCount | data | int | y | 导入成功设备数量 |
failCount | data | int | y | 导入失败设备数量 |
返回结果示例
{
"code": 200,
"data": {
"successCount": 1,
"failCount": 1,
"devcies": [
{
"success": true
},
{
"success": false,
"errMsg": "mac重复"
}
]
},
"message": "success"
}
1.9: 主数据设备主动触发全同步/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/space/sync
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
type | body | n | 不填就默认同步全部 type枚举:project 项目,space 空间 ,customer 客户 | |
projectId | body | n | 同步客户数据的需要分项目,不传项目id就默认同步全部项目的客户数据 |
请求Body描述(非Form表单数据)
{
"type": "customer",
"projectId": "610"
}
2.0: 主动触发下发边端同步/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/space/down
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
productId | body | y |
请求Body描述(非Form表单数据)
{
}
2.1: (边)主动触发下发边端同步/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/spatial/sync/spatial
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
syncType | body | y | 同步方式,async | |
projectId | body | n | ||
method | body | n | 同步的数据,不填就默认同步所有 |
"method":"master.data.pull.project"
"method":"master.data.pull.build",
"method":"master.data.pull.unit",
"method":"master.data.pull.floor",
"method":"master.data.pull.house",
"method":"master.data.pull.area",
"method":"master.data.pull.park",
"method":"master.data.pull.customer",
"method":"master.data.pull.staff" | |
请求Body描述(非Form表单数据)
{
"projectId": "610",
"syncType": "async",
"method":"master.data.pull.space"
}
3.1: (边)设备注册/span>
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/master-data/device/register
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
agentId | body | y | agent id | |
deviceFile | body | y | 0 手动 1云端 |
请求Body描述(非Form表单数据)
{
"agentId": "1",
"deviceFile": "1"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
success | data | data | y | 成功的数量 |
返回结果示例
{
"code": "200",
"success": true,
"message": null,
"requestId": null,
"data": {
"success": 0
}
}