规则事件通知
接口说明
应用服务器在物联网平台订阅了规则事件通知后(订阅的通知类型为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
Last Article: 命令状态变化通知
Next Article: 设备影子状态变更通知
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.