Create Message Rules


创建消息规则。一次可创建多个规则。

一个用户或用户组最多可关联 6 个消息规则。

请求格式


POST https://{apigw-address}/app-portal-service/v2.2/message-service/rule/create

请求参数(URI)


名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

OU ID。如何获取 orgId 信息 >>

请求参数(Body)


名称

必需/可选

数据类型

描述

appId

必需

String

应用的 Access Key。如何获取 Access Key >>

rules

必需

rulesDTO 结构体

消息规则内容。rulesDTO 结构体 >>

relations

可选

relationsDTO 结构体

消息规则关联的用户或用户组。relationsDTO 结构体 >>

rulesDTO 结构体


名称

必需/可选

数据类型

描述

ruleName

必需

String

规则名称。

messageRule

必需

Object

基于特定标签触发消息的条件,例如资产、用户或事件类型。每条规则需包含 1 至 6 个标签。规则内的所有标签必须同时满足,消息才会触发。标签的格式为键值对,形如 "markN": ["值1", "值2", ...]"markN": null,其中:

  • 键:必须为 markN 格式,其中 N 为正整数,例如 mark1、mark2。键在规则内唯一。

  • 值:字符串列表(或 null),表示关联的实体,如场站 ID、用户 ID 等。每个值最长 400 字符。若一个值中列出多个实体,事件与任一实体匹配即为满足该标签。

例如 "messageRule": {"mark1": ["siteA", "siteB"], "mark2": ["user123"]} 表示当事件与 siteAsiteB 关联,同时与 user123 关联时触发规则,将向关联的用户或用户组发送消息。

isEnable

必需

String

是否启用消息规则。支持以下赋值:

  • 0 表示禁用。

  • 1 表示启用。

默认为启用。

relationsDTO 结构体


名称

必需/可选

数据类型

描述

type

可选,若指定 relations 结构体则为必需

integer

规则关联的对象类型。若创建多个规则,则所有规则都将关联该对象类型。支持以下赋值:

  • 0 为用户。

  • 1 为用户组。

identifiers

可选,若指定 relations 结构体则为必需

List

规则关联的用户或用户组 ID 列表。若创建多个规则,则所有规则都将关联该用户或用户组。一个用户或用户组最多可关联 6 个消息规则。

响应参数


名称

数据类型

描述

data

List

创建的消息规则 ID。

错误码


代码

描述

31400

OU ID 为空。

31404

可能原因:OU 不存在,应用不存在,OU 未获取应用,用户或用户组不存在等。

31600

消息规则内容异常。

31601

消息规则数量超过限制。

31602

请求参数 messageRule 中的标记数量超过限制。

31604

请求参数 messageRule 中的标记为空。

31607

组织结构错误。

示例

请求示例


url: https://{apigw-address}/app-portal-service/v2.2/message-service/rule/create?orgId=your_org_id

method: POST

requestBody:
{
    "appId": "your_access_key",
    "rules": [
        {
            "isEnable": 0,
            "ruleName": "your_rule_name_1",
            "messageRule": {
                "mark1": ["siteA","siteB"],
                "mark2": ["deviceA","deviceB"],
                "mark3": ["fault"],
                "mark4": [""],
                "mark5": null
            }
        },
        {
            "isEnable": 0,
            "ruleName": "your_rule_name_2",
            "messageRule": {
                "mark1": ["siteA","siteB"],
                "mark2": ["deviceA","deviceB"],
                "mark3": ["fault"],
                "mark4": [""],
                "mark5": null
            }
        }
    ],
    "relations": [
        {
            "type": 0,
            "identifiers": ["your_id_1","your_id_2"]
        },
        {
            "type": 1,
            "identifiers": ["your_id_3"]
        }
    ]
}

返回示例


{
    "code": 0,
    "message": "OK",
    "data": ["your_rule_id_1","your_rule_id_2"]
}