---
title: "Довідник параметрів внутрішніх подій"
description: "Повний перелік типів внутрішніх подій та параметрів eventConfig для тригера стартової ноди."
---

# Довідник параметрів внутрішніх подій

Цей довідник містить опис усіх типів внутрішніх подій та параметрів `eventConfig` для тригера **Внутрішні події** стартової ноди.

---

## Тикети

### Тикет створено (`ticket_created`)

**Опис:** Секція запускається при створенні нового тикета в системі.

**Параметри eventConfig:**

| Параметр | Тип | Опис |
|----------|-----|------|
| channelFilter | string | Фільтр по каналу: `''` (усі), `telegram`, `facebook`, `whatsapp` |
| clientType | string | Тип клієнта: `''` (усі), `new`, `existing` |

**Дані події в контексті:** chat_room_id, channel, bot_id, дані тикета.

---

### Тикет оновлено (`ticket_updated`)

**Опис:** Секція запускається при зміні параметрів тикета (статус, пріоритет, теги тощо).

**Параметри eventConfig:** аналогічно `ticket_created` (channelFilter, clientType), якщо підтримуються в UI.

---

### Зміна назви статусу тикета (`ticket_status_name_changed`)

**Опис:** Секція запускається при зміні назви статусу тикета.

**Параметри eventConfig:** загальні фільтри (channelFilter, clientType).

---

### Тикет переназначено (`ticket_reassign`)

**Опис:** Секція запускається при переназначенні тикета іншому оператору.

**Параметри eventConfig:**

| Параметр | Тип | Опис |
|----------|-----|------|
| channelFilter | string | Фільтр по каналу |
| clientType | string | Тип клієнта |
| operatorRole | string | Роль оператора: `''`, `operator`, `supervisor`, `admin` |
| team | string | Команда: `''`, `support`, `sales`, `tech` |

---

### Тикет відкрито повторно (`ticket_reopened`)

**Опис:** Секція запускається, коли закритий тикет відкривають знову.

**Параметри eventConfig:** загальні фільтри.

---

### Повідомлення в тикеті (`ticket_message`)

**Опис:** Секція запускається, коли оператор або клієнт (Client Portal, віджет, email, месенджери) додає **публічне** нове повідомлення в тикет.

**Не спрацьовує для:** внутрішніх нотаток оператора, системних повідомлень і службових подій з `system_alias` (переназначення, зміна статусу тощо). Для внутрішніх нотаток використовуйте подію `ticket_internal_note`.

**Параметри eventConfig:** у MVP додаткових фільтрів немає (порожній `eventConfig` допустимий).

**Дані події в контексті:** `ticket`, `ticket_id`, `chat_room`, `chat_room_id`, `bot_id`, `channel`, `message_id`, `message_text`, `message_type`, `message_from` (`operator` | `client`), `user_id`, `client_id`, `participant_id`.

---

### Внутрішня нотатка в тікеті (`ticket_internal_note`)

**Опис:** Секція запускається, коли оператор додає **внутрішню нотатку** в тікет (текст видно лише команді в Operator Line, клієнт його не отримує).

**Коли спрацьовує:** лише при створенні нової нотатки (не при редагуванні). Не спрацьовує для публічних відповідей оператора, повідомлень клієнта та службових системних подій (переназначення, зміна статусу тощо).

**Параметри eventConfig:** у MVP додаткових фільтрів немає (порожній `eventConfig` допустимий).

**Дані події в контексті:** `ticket`, `ticket_id`, `chat_room`, `chat_room_id`, `bot_id`, `channel`, `message_id`, `message_text` (попередній перегляд тексту нотатки, до 150 символів), `message_type`, `message_from` (завжди `operator`), `user_id`, `participant_id`. Поле `client_id` завжди порожнє.

**Важливо:**

- Подія **не** надсилає сповіщення в Центр сповіщень (дзвіночок) і **не** доставляє текст нотатки клієнту.
- У сценарії доступний `message_text` — якщо наступні кроки надсилають його у зовнішній канал (email, месенджер, webhook), ви самостійно відповідаєте за конфіденційність внутрішньої інформації.
- **Нагадування по чатах (Chat Reminder)** не сприймають внутрішню нотатку як публічну відповідь оператора: таймер нагадування **не** зупиняється через службову нотатку. Зупинка — лише на публічну відповідь клієнту (як і раніше).

**Відмінність від `ticket_message`:**

| Подія | Що запускає секцію |
|-------|-------------------|
| `ticket_message` | Публічне повідомлення оператора або клієнта |
| `ticket_internal_note` | Лише внутрішня нотатка оператора |

---

## SLA та ескалації

### TFR ескальовано (`TFR_escalated`)

**Опис:** Секція запускається при ескалації TFR (Time to First Response).

**Параметри eventConfig:** загальні фільтри, можливо deadlineMinutes, slaType (якщо підтримуються).

---

### TTC ескальовано (`TTC_escalated`)

**Опис:** Секція запускається при ескалації TTC (Time to Close).

**Параметри eventConfig:** аналогічно TFR.

---

### Час у статусі перевищено (`time_in_status_exceeded`)

**Опис:** Секція запускається, коли тикет перебуває в обраному статусі довше за вказаний час.

