Логування сценарію чат-бота
Логування сценарію чат-бота не є базовим функціоналом за замовчуванням і налаштовується індивідуально за запитом замовника.
Логування подій бота відбувається в конструкторі сценаріїв BotFlow. Для реалізації цієї задачі використовується спеціальна нода-підфлоу — Log Bot/IVR Event. Кожна подія фіксується в момент її виникнення як окремий запис у базі даних (таблиця [bot_ivr_events]).
Щоб здійснити логування, потрібно додати цю ноду в схему (після дії, яку треба залогувати) та заповнити її властивості (Properties).

Налаштування ноди Log Bot/IVR Event
Log Bot/IVR EventВідповідно до інтерфейсу властивостей ноди (Edit subflow instance), для коректного логування необхідно налаштувати наступні властивості (Properties):
Name — назва ноди на схемі (наприклад, Log Back, Log To Submenu).
Event — подія, що відбулася (Події, що підлягають логуванню, див. п. 1. Event).
Source — джерело та розділ, звідки подія зафіксована (Джерела, що підлягають логуванню, див. п. 2. Source).
Task — дія, що була виконана в результаті спрацювання події (Дії, що підлягають логуванню, див. п. 3. Task).
Name — назва події, що відбулася. Може бути назва обраної кнопки (якщо використана нода Answer Switch фіксується автоматично) або інша кастомна назва події, що була вказана при логуванні.
Parent Name — назва попереднього кроку. Для source: chatbot_menu кожна подія, окрім першої (вхід у меню), містить назву кроку, звідки клієнт прийшов (name з попереднього кроку).
Заповнення поля Parent Name відбувається автоматично після ноди Answer Switch.
Status — статус виконання сервісу. Фіксується тільки для подій з task:self_serve (Статуси, що підлягають логуванню, див. п. 4.1. status).
Exit Reason — причина виходу користувача з бота. Фіксується тільки для подій з task:transfer або task:resolve (Причини, що підлягають логуванню, див. п. 4.2. exit_reason).
Custom Data 1-5: Поля для передачі додаткових кастомних даних (за потреби).
logger: Вмикає або вимикає виведення логів для аналізу процесу логування.

