规则事件通知
接口说明
应用服务器在物联网平台订阅了规则事件通知后(订阅的通知类型为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.