**Параметри eventConfig:**

| Параметр | Тип | Опис |
|----------|-----|------|
| statusId | number | ID статусу зі списку статусів інстансу |
| statusName | string | Назва статусу (наприклад, «Відкрито») |
| timeInSeconds | number | Час у секундах (наприклад, 7200 = 2 години) |
| timeConfig | object | Деталізація: hours, minutes, seconds |
| triggerChannels | string[] | Масив каналів: `['telegram', 'viber']` або порожній — усі |

**Приклад:**

```json
{
  "statusName": "Відкрито",
  "timeInSeconds": 7200,
  "triggerChannels": ["telegram", "viber"]
}
```

---

## Закриття

### Чат закрито (`chat_closed`)

**Опис:** Секція запускається при закритті чату.

**Параметри eventConfig:** загальні фільтри.

---

### Тикет закрито (`ticket_closed`)

**Опис:** Секція запускається при закритті тикета.

**Параметри eventConfig:** загальні фільтри.

---

## Повідомлення

### Помилка доставки повідомлення (`message_delivery_error`)

**Опис:** Секція запускається при помилці доставки повідомлення через e-chat (Telegram, Viber, WhatsApp).

**Параметри eventConfig:**

| Параметр | Тип | Опис |
|----------|-----|------|
| channelFilter | string | Фільтр по каналу: `''`, `telegram`, `viber`, `whatsapp` |
| errorCodes | string[] | Масив кодів помилок e-chat. Порожнє — усі помилки |

**Коди помилок e-chat:**

| Канал | Код | Опис |
|-------|-----|------|
| Viber | 2 | Номер не використовується |
| Viber | 3 | Тимчасова помилка |
| Viber | 4 | Заблоковано |
| Viber | 5 | В очікуванні |
| Viber | 6 | Не можна чатитися |
| Viber | 7 | Новий номер |
| Telegram | 4 | Заблоковано |
| WhatsApp | — | Різні рядки помилок |

**Дані події в контексті:** chat_room_id, message_id, channel, error_code, error_description, bot_id.

**Приклад:**

```json
{
  "channelFilter": "viber",
  "errorCodes": ["2", "4"]
}
```

---

## Клієнти

### Клієнта оновлено (`client_updated`)

**Опис:** секція запускається після збереження картки клієнта в Панелі оператора — коли змінилося поле картки або кастомне поле. Працює для звичайних діалогів і тикетів, а також коли картку редагують зі списку клієнтів без відкритого діалогу.

**Не спрацьовує:** на збереження без змін, а також на зміни клієнта ботом чи імпортом поза карткою Панелі оператора.

**Параметри eventConfig:** у цій версії відсутні (порожній `eventConfig` — валідний). Фільтруйте всередині секції за даними події нижче.

**Дані події в контексті:**

| Поле | Опис |
|------|------|
| client_id | Ідентифікатор клієнта |
| client | Картка клієнта після збереження (`email`, `phone`, `username`, `bot_name`, `extra_data`, …) |
| bot_id | Процес, до якого належить клієнт |
| user_id | Оператор, який зберіг картку |
| chat_room_id | Діалог, з якого редагували картку, або порожньо |
| changed_fields | Перелік змінених полів, напр. `["email", "extra_data.crm_id"]` |
| changes | Старе і нове значення для кожного зміненого поля: `{"email": {"old": "…", "new": "…"}}` |
| extra_data | Кастомні поля після збереження |
| source_module | Джерело збереження, якщо його передав виклик (наприклад, `operator_panel`), інакше порожньо — список клієнтів його не надсилає |

**Приклад — реакція на одне кастомне поле:**

```
{{ trigger_data.changed_fields }} містить "extra_data.crm_id"
{{ trigger_data.changes["extra_data.crm_id"].new }}
```

> Якщо секція, запущена цією подією, редагує ту саму картку клієнта назад через API Панелі оператора, вона запустить себе знову. Розривайте цикл фільтром за `source_module` або за `changed_fields`.

> **Доставка — best-effort.** Подія публікується вже після збереження картки, і публікація ніколи не затримує збереження й не завалює його. Якщо черга подій у цей момент недоступна, картка все одно збережеться, а подія загубиться — повторних спроб немає. Для даних, які не можна пропустити, доповніть подію періодичною звіркою, а не покладайтеся лише на неї.

---

## Загальні параметри (channelFilter, clientType, operatorRole, team, slaType)

Ці параметри можуть бути доступні для різних подій у UI:

| Параметр | Можливі значення |
|----------|------------------|
| channelFilter | `''`, `telegram`, `facebook`, `whatsapp` |
| clientType | `''`, `new`, `existing` |
| operatorRole | `''`, `operator`, `supervisor`, `admin` |
| team | `''`, `support`, `sales`, `tech` |
| slaType | `''`, `first-response`, `resolution`, `escalation` |

---

## Пов'язані документи

- [Що таке стартова нода](/uk/scenariobuilder/explanation/what-is-start-node.md)
- [Налаштувати внутрішні події](/uk/scenariobuilder/how-to/configure-start-node-internal-events.md)
- [Налаштувати тригери стартової ноди](/uk/scenariobuilder/how-to/configure-start-node-triggers.md)
