规则事件通知
接口说明
应用服务器在物联网平台订阅了规则事件通知后(订阅的通知类型为ruleEvent),当平台中配置的规则触发时,平台会向应用服务器推送通知消息。
注意事项
应用收到推送消息,请务必返回响应码。
URI
请求方法 |
POST |
---|---|
URI |
由应用服务器订阅请求消息中的callbackurl决定。 |
传输协议 |
HTTPS/HTTP |
请求参数
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
notifyType |
必选 |
String |
body |
通知类型,取值:ruleEvent。 |
author |
必选 |
String |
body |
创建此规则的用户的ID(最大长度256个字符)。 |
ruleId |
必选 |
String |
body |
规则实例的ID |
ruleName |
必选 |
String |
body |
规则实例的名称。 |
logic |
可选 |
String |
body |
多条件逻辑关系。 |
reasons |
必选 |
List<Reason> |
body |
触发原因,对应conditions,具体参考Reason结构体。 |
triggerTime |
必选 |
String |
body |
规则触发的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
actionsResults |
必选 |
List<ActionResult> |
body |
规则动作执行的结果。 |
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
satisfactionTime |
必选 |
String |
body |
满足条件的UTC时间,时间格式:yyyyMMdd'T'HHmmss'Z',如20151212T121212Z。 若需要显示本地时区时间,您需要自己进行时间转换。 |
type |
必选 |
String |
body |
规则条件的类型。 |
id |
可选 |
String |
body |
condition的ID。 |
info |
可选 |
Json |
body |
不同条件类型携带不同信息。 |
transInfo |
可选 |
Json |
body |
事件推送时的回填信息,对应规则的condition中的transInfo。 |
ActionResult结构体说明:
参数 |
必选/可选 |
类型 |
位置 |
描述 |
---|---|---|---|---|
type |
必选 |
String |
body |
规则动作的类型。 |
id |
可选 |
String |
body |
action的ID。 |
exception |
与result二选一 |
String |
body |
规则引擎构造action对应的请求过程中遇到异常时携带的异常信息。 |
result |
与exception二选一 |
Json |
body |
动作的执行结果,对于DEVICE_CMD/SMS/EMAIL类型的动作,内容为statusCode+body。 |
info |
可选 |
Json |
body |
不同动作类型携带不同信息。 |
transInfo |
可选 |
Json |
body |
事件推送时的回填信息,对应规则的action中的transInfo。 |
响应参数
Status Code: 200 OK
请求示例
POST {callbackUrl} Content-Type: application/json { "notifyType": "ruleEvent", "author": "*****", "ruleId": "*************", "ruleName": "name", "reasons": [ { "satisfactionTime": "yyyyMMddTHHmmssZ", "type": "******" } ], "triggerTime": "yyyyMMddTHHmmssZ", "actionsResults": [ { "type": "******", "exception": "******" } ] }
正常响应示例
Status Code: 200 OK