Отладочная информация в системных сообщениях

На время настройки сценариев чат-бота или на время проверки его работы может быть полезным включить отправку отладочных сообщений в чат для анализа работы чат-бота в конкретном диалоге.

Содержание статьи:

Что такое отладочные сообщения (отладка)?

Отладочные сообщения (отладка) - это системные сообщения, отправляемые чат-ботом прямо в чат вместе с обычными сообщениями, отправляемыми по заданному сценарию.
Такие сообщения содержат отладочную информацию о работе чат-бота и позволяют увидеть, какие действия он выполняет, а какие не выполняет и проанализировать причины, по которым сценарий отработал так или иначе.
Отладочные сообщения отправляются как системные, поэтому их видят только сотрудники компании (оператор/менеджер/...), а клиент их не видит.

Как включить отладку?

Управление отладкой перемещено. Ранее включение отладки было в разделе "Прочее" настроек приложения. Теперь включение отладочных сообщений настраивается для каждого бота отдельно в настройках бота. Детальная информация находится ниже в данной инструкции.
Чтобы включить отладку, перейдите в Настройки Приложения.



затем в раздел "Чат-боты"


Нажмите иконку редактирования для того чат-бота, для которого вы хотите включить отладку:


Включите параметр "Включить отладку для бота".


Теперь, при выполнении каждого узла данный чат-бот будет выводить отладочную информацию вместе с выполнением действий узла.

Где искать отладочные сообщения?

Посмотреть отладочные сообщения можно в самом диалоге с клиентом/пользователем в Битрикс24 или в истории диалога.

Пример отладочных сообщений при просмотре диалога.
Отладочные сообщения в диалоге не имеют фона с рамкой.

Пример отладочных сообщений при просмотре истории.
В истории отладочные сообщения помечаются специальной иконкой "i", вместо стандартного фото чат-бота.

Структура отладочного сообщения

Отладочное сообщение содержит информацию сразу по нескольким действиям бота.
Действия отображаются по порядку их обработки чат-ботом.
Отладочное сообщение содержит 3 столбца:
В первом столбце указывается тип и название действия.
Во втором столбце название узла действия.
В третьем столбце результат выполнения:
  • Выполнилось - всё прошло нормально.
  • Не выполнилось по условию - условие действия оказалось ложное
  • Не выполнилось из-за ошибки - действие прошло по условию, но в процессе что-то пошло не так (ниже будет указана причина)

Как и где найти и открыть диалог?

Найти любой диалог можно в Списке диалогов в Контакт-центре вашего Битрикс24.

Перейдите в Контакт-центр -> Список диалогов. Найдите нужный вам диалог и в меню выберите либо "История", либо "Открыть диалог".

Примеры работы с отладкой

 Предположим, что к диалогу ещё не привязан лид. Но мы этого не учли и уже пытаемся записать в его поле какое-либо значение.



Обратите внимание на результат. Первое действие выполнилось, но у второго произошла ошибка, потому что нужной сущности нет.



Добавим условие для действий.


И видим, что первое действие не выполнилось по условию, потому что лида нет.
Если у действия есть условие, то ниже в отладочной информации выводится список всех условий и результат их выполнения.

Второе действие выполнилось.
Обратите внимание, что условие проверяет наличие лида, т.к. лида нет, то условие не выполнилось. Но ко всему блоку условий было применено отрицание и об этом написано в заголовке таблице.



Если же отрицание использовалось только для одного условия, то в результате будет примечание в скобках "использовалось отрицание условия", а сам результат будет указан уже с учётом отрицания.
Добавим три действие, используя все типы отрицаний.




Первое действие выполнилось. У него одно условие без отрицаний "сущность не установлена" и оно выполнилось.
Второе действие тоже выполнилось. У него одно условие без отрицания "определён лид" и оно не выполнилось, но т.к. отрицание применено ко всему блоку, то результат действия противоположный ему.
И третье действие выполнилось. У него два условия. Условие "Определен лид" на этот раз выполнилось, потому что к нему применено отрицание и это указано в скобках рядом с результатом. Условие "Переменная string заполнена" тоже выполнилось, но без отрицания. Так же в примечании указано, какое на данный момент переменная имеет значение.



Попросим телефон у пользователя, если он ещё не указан в лиде.


Действие выполнилось.
В условии поле "Телефон" сравнивается с пустой строкой, т.к. лида нет, то поле считается по умолчанию пустым, поэтому условие выполнилось.
В названии условия указывается и название поля и его ID в квадратных скобках. Сущности нет, поэтому вместо ID написано, что лид "не найден".
Также в примечании указано, что лида нет, а поле соответственно не заполнено.



Теперь, когда у нас привязан лид к диалогу, попробуем снова заполнить поле случайной строкой. И выведем значения в случае успеха.


На этот раз ошибки при попытке заполнить поле не возникло и действие выполнилось, т.к. сущность уже существует.
Действие с выводом значений тоже выполнилось, т.к. поле теперь не пустое.
Обратите внимание, что теперь в условии лид - ссылка на сущность в которой проверялось поле, а в квадратных скобках указан его ID.
Так же т.к. это пользовательское поле, то оно тоже в виде ссылки на его форму редактирования.
А в примечании указано текущее значение поля.