路由规则 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."}