路由规则 API 参考

字段的可能取值

动作类型

取值说明
NOTIFY_TEAM通知指定的团队
NOTIFY_WORKSPACE_MEMBER通知指定的工作区成员
NOTIFY_CURRENT_ON_CALL_USER通知当前值班人员
NOTIFY_NEXT_ON_CALL_USER通知下一位值班人员
NOTIFY_ALL_ON_CALL_MEMBERS通知当前所有值班成员

断言类型

取值说明
IMPACT对事件的影响进行断言
TITLE对事件的标题进行断言
DESCRIPTION对事件的描述进行断言
AFFECTED_COMPONENTS对事件影响的组件进行断言

比较类型

取值说明
EQUALS检查值是否相等
NOT_EQUALS检查值是否不相等
IS_EMPTY检查值是否为空
NOT_EMPTY检查值是否不为空
GREATER_THAN检查值是否大于
GREATER_THAN_OR_EQUALS检查值是否大于或等于
LESS_THAN检查值是否小于
LESS_THAN_OR_EQUALS检查值是否小于或等于
CONTAINS检查值是否包含指定子串
NOT_CONTAINS检查值是否不包含某个子串
HAS_KEY检查对象是否含有指定的键
NOT_HAS_KEY检查对象是否不含指定的键
HAS_VALUE检查对象是否含有指定的值
NOT_HAS_VALUE检查对象是否不含指定的值
IS_NULL检查值是否为 null
NOT_NULL检查值是否不为 null
STARTS_WITH检查值是否以指定子串开头
ENDS_WITH检查值是否以指定子串结尾

获取路由规则

端点:

GET /:page_id/routing-rules

请求示例

GET /1/routing-rules

响应示例

{
"routingRules": [
{
"id": "1",
"siteId": "pageId",
"assertions": [
{
"id": "1",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value1"
},
{
"id": "2",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value2"
}
],
"actions": [
{
"id": "1",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "value1"
},
{
"id": "2",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "member@platform.com"
}
],
"createdAt": "2021-09-29T00:00:00.000Z",
"updatedAt": "2021-09-29T00:00:00.000Z",
"order": 1
}
]
}

创建路由规则

端点:

POST /routing-rules

请注意,动作中的 targetId 可能是工作区成员的邮箱,也可能是团队 ID,具体取决于动作的类型。

请求示例

{
"routingRule": {
"assertions": [
{
"id": "1",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value1"
},
{
"id": "2",
"routingRuleId": "1",
"type": "TITLE",
"comparison": "CONTAINS",
"value": "value2"
}
],
"actions": [
{
"id": "1",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "member2@platform.com"
},
{
"id": "2",
"routingRuleId": "1",
"type": "NOTIFY_WORKSPACE_MEMBER",
"targetId": "member@platform.com"
}
],
"order": 1,
"siteId": "site-id-1"
},
"message": "Routing rule updated successfully"
}

响应示例

{
"routingRule": {
"id": "routing-rule-id-1",
"order": 1,
"siteId": "site123",
"updatedAt": "2021-09-01T12:00:00Z",
"createdAt": "2021-09-01T12:00:00Z"
},
"message": "Routing rule created successfully."
}

更新路由规则

端点:

PUT /routing-rules/:id

请求示例

PUT /routing-rules/routing-rule-id-1
{
"routingRule": {
"id": "routing-rule-id-1",
"assertions": [
{
"id": "assertion-id-1",
"routingRuleId": "routing-rule-id-1",
"comparison": "CONTAINS",
"value": "Issue With X",
"type": "TITLE"
}
],
"order": 1,
"siteId": "site-id-1",
"updatedAt": "2021-09-01T12:00:00Z",
"createdAt": "2021-05-01T12:00:00Z"
},
"message": "Routing rule updated successfully"
}

响应示例

{
"routingRule": {
"id": "routing-rule-id-1",
"assertions": [
{
"id": "assertion-id-1",
"routingRuleId": "routing-rule-id-1",
"comparison": "CONTAINS",
"value": "Issue With X",
"type": "TITLE"
}
],
"order": 1,
"siteId": "site-id-1",
"updatedAt": "2024-08-09T12:00:00Z",
"createdAt": "2021-05-01T12:00:00Z"
},
"message": "Routing rule updated successfully"
}

删除路由规则

端点:

DELETE /routing-rules/:id

请求示例

DELETE /routing-rules/routing-rule-id-1

响应示例

{
"message": "Routing rule deleted successfully."
}