Про налаштування alias при вихідному діалозі
При завершенні діалогу з оператором можна налаштувати alias для різних ситуацій, таких як закриття чату оператором, завершення за таймаутом або закриття клієнтом. Це дозволяє контролювати поведінку користувача після завершення діалогу та забезпечувати коректний перехід до наступних кроків сценарію.
Контекст і проблема
У багатьох випадках потрібно контролювати поведінку користувача після завершення діалогу:
- Відправка feedback після закриття чату оператором
- Повідомлення про таймаут при неактивності
- Обробка ситуації, коли не вдалося встановити з'єднання
- Реакція на закриття чату клієнтом
Налаштування alias при вихідному діалозі вирішує цю задачу, дозволяючи вказати, куди перенаправити користувача в різних ситуаціях.
Основні концепції
Типи ситуацій завершення діалогу
Закриття чату оператором:
- Оператор закриває чат вручну
- Користувач перенаправляється на вказаний alias
Завершення за таймаутом:
- Чат закривається автоматично через неактивність
- Користувач перенаправляється на вказаний alias
Невдале з'єднання:
- Не вдалося встановити з'єднання з оператором
- Користувач перенаправляється на вказаний alias
Закриття клієнтом:
- Клієнт закриває чат самостійно
- Користувач перенаправляється на вказаний alias
Способи налаштування
Через константи:
initiated_dialog_alias_chat_closed— alias для закриття операторомinitiated_dialog_alias_chat_closed_by_timeout— alias для таймауту
Через параметри action:
chat_closed_alias— alias для закриття операторомchat_closed_by_timeout_alias— alias для таймаутуconnection_timeout_alias— alias для невдалого з'єднанняchat_closed_by_client_alias— alias для закриття клієнтом
Варіанти підходів
Константи vs параметри action
Константи:
- ✅ Плюси: Глобальні налаштування для всіх діалогів
- ❌ Мінуси: Менша гнучкість для окремих випадків
Параметри action:
- ✅ Плюси: Гнучкість для окремих випадків
- ❌ Мінуси: Потрібно налаштовувати для кожного випадку
Чому використовуємо обидва підходи: Константи забезпечують глобальні налаштування, а параметри action дозволяють перевизначити їх для окремих випадків.
Прийняті рішення
Пріоритет налаштувань
Константи мають пріоритет над параметрами action. Якщо константи налаштовані, вони будуть використані замість параметрів action.
Fallback механізм
Якщо константи не налаштовані, користувач буде перенаправлений за alias, які були задані під час останнього підключення до оператора. Якщо користувач ніколи не звертався до оператора, система перенаправить його за alias entry.
Наслідки для користувачів і імплементації
Для інтеграторів
При налаштуванні alias важливо:
- Визначити необхідні ситуації — які ситуації потрібно обробити
- Створити alias блоки — в сценарії для кожної ситуації
- Налаштувати константи або параметри — залежно від потреб
- Перевірити fallback механізм — для користувачів без налаштувань
Типові помилки
Помилка: Користувач не перенаправляється після закриття чату
Проблема: Не налаштовані константи або параметри action
Рішення: Додати константи або параметри action з правильними alias
Помилка: Використовується неправильний alias
Проблема: Константи мають пріоритет над параметрами action
Рішення: Перевірити налаштування констант та їх пріоритет
Помилка: Користувач перенаправляється на неіснуючий alias
Проблема: Alias не існує в сценарії
Рішення: Перевірити наявність alias блоків у сценарії
Приклади використання
Налаштування через константи
- Перейти до розділу "Константи" в сценарії
- Додати константи:
initiated_dialog_alias_chat_closed= "feedback"initiated_dialog_alias_chat_closed_by_timeout= "timeout_message"
Налаштування через параметри action
{
"auto_connect_operator": true,
"chat_closed_alias": "feedback",
"chat_closed_by_timeout_alias": "timeout_message",
"connection_timeout_alias": "retry_connection",
"chat_closed_by_client_alias": "goodbye"
}
Пов'язані документи
- Explanation: Підключення чату з оператором — налаштування підключення до оператора