Оцінка CSAT та системні таймаути логуються автоматично (їх не потрібно налаштовувати додатково).
Опис можливих значень Properties, що підлягають логуванню
1. Event
Події, що підлягають логуванню:
button_click
Вибір клієнтом однієї з попередньо визначених опцій пункту меню вибору мови, меню самообслуговування, оцінки CSAT
text_input
Користувач вводить текстове повідомлення в чат-боті у відповідь на відкрите запитання (без кнопок)
system_event
Подія, ініційована системою (наприклад, таймаут неактивності клієнта, агента або бота)
api_request
Виклик веб-сервісу в рамках сценарію чат-боту для отримання даних клієнта або виконання операції
announce
Відправка повідомлення клієнту
2. Source
Джерела, що підлягають логуванню:
chatbot_language
Чат-бот: етап вибору мови
chatbot_menu
Чат-бот: етап проходження меню
chatbot_csat
Чат-бот: етап CSAT
agent
Подія на етапі знаходження діалога на агенті
3. Task
Задачі, що підлягають логуванню:
subflow
Перехід у меню або підменю
transfer
Переведення діалогу з боту/ivr на агента/команду
resolve
Завершення діалогу
self_serve
Запуск сервісу самообслуговування
4. Деталізація дій (task).
4.1. status
Статус виконання сервісу. Фіксується тільки для подій з task:self_serve.
Статуси, що підлягають логуванню:
initiated
Запущено сценарій сервісу самообслуговування
completed
Сервіс самообслуговування завершено успішно
failed
Сервіс самообслуговування завершено неуспішно
4.2. exit_reason
Причина виходу користувача з бота. Фіксується тільки для подій з task:transfer або task:resolve.
Причини, що підлягають логуванню:
transfer_button
Обраний пункт меню з дією трансфер
end_button
Обраний пункт меню з дією завершення діалогу
client_timeout
Завершення діалогу по неактивності клієнта
agent_bot_timeout
Завершення діалогу по неактивності агента/бота
not_working_time
Завершення діалогу через неробочий час
csat
Завершення діалогу після проходження csat
Будь-яка кастомна причина завершення, що була вказана при логуванні
Приклади можливих сценаріїв логування подій
Сценарій: Вибір мови, навігація по меню, трансфер на агента та проходження CSAT
Опис флоу:
Для користувача відображається меню вибору мови, і він обирає пункт Українська.
Користувачу відображається Головне меню, і він обирає пункт Депозити.
Користувачу відображається підфлоу меню Депозити, і він обирає пункт Назад.
Користувачу знову відображається Головне меню, і він обирає пункт Кредити.
Користувачу відображається підфлоу меню Кредити, і він обирає пункт Головне меню.
Користувачу відображається Головне меню, і він обирає пункт Карти.
Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.
Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Дебетову. Система виконує дію трансферу на агента.
Після завершення діалога агентом користувачу відображається оцінка CSAT, і він обирає пункт Відмінно 😄.
Приклад логування:
1
button_click
chatbot_language
Українська
NULL
subflow
NULL
NULL
2
button_click
chatbot_menu
Депозити
NULL
subflow
NULL
NULL
3
button_click
chatbot_menu
Назад
Депозити
subflow
NULL
NULL
4
button_click
chatbot_menu
Кредити
Назад
subflow
NULL
NULL
5
button_click
chatbot_menu
Головне меню
Кредити
subflow
NULL
NULL
6
button_click
chatbot_menu
Карти
Головне меню
subflow
NULL
NULL
7
button_click
chatbot_menu
Відкрити
Карти
subflow
NULL
NULL
8
button_click
chatbot_menu
Дебетову
Відкрити
transfer
NULL
transfer_button
9
button_click
chatbot_csat
Відмінно 😄
NULL
resolve
NULL
csat
Сценарій: Завершення діалогу - кнопка “Завершити”
Опис флоу:
Для користувача відображається меню вибору мови, і він обирає пункт Українська.
Користувачу відображається Головне меню, і він обирає пункт Карти.
Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.
Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Завершити. Система завершує діалог
Приклад логування:
1
button_click
chatbot_language
Українська
NULL
subflow
NULL
NULL
2
button_click
chatbot_menu
Карти
NULL
subflow
NULL
NULL
3
button_click
chatbot_menu
Відкрити
Карти
subflow
NULL
NULL
4
button_click
chatbot_menu
Завершити
Відкрити
resolve
NULL
end_button
Сценарій: Завершення діалогу - Завершення по таймауту неактивності клієнта
Опис флоу:
Для користувача відображається меню вибору мови, і він обирає пункт Українська.
Користувачу відображається Головне меню, і він обирає пункт Карти.
Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.
Користувачу відображається підфлоу меню Карти – Відкрити. Користувач не здійснює жодних дій протягом часу очікування. Система завершує діалог автоматично
Приклад логування:
1
button_click
chatbot_language
Українська
NULL
subflow
NULL
NULL
2
button_click
chatbot_menu
Карти
NULL
subflow
NULL
NULL
3
button_click
chatbot_menu
Відкрити
Карти
subflow
NULL
NULL
4
system_event
chatbot_menu
NULL
NULL
resolve
NULL
client_timeout
Сценарій: Завершення діалогу - Завершення по таймауту неактивності агента
Опис флоу:
Для користувача відображається меню вибору мови, і він обирає пункт Українська.
Користувачу відображається Головне меню, і він обирає пункт Карти.
Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.
Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Дебетову. Система виконує дію трансферу на агента.
У процесі спілкування агент не відповідає протягом встановленого часу. Система автоматично завершує діалог
Приклад логування:
1
button_click
chatbot_language
Українська
NULL
subflow
NULL
NULL
2
button_click
chatbot_menu
Карти
NULL
subflow
NULL
NULL
3
button_click
chatbot_menu
Відкрити
Карти
subflow
NULL
NULL
4
button_click
chatbot_menu
Дебетову
Відкрити
transfer
NULL
transfer_button
5
system_event
agent
NULL
NULL
resolve
NULL
agent_bot_timeout
Сценарій: Завершення діалогу - Звернення в неробочий час
Опис флоу:
Для користувача відображається меню вибору мови, і він обирає пункт Українська.
Користувачу відображається Головне меню, і він обирає пункт Карти.
Користувачу відображається підфлоу меню Карти, і він обирає пункт Відкрити.
Користувачу відображається підфлоу меню Карти – Відкрити, і він обирає пункт Дебетову. Система перевіряє робочий графік і виявляє, що час поза робочими годинами. Система завершує діалог
Приклад логування:
1
button_click
chatbot_language
Українська
NULL
subflow
NULL
NULL
2
button_click
chatbot_menu
Карти
NULL
subflow
NULL
NULL
3
button_click
chatbot_menu
Відкрити
Карти
subflow
NULL
NULL
4
button_click
chatbot_menu
Дебетову
Відкрити
resolve
NULL
not_working_time
Сценарій: Сервіс самообслуговування з полем введення текстових даних, викликом веб-сервісу та анонсування інформації
Опис флоу:
Для користувача відображається меню вибору мови, і він обирає пункт Українська.
Користувачу відображається Головне меню, і він обирає пункт Карти.
Користувачу відображається підфлоу меню Карти, і він обирає пункт Баланс карти. Система ініціює сценарій самообслуговування (task=selfServe, status=initiated).
Користувачу відображається повідомлення “Введіть номер вашої картки”, і він вводить значення вручну.
Система здійснює виклик зовнішнього веб-сервісу для отримання даних про баланс .
Після отримання відповіді користувачу відображається анонс із балансом картки та фіксується, що сервіс виконано успішно.
Користувачу задається запитання “Чи має він ще запитання”, і він обирає пункт Ні. Система завершує діалог
Приклад логування:
1
button_click
chatbot_language
Українська
NULL
subflow
NULL
NULL
2
button_click
chatbot_menu
Карти
NULL
subflow
NULL
NULL
3
button_click
chatbot_menu
Баланс карти
Карти
selfServe
initiated
NULL
4
text_input
chatbot_menu
ask_card_number
Баланс карти
subflow
NULL
NULL
5
api_request
chatbot_menu
ws_clientdata
ask_card_number
subflow
NULL
NULL
6
announce
chatbot_menu
announce_card_balance
ws_clientdata_call
selfServe
completed
NULL
7
button_click
chatbot_menu
Ні
announce_card_balance
resolve
NULL
other_question_no
Last updated