Произвольный ответ пользователя


Откройте узел для редактирования и перейдите к разделу "Ответ пользователя".
Укажите тип ответа "Ждать произвольного ответа пользователя".

Появится блок с настройкой реакции бота на ответ.



Ждать ответ в формате:
Позволяет указать, какие данные бот ждет от пользователя и настроить их приемку. Подробнее про этот параметр будет описано в следующей статье (ссылка ниже).

Очистить данные:
Удаляются лишние пробелы, смайлы и теги.

Перевести ответ в нижний регистр:
Ответ сохраняется в строчных буквах.

Записать ответ в переменную:
Сохраняет ответ пользователя в указанную переменную. Обратите внимание, что если вы укажете тип переменной, отличный от "строка", и ответ пользователя не будет соответствовать формату переменной, то ответ не запишется. Поэтому перед записью следует включить проверку ответа на соответствие формату.

Действие после некорректного ответа пользователя:
Позволяет задать поведение бота в случае некорректного ответа пользователя.
  • Ожидать повторный ввод ответа - бот будет ждать корректный ответ пользователя столько раз, сколько вы укажете (от 1 до 5, либо до корректного ввода).
  • Отправить сообщение при ошибке - бот будет отправлять сообщение после каждого некорректного ответа пользователя.
  • Запустить другой сценарий/узел - узел к которому перейдёт бот после некорректного ответа пользователя. Обратите внимание, что если включено ожидание повторного ввода ответа, то бот запустит указанный узел только после исчерпания указанного количества попыток.

Рассмотрим на примере

Например, задача - записать отзыв клиента в карточку контакта.

Для этого нам подходит тип ответа "Ждать произвольного ответа пользователя".

Отзыв - это просто текст, поэтому проверять на соответствие формату не нужно, оставляем вариант "Произвольный текст". Сохраняем все смайлы, поэтому параметр "Очистить данные" оставляем выключенным. Переводить в нижний регистр также не нужно.

Записываем ответ в переменную строкового типа (выбираем либо уже существующую, либо создаём новую).




После того, как клиент оставит отзыв - нам нужно его записать в crm-сущность, и мы могли бы сделать это сразу в секции узла "действия бота после ответа", но допустим, мы также хотим вывести какое-нибудь сообщение в ответ на отзыв (что доступно только в разделе "действия бота до ответа"), поэтому ставим запуск другого узла после ответа пользователя.


В другом узле у нас уже будет заполненная переменная (содержащая текст отзыва клиента), которую мы указали ранее. Мы можем делать с ней, что угодно: проверять в условиях, вывести в сообщении, записать в crm-сущность. Нам подходит последний вариант, поэтому выбираем действие "Изменение сущности CRM" и записываем в контакт содержимое переменной в созданное специально поле "Отзыв клиента".


И действие отправки сообщения.


В итоге получаем два узла.




Так это будет выглядеть со стороны клиента:



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



По итогу в карточку контакта в поле "Комментарий" был записан отзыв клиента.