3. 规则列表API
API列表
编号 | API名称 | 路径 | 版本 |
---|---|---|---|
3.1 | 新增规则 | /v1/iot/rule/add | 1.0 |
3.2 | 规则详情 | /v1/iot/rule/detail | 1.0 |
3.3 | 修改规则 | /v1/iot/rule/update | 1.0 |
3.4 | 删除规则 | /v1/iot/rule/remove | 1.0 |
3.5 | 规则列表 | /v1/iot/rule/list | 1.0 |
3.6 | 规则列表分页 | /v1/iot/rule/page | 1.0 |
3.7 | 启用/禁用规则 | /v1/iot/rule/page | 1.0 |
3.8 | 规则信息同步 | /v1/iot/rule/sync/info | 1.0 |
3.9 | 禁启用规则 | /v1/iot/rule/switch | 1.0 |
3.10 | 通过设备及属性查询规则 | /v1/iot/rule/queryByDeviceAndCode | 1.0 |
API调用
3.1: 新增规则
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/add
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
projectId | body | string | y | 项目小区Id |
name | body | string | y | 规则名称 |
templateId | body | int | y | 设备模板Id |
templateName | body | string | y | 设备模板名称 |
ruleTemplateId | body | int | y | 规则模板id |
ruleTemplateName | body | string | y | 规则模板名 |
ruleTemplateType | body | string | y | 规则模板类型 |
eventSource | body | string | n | 事件来源 |
eventCode | body | string | y | 事件编码 |
ruleCategoryPid | body | int | y | 事件分类Id |
ruleCategoryId | body | int | y | 事件类型Id |
ruleLevelId | body | int | y | 事件等级Id |
cycleTime | body | int | y | 检测周期(单位 秒) |
effectiveType | body | string | y | 生效类型(EVERYDAY or PERIOD) |
effectiveDate | body | string | y | 开始生效日期(YYYY-MM-DD) |
endDate | body | string | y | 结束日期(YYYY-MM-DD) |
effectiveTime | body | string | n | 开始生效时间(HH:mm:ss) |
endTime | body | string | n | 结束时间(HH:mm:ss) |
conditionRel | body | string | y | 规则与或关系 and/or |
conditions | body | JSONArray | y | 规则条件 |
ruleType | conditions | string | y | 设备属性(property)/设备事件(event) |
propertyId | conditions | string | n | 设备属性id |
propertyName | conditions | string | y | 设备属性编码 |
propertyCode | conditions | string | y | 设备属性名字 |
eventId | conditions | string | n | 设备事件id |
eventCode | conditions | string | n | 设备事件Code(ruleType=event时需传) |
eventName | conditions | string | n | 设备事件名(ruleType=event时需传) |
triggerType | conditions | string | y | 触发类型 即时=immediate/持续=continued |
duration | conditions | string | y | 持续时间 |
compare | conditions | string | y | 比较符号(eq、ne、gt、lt、ge、le) |
dataType | conditions | string | y | 数据类型 |
propertyValue | conditions | string | y | 结果值 |
devices | body | JSONArray | y | 关联设备Id |
请求Body描述(非Form表单数据)
{
"projectId":"12345",
"name": "",
"templateId": 1,
"templateName": "xxx",
"ruleTemplateId": 232,
"ruleTemplateName": "测试规则模板名",
"ruleTemplateType": "scene",
"eventSource":"xx",
"eventCode":"xxx",
"ruleCategoryPid":111,
"ruleCategoryId": 11,
"ruleLevelId": 1,
"cycleTime": 60,
"effectiveTime": "18:00:01",
"endTime": "23:00:01",
"conditionRel": "and",
"conditions":[{
"ruleType":"property",
"propertyName":"status",
"propertyCode":"设备状态",
"triggerType":"immediate",
"duration":0,
"compare":"eq",
"dataType":"xx"
"propertyValue":"off"
}],
"devices":[111,123]
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.2: 规则详情
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/detail
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | body | int | y | 主键id |
请求Body描述(非Form表单数据)
{
"id": 1
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
projectId | data | string | y | 项目小区Id |
name | data | string | y | 规则名称 |
templateId | data | int | y | 设备模板Id |
ruleTemplateId | body | int | y | 规则模板id |
ruleTemplateName | body | string | y | 规则模板名 |
ruleTemplateType | body | string | y | 规则模板类型 |
eventSource | data | string | n | 事件来源 |
eventCode | data | string | y | 事件编码 |
ruleCategoryPid | data | int | y | 事件分类Id |
ruleCategoryId | data | int | y | 事件类型Id |
ruleLevelId | data | int | y | 事件等级Id |
cycleTime | data | int | y | 检测周期(单位 秒) |
effectiveTime | data | string | y | 开始生效时间(HH:mm:ss) |
endTime | data | string | y | 结束时间(HH:mm:ss) |
conditions | data | JSONArray | y | 规则条件 |
ruleType | conditions | string | y | 设备属性(property)/设备事件(event) |
propertyName | conditions | string | y | 设备属性名字 |
propertyId | conditions | string | n | 设备属性id或设备事件属性id |
eventId | conditions | string | n | 设备事件id(ruleType=event时需传) |
eventCode | conditions | string | n | 设备事件Code(ruleType=event时需传) |
triggerType | conditions | string | y | 触发类型 即时=immediate/持续=continued |
duration | conditions | string | y | 持续时间 |
compare | conditions | string | y | 比较符号(eq、ne、gt、lt、ge、le) |
propertyValue | conditions | string | y | 结果值 |
devices | data | JSONArray | y | 关联设备Id |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"projectId":"111",
"name": "",
"templateId": 1,
"ruleTemplateId": 223,
"ruleTemplateName": "测试规则模板名",
"ruleTemplateType": "scene",
"eventSource":"xx",
"eventCode":"xxx",
"ruleCategoryPid":111,
"ruleCategoryId": 11,
"ruleLevelId": 1,
"cycleTime": 60,
"effectiveTime": "18:00:01",
"endTime": "23:00:01",
"conditions":[{
"ruleType":"property",
"propertyName":"status",
"triggerType":"immediate",
"duration":0,
"compare":"eq",
"dataType":"xx"
"propertyValue":"off"
}],
"devices":[111,123]
}
}
3.3: 修改规则
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/update
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
projectId | data | string | y | 项目小区Id |
name | data | string | y | 规则名称 |
templateId | data | int | y | 设备模板Id |
ruleTemplateId | data | int | y | 规则模板id |
ruleTemplateName | body | string | y | 规则模板名 |
ruleTemplateType | data | string | y | 规则模板类型 |
eventSource | data | string | n | 事件来源 |
eventCode | data | string | y | 事件编码 |
ruleCategoryPid | data | int | y | 事件分类Id |
ruleCategoryId | data | int | y | 事件类型Id |
ruleLevelId | data | int | y | 事件等级Id |
cycleTime | data | int | y | 检测周期(单位 秒) |
effectiveTime | data | string | y | 开始生效时间(HH:mm:ss) |
endTime | data | string | y | 结束时间(HH:mm:ss) |
conditions | data | JSONArray | y | 规则条件 |
ruleType | conditions | string | y | 设备属性(property)/设备事件(Event) |
propertyName | conditions | string | y | 设备属性名字 |
propertyId | conditions | string | n | 设备属性id或设备事件属性id |
eventId | conditions | string | n | 设备事件id(ruleType=event时需传) |
eventCode | conditions | string | n | 设备事件Code(ruleType=event时需传) |
triggerType | conditions | string | y | 触发类型 即时=immediate/持续=continued |
duration | conditions | string | y | 持续时间 |
compare | conditions | string | y | 比较符号(eq、ne、gt、lt、ge、le) |
propertyValue | conditions | string | y | 结果值 |
devices | data | JSONArray | y | 关联设备Id |
id | body | int | y | 主键id |
请求Body描述(非Form表单数据)
{
"id": 1,
"projectId":"111",
"name": "",
"templateId": 1,
"ruleTemplateId": 223,
"ruleTemplateName": "测试模板名",
"ruleTemplateType": "scene",
"eventSource":"xx",
"eventCode":"xxx",
"ruleCategoryPid":111,
"ruleCategoryId": 11,
"ruleLevelId": 1,
"cycleTime": 60,
"effectiveTime": "18:00:01",
"endTime": "23:00:01",
"conditions":[{
"ruleType":"property",
"propertyName":"status",
"triggerType":"immediate",
"duration":0,
"compare":"eq",
"dataType":"xx"
"propertyValue":"off"
}],
"devices":[111,123]
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.4: 删除规则
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/remove
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | body | int | y | 主键id |
请求Body描述(非Form表单数据)
{
"id": 1
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.5: 规则列表
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/list
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
projectId | body | string | y | 项目小区 |
ruleCategoryPId | body | Integer | n | 事件分类Id |
ruleCategoryId | body | Integer | n | 事件类型Id |
ruleLevelId | body | Integer | n | 事件等级Id |
name | body | String | n | 规则名称 |
请求Body描述(非Form表单数据)
{
"communityId": 1111
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
records | data | Array | 是 | 列表 |
name | records | string | y | 规则名称 |
templateId | records | int | y | 模板Id |
templateName | records | string | y | 模板名称 |
eventSource | records | string | y | 事件来源 |
id | records | int | y | 规则id |
ruleCategoryPId | records | int | y | 事件分类Id |
ruleCategoryPName | records | string | y | 事件分类名称 |
ruleCategoryId | records | int | y | 事件类型Id |
ruleCategoryName | records | string | y | 事件类型名称 |
ruleLevelId | records | int | y | 事件等级Id |
ruleLevelName | records | string | y | 事件等级名称 |
ruleTemplateId | records | int | y | 规则模板id |
ruleTemplateName | body | string | y | 规则模板名 |
ruleTemplateType | records | string | y | 规则模板类型 |
ruleTemplateTypeName | records | string | y | 规则模板类型名 |
status | records | int | y | 状态 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"records": [
{
"id": 1,
"name": ""
}
]
}
}
3.6: 规则分页列表
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/page
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
pageSize | body | int | y | 每页条数 |
pageNo | body | int | y | 当前页数 |
projectId | body | string | y | 项目小区 |
ruleCategoryPId | body | Integer | n | 事件分类Id |
ruleCategoryId | body | Integer | n | 事件类型Id |
ruleLevelId | body | Integer | n | 事件等级Id |
name | body | String | n | 规则名称 |
请求Body描述(非Form表单数据)
{
"pageNo": 1,
"pageSize": 10
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | y | 响应码标识 |
message | 顶层 | STRING | y | 响应消息文本 |
data | 顶层 | JSONObject | y | 响应数据对象 |
total | data | int | y | 总条数 |
records | data | Array | y | 列表 |
name | records | string | y | 规则名称 |
templateId | records | int | y | 模板Id |
templateName | records | string | y | 模板名称 |
eventSource | records | string | y | 事件来源 |
id | records | int | y | 规则id |
ruleCategoryPId | records | int | y | 事件分类Id |
ruleCategoryPName | records | string | y | 事件分类名称 |
ruleCategoryId | records | int | y | 事件类型Id |
ruleCategoryName | records | string | y | 事件类型名称 |
ruleLevelId | records | int | y | 事件等级Id |
ruleLevelName | records | string | y | 事件等级名称 |
ruleTemplateId | records | int | y | 规则模板id |
ruleTemplateName | body | string | y | 规则模板名 |
ruleTemplateType | records | string | y | 规则模板类型 |
ruleTemplateTypeName | records | string | y | 规则模板类型名 |
status | records | int | y | 状态 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"total": 10,
"pageNo": 1,
"pageSize": 10,
"records": [
{
"id": 1,
"name": "",
"orderNo": "",
"pid": 0
}
]
}
}
3.7: 启动/禁用规则
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/switch
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | body | int | y | 主键id |
status | body | string | y | 状态(1=启用,0=禁用) |
请求Body描述(非Form表单数据)
{
"id": 1,
"status":"1"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.8: 规则信息同步
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/sync/info
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
projectId | body | string | y | 项目ID |
syncType | body | string | y | 同步模式:async(异步),sync(同步,默认) |
请求Body描述(非Form表单数据)
{
"projectId": "111222333",
"syncType": "async"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.9: 禁启用规则
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/switch
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
id | body | Long | y | 规则ID |
status | body | string | y | 状态(0禁用,1=可用) |
请求Body描述(非Form表单数据)
{
"id": 1038,
"status": "0"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
}
}
3.10: 通过设备及属性查询规则
描述
请求信息
HTTP协议:HTTP,HTTPS
uri:/v1/iot/rule/queryByDeviceAndCode
方法:POST
请求参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
deviceId | body | String | y | 设备id |
propertyName | body | string | y | 属性名 |
请求Body描述(非Form表单数据)
{
"deviceId": "a1b2c3d4",
"propertyName": "online"
}
返回信息
返回参数类型
JSON
返回参数
名称 | 位置 | 类型 | 必填 | 描述 |
---|---|---|---|---|
code | 顶层 | STRING | 是 | 响应码标识 |
message | 顶层 | STRING | 是 | 响应消息文本 |
data | 顶层 | JSONObject | 是 | 响应数据对象 |
返回结果示例
{
"code": "200",
"message": "success",
"data": {
"records":[
"id":1156,
"name":"新增规则32"
]
}
}