Довідник 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."
}