Updated on 2022-02-24 GMT+08:00

Pushing Rule Event Notifications

Typical Scenario

After an NA subscribes to rule event notifications (the notification type is ruleEvent) on the IoT platform, the IoT platform sends a notification message to the NA when a rule configured on the IoT platform is triggered.

API Function

This API is used by the IoT platform to push notification messages to an NA that has subscribed to rule event notifications.

Note

The NA must return a response code after receiving a message pushed by the IoT platform.

API Prototype

Method

POST

URL

The URL is determined by callbackUrl in the subscription request sent by the NA.

Transport Protocol

HTTPS/HTTP

Request Parameters

Parameter

Mandatory or Optional

Type

Location

Description

notifyType

Mandatory

String

body

Indicates the notification type. The value is ruleEvent.

author

Mandatory

String

body

Identifies the user that creates the rule. The value of this parameter can contain a maximum of 256 characters.

ruleId

Mandatory

String

body

Identifies a rule instance.

ruleName

Mandatory

String

body

Indicates the name of the rule instance.

logic

Optional

String

body

Indicates the logical relationships between conditions.

reasons

Mandatory

List<Reason>

body

Indicates the trigger reasons, which are corresponding to conditions. For details, see Reason structure.

triggerTime

Mandatory

String

body

Indicates the time when a rule is triggered.

actionsResults

Mandatory

List<ActionResult>

body

Indicates the action execution results.

Reason structure

Parameter

Mandatory or Optional

Type

Location

Description

satisfactionTime

Mandatory

String

body

Indicates the condition satisfaction time.

type

Mandatory

String

body

Indicates the condition type.

id

Optional

String

body

Identifies a condition.

info

Optional

Json

body

Indicates the information carried by different condition types.

transInfo

Optional

Json

body

Indicates the information filled during event push, which is corresponding to the transInfo in the condition of the rule.

ActionResult structure:

Parameter

Mandatory or Optional

Type

Location

Description

type

Mandatory

String

body

Indicates the action type.

id

Optional

String

body

Identifies an action.

exception

Either this parameter or result is selected.

String

body

Indicates the exception information that is carried when an exception occurs when the rule engine constructs a request corresponding to the action.

result

Either this parameter or exception is selected.

Json

body

Indicates the execution result for an action of the DEVICE_CMD, SMS, or EMAIL type. The format is statusCode+body.

info

Optional

Json

body

Indicates the information carried by different action types.

transInfo

Optional

Json

body

Indicates the information filled during event push, which is corresponding to the transInfo in the action.

Response Parameters

Status Code: 200 OK

Request Example

Method: POST
Request: {callbackUrl}
Header:
Content-Type: application/json
Body:
{
  "notifyType": "ruleEvent",
  "author": "*****",
  "ruleId": "*************",
  "ruleName": "name",
  "reasons": [
    {
      "satisfactionTime": "yyyyMMddTHHmmssZ",
      "type": "******"
    }
  ],
  "triggerTime": "yyyyMMddTHHmmssZ",
  "actionsResults": [
    {
      "type": "******",
      "exception": "******"
    }
  ]
}

Response Example

Response:
Status Code: 200 OK