4. 异常事件API
API列表
编号 | API名称 | 路径 | 版本 |
---|---|---|---|
3.1 | 发送信息至规则引擎 | /v1/iot/rule/event/fire | 1.0 |
3.2 | 新增异常事件 | /v1/iot/event/add | 1.0 |
3.3 | 事件列表 | /v1/iot/event/list | 1.0 |
3.4 | 更新异常事件处理状态 | /v1/iot/event/status/update | 1.0 |
3.5 | 删除事件 | /v1/iot/event/delete | 1.0 |
3.6 | 异常事件上报至Kafka | 1.0 | |
3.7 | 查看当天事件统计 | /v1/iot/event/queryEventStatistics | 1.0 |
API调用
3.1: 发送信息至规则引擎
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/event/fire
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
deviceId | body | String | y | 设备Id |
deviceName | body | String | y | 设备名 |
eventCode | body | String | y | 事件名 |
extraAttribute | body | JSONObject | n | 额外属性 |
请求Body描述(非Form表单数据)
{
"payload": {
"data": {
"deviceId": "123123",
"deviceName": "测试设备名",
"eventCode": "device_run_out_of_battery",
"extraAttribute": {
"imageUrl": "www.baidu.com",
"video": "ssss"
}
}
}
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.2: 新增异常事件
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/event/add
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
msgId | body | String | y | |
eventName | body | String | y | 事件名称 |
ruleId | body | String | y | 规则Id |
ruleName | body | String | y | 规则名称 |
ruleCondition | body | String | y | 触发条件 |
deviceId | body | String | y | 设备Id |
deviceName | body | String | y | 设备名称 |
triggerTime | body | String | y | 触发时间 |
eventDesc | body | String | y | 事件描述 |
triggerResult | body | String | y | 触发结果 |
eventLevel | body | String | y | 事件级别 |
ruleLevelId | body | String | y | 规则等级Id |
ruleLevelName | body | String | y | 规则等级名 |
ruleCategoryId | body | String | y | 规则二级分类Id |
ruleCategoryName | body | String | y | 规则二级分类名 |
ruleCategoryPid | body | String | y | 规则一级分类Id |
ruleCategoryPName | body | String | y | 规则一级分类名 |
projectId | body | String | y | 项目名称 |
eventSource | body | String | y | 事件来源 |
请求Body描述(非Form表单数据)
{
"msgId":"123123",
"eventName":"测试事件1",
"ruleName":"测试规则1",
"ruleCondition":"离线",
"deviceName":"测试设备",
"triggerTime":"2020-08-19 16:00:00",
"eventDesc":"this is test message",
"triggerResult":"aaa",
"eventLevel":"告警"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.3: 事件列表
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/event/list
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
msgId | body | string | y | |
pageSize | body | int | y | |
pageNo | body | int | y | |
searchKey | body | Object | y | 筛选条件,除触发时间,其他字段与list返回的字段相同,驼峰表示 |
请求Body描述(非Form表单数据)
{
"msgId": "123123",
"pageSize": 10,
"pageNo": 1,
"searchKey": { //searchKey必填,里面的筛选条件可以不填
"eventName": "aa",
"ruleName": "bb",
"startTriggerTime": "2020-08-12 12:00:00",//开始与结束时间成对出现
"endTriggerTime": "2020-08-19 19:00:00",
"deviceId": "f522c7ede739638b",
"ruleCategoryPid": 666666
}
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
pageNo | data | int | y | 页数 |
pageSize | data | int | y | 页大小 |
total | data | int | y | 总条数 |
resultList | data | JSONArray | y | 事件列表 |
deviceId | resultList | string | y | 设备id |
deviceInfo | resultList | JSONObject | y | 设备信息 |
deviceName | resultList | string | y | 设备名 |
eventDesc | resultList | string | y | 事件描述 |
eventName | resultList | string | y | 事件名 |
eventSource | resultList | string | y | 事件来源,设备device、业务event |
extraAttribute | resultList | JSONObject | y | 额外属性,由上报方决定 |
handleBy | resultList | string | y | 处理人 |
handelMemo | resultList | string | y | 处理备注 |
handleTime | resultList | string | y | 处理时间 |
id | resultList | int | y | 事件id |
lastTime | resultList | long | y | 持续时间,单位秒 |
projectId | resultList | string | y | 项目id |
ruleCategoryId | resultList | int | y | 规则分类id |
ruleCategoryName | resultList | string | y | 规则分类名 |
ruleCategoryPid | resultList | int | y | 规则类型id |
ruleCategoryPName | resultList | string | y | 规则类型名 |
ruleCondition | resultList | string | y | 规则条件 |
ruleId | resultList | int | y | 触发的规则id |
ruleLevelId | resultList | int | y | 触发规则的等级id |
ruleLevelName | resultList | string | y | 触发规则的等级名 |
ruleName | resultList | string | y | 规则名 |
ruleTemplateId | resultList | int | y | 规则模板id |
ruleTemplateType | resultList | string | y | 规则模板类型,scene、abnormal、others |
status | resultList | string | y | 事件处理状态 |
triggerResult | resultList | string | y | 触发事件后续 |
triggerTime | resultList | string | y | 触发规则的时间 |
返回结果示例
{
"code": 200,
"data": {
"total": 19096,
"pageNo": 1,
"pageSize": 10,
"resultList": [{
"handleBy": "测试处理人",
"lastTime": 156282,
"eventSource": "device",
"ruleTemplateId": 62,
"triggerTime": 1610177340000,
"deviceId": "f522c7ede739638b",
"deviceName": "47B20304",
"ruleCategoryPid": 52,
"eventDesc": "47B20304触发了环境质量测试生成的事件",
"isRemoved": 0,
"eventName": "47B20304触发了环境质量测试",
"ruleName": "环境质量测试",
"triggerResult": "无后续动作",
"id": 19542,
"ruleId": 1190,
"ruleLevelId": 47,
"extraAttribute": {
"imageUrl": "www.baidu.com"
},
"handleTime": 1610333622000,
"ruleCondition": "#198706_le_442",
"ruleLevelName": "重要",
"ruleCategoryName": "分类名称",
"ruleCategoryPName": "分类888",
"deviceInfo": {
"productId": "48ee89ee438057bd861f255dc29fdc48",
"sourceSystem": "0",
"deviceName": "47B20304",
"mac": "4D444C584747B20304",
"productName": "建大仁科TVOC",
"createTime": "2020-12-16 10:16:10",
"registerStatus": 1,
"online": 0,
"id": "f522c7ede739638b",
"lastOnLineTime": "2021-01-09 15:40:00",
"projectId": 610,
"brand": "0",
"syncStatus": 1,
"categoryId": 51
},
"edgeEventId": "640c227a5c9e27d06aeeffbf09d22809",
"ruleTemplateType": "abnormalReverse",
"handleMemo": "测试处理意见",
"projectId": "610",
"ruleCategoryId": 121,
"status": 1
}]
},
"message": "success"
}
3.4: 更新异常事件处理状态
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/event/status/update
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
msgId | data | string | y | |
ids | data | JSONArray | y | 事件id |
status | data | int | y | 0未处理,1已处理 |
handleBy | data | string | y | 处理人 |
handleMemo | data | int | y | 处理备注 |
请求Body描述(非Form表单数据)
{
"msgId": "1123123",
"ids": [19542],
"status": 1,
"handleBy": "测试处理人",
"handleMemo": "测试处理意见"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.5: 删除事件
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/event/delete
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
msgId | data | string | y | |
id | data | int | y | 事件id |
请求Body描述(非Form表单数据)
{
"msgId": "1123123",
"id": 1
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.6: 异常事件上报至Kafka
描述
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
deviceId | 顶层 | STRING | 是 | 设备Id |
ruleId | 顶层 | STRING | 是 | 规则Id |
deviceStatus | 顶层 | STRING | 是 | 设备状态 |
返回结果示例
{
"deviceId": "a1b2c3d4e5",
"ruleId": 1123,
"deviceStatus": "run"
}
3.7: 查看当天事件统计
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/event/queryEventStatistics
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
请求Body描述(非Form表单数据)
{
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
totalEvent | data | int | 是 | 当日总事件数 |
notHandleEvent | data | int | 是 | 未处理事件数 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"totalEvent": 0,
"notHandleEvent": 0
}
}