Справочник 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 может быть email участника рабочего пространства или 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."
}