Спросить респондента

Задать вопрос респонденту вы можете блоками:
  • Выбор ответа – бот задаст вопрос респонденту и продолжит диалог в зависимости от ответа.

  • Сбор данных – бот задаст вопрос респонденту, но его ответ не повлияет на дальнейший диалог.

  • Форма – чтобы спросить респондента несколько вопросов сразу, бот отправит анкету. Ответы респондента не повлиляют на дальнейший диалог.

Выбор ответа

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

Блок Выбор ответа

При добавлении блока Выбор ответа на схему будет добавлен блок вопроса и блоки с вариантами ответа Да и Нет.

На боковой панели доступны настройки вопроса:
  • Вид – выбор отображения вариантов ответа в диалоге: список или кнопки.

  • Содержимое – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Содержимое. Изменения сохранятся автоматически. Текст по умолчанию: Выбор ответа.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Вопрос блока Выбор ответа
Для каждого варианта ответа доступны настройки на боковой панели:
  • Содержимое – текст ответа. Чтобы изменить текст ответа, выберите ответ на схеме и отредактируйте текст в поле Содержимое. Изменения сохраняются автоматически.

  • Задержка – время, через которое появится ответ после предыдущего. Укажите период задержки в формате 3d 6h 15m 15s. Дойдя до этого ответа, бот не опубликует следующий до тех пор, пока не пройдет указанное время.

Ответ блока Выбор ответа

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

Для выбора ответа в диалоге респондент может нажать на один из предложенных вариантов или ввести текст, содержащий вариант ответа.

Для удаления варианта ответа:
  1. На схеме бота выберите ответ, который требуется удалить.

  2. Нажмите кнопку Меню в правом верхнем углу боковой панели.

  3. Выберите Удалить.

  4. Если после ответа не следуют другие блоки, то ответ будет удален. Если после ответа следуют другие блоки в этой же ветке, то появится окно подтверждения, так как все последующие блоки будут удалены вместе с ответом. Нажмите Удалить, если требуется удаление блока.

В результате ответ будет удален.

Warning
Если на схеме осталось только два варианта ответа, удаление недоступно.

Сбор данных

Используйте блок Сбор данных, если от ответа пользователя НЕ зависит дальнейшее развитие диалога. Например, ФИО респондента. Вы можете предложить респонденту выбрать вариант или несколько из списка, написать простой текст или ограничить ввод только датой, числом и пр.

Блок Сбор данных

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

Текст

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

Тип Текст
Настройки блока:
  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Текст

Список

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

Настройки блока:
  • Вид – выбор отображения вариантов ответа в диалоге: строки, кнопки или всплывающее окно.

  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Список – укажите в поле варианты ответа для выбора респондентом - каждый вариант с новой строки.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Список

Список с видом Строки:

Тип Список вида Строки

Список с видом Кнопки:

Тип Список вида Кнопки

Список с видом Всплывающее окно:

Тип Список вида Всплывающее окно

Читайте также о настройке дизайна списков: Настроить дизайн списков с вариантами ответов.

Список (мультивыбор)

Используйте тип Список (мультивыбор) для выбора респондентом нескольких вариантов из предложенных.

Настройки блока:
  • Вид – выбор отображения вариантов ответа в диалоге: строки или всплывающее окно.

  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Список – укажите в поле варианты ответа для выбора респондентом - каждый вариант с новой строки.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Список (мультивыбор)

Список с видом Строки:

Тип Список (мультивыбор) вида Строки

Список с видом Всплывающее окно:

Тип Список (мультивыбор) вида Всплывающее окно

Читайте также о настройке дизайна списков: Настроить дизайн списков с вариантами ответов.

Файл

Используйте тип Файл, если от респондента нужно получить в ответ файл. Респондент может загружать несколько файлов одновременно, ограничения по размеру и формату настраиваются администратором в разделе Настройки. Пользователь и респондент могут скачать любой загруженный файл из диалога, нажав на него.

Тип Файл
Настройки блока:
  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Файл

Местоположение

Используйте тип Местоположение для получения данных о местоположении респондента.

Тип Местоположение
Настройки блока:
  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Тип местоположения – тип определения местоположения:

    • Только текущая позиция – запрашивается доступ к автоматическому определению местоположению. Если респондент одобрит доступ, местоположение будет опубликовано. Если доступ не будет разрешен, отобразится сообщение, что Система не может определить местоположение.

    • Любая позиция – в диалоге будет опубликована карта, на которой пользователь может сам отметить свое местоположение.

  • Сообщение валидации – ответ бота, если респондент указал данные другого формата. Сообщение будет повторяться до тех пор, пока респондент не укажет верные данные.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Местоположение

Email

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

Тип Email
Настройки блока:
  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Сообщение валидации – ответ бота, если респондент указал данные другого формата. Сообщение будет повторяться до тех пор, пока респондент не укажет верные данные.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Email

Дата

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

Тип Дата
Настройки блока:
  • Формат – выбор формата отображения даты.

  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Сообщение валидации – ответ бота, если респондент указал данные другого формата. Сообщение будет повторяться до тех пор, пока респондент не укажет верные данные.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Дата

Число

Используйте тип Число, чтобы получить в ответ число. Вы можете указать формат числа (целое или дробное).

Тип Число
Настройки блока:
  • Формат – выбор формата отображения числа (целое или дробное).

  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Сообщение валидации – ответ бота, если респондент указал данные другого формата. Сообщение будет повторяться до тех пор, пока респондент не укажет верные данные.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Число

Регулярное выражение

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

Тип Регулярное выражение
Настройки блока:
  • Формат – формат данных для проверки введенного значения. Бот проверит сообщение респондента и, если оно не соответствует указанному формату, остановит диалог.

  • Маска – маска ввода символов. Бот будет игнорировать любые символы, кроме заданных в маске. Для настройки используются регулярные выражения (RegEx).

  • Сообщение – текст вопроса респонденту. Чтобы изменить вопрос, выберите блок с вопросом на схеме и отредактируйте текст в поле Сообщение. Изменения сохранятся автоматически.

  • Сообщение валидации – ответ бота, если респондент указал данные другого формата. Сообщение будет повторяться до тех пор, пока респондент не укажет верные данные.

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

Настройки блока с типом данных Регулярное выражение

Форма

Используйте блок Форма, если нужно спросить респондента сразу несколько вопросов. Бот отправит респонденту анкету, объединив все вопросы в одной форме.

Блок Форма
На боковой панели доступны настройки блока:
  • Заголовок – заголовок анкеты.

  • Сообщение – сообщение, которое бот опубликует перед анкетой.

  • Кнопка отправки – наименование кнопки, которая отправит все ответы респондента в диалог. По умолчанию кнопка называется Отправить.

  • Предзаполнить поля – если флаг установлен, в диалоге будут автоматически заполняться те поля, информация по которым была получена ранее.

  • Добавить поле – кнопка для добавления полей в форму.

Настройки блока Форма
Для добавления вопроса на форму, нажмите кнопку Добавить поле. На боковой панели появятся настройки нового поля:
  • Имя поля – введите вопрос.

  • Тип – тип данных, которые нужно собрать. Список типов такой же, как в блоке Сбор данных, кроме типа Список (мультивыбор). В зависимости от типа данных, могут отобразиться настройки Формат, Маска, Сообщение валидации и пр. См. подробнее: [Типы блока Сбор данных].

  • Задать переменную – для использования ответа респондента в последующих сообщениях бота введите в поле значение переменной (name, address, orgtype и т.п.). В процессе диалога бот присвоит соответствующее значение переменной ответу, который выберет респондент.

  • Обязательно – установите флаг, если поле обязательно для заполнения.

Настройки полей блока Форма

После заполнения настроек, нажмите кнопку Назад в левом верхнем углу панели для возвращения к параметрам формы. Добавленное поле появится в нижней части панели.

Добавьте другие поля формы.

Для изменения поля в списке Форма:
  1. Выберите поле в списке на боковой панели.

  2. Нажмите кнопку Меню справа и выберите Изменить.

  3. Откроется панель насроек поля. Измените настройки.

Все изменения сохранятся автоматически.

Для удаления поля в списке Форма:
  1. Выберите поле в списке на боковой панели.

  2. Нажмите кнопку Меню справа и выберите Удалить поле.

Поле будет удалено.

Вы также можете удалить поле с панели настроек самого поля. Для этого нажмите кнопку Меню в правом верхнем углу панели и выберите Удалить поле.

Как ограничить ответ респондента

Данные, которые требуется получить от респондента, могут содержать разную информацию, но соответствовать определенному шаблону (например, номер телефона, адрес, номер паспорта, включая дату и место выдачи, и т.д.). Для сбора таких данных используйте блок Сбор данных с типом Регулярное выражение.

Два способа получить данные, которые вам нужно:
  1. Настроить проверку данных на корректность. В поле Формат задайте формат данных. Например, для получения номера телефона в поле Формат укажите: ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$ (данному формату соответствуют российские мобильные телефонные номера, а также городские с кодом из трех цифр). Респондент может указать номер телефона, начиная с +7 или 8, использовать пробелы, скобки, тире и пр. При этом cистема все равно квалифицирует номер телефона и сохранит его в результатах диалога, либо остановит бот, если пользователь написал сообщение, не содержащее номера телефона.

  2. Настроить маску ввода. В поле Маска укажите маску ввода данных. Поле многострочное, расширяется по мере ввода текста. Описание маски должно автоматически подставлять постоянные символы и контролировать вводимые значения (количество символов, набор символов, диапазон значений, порядок ввода). Если маска указана неверно, она не работает.

Маску ввода нужно указать в формате JSON, прописав для нее параметры (ключи) и их значения.

Warning
Все ключи и строковые значения указывайте в двойных кавычках – одинарные не работают
Параметры:
  • mask – маска или тип. Сейчас используется только один тип масок: IMask.MaskedRange" - диапазон числовых значений;

  • lazy – показывать подстановочный шаблон: true – нет, false – да;

  • placeholderChar – подстановочный символ, по умолчанию _;

  • blocks – объект с отдельными паттернами подстановки;

  • autofix – автоисправление при работе с диапазоном: true – да, false – нет;

  • maxLength – длина маски: если меньше диапазона, то будут добавлены нули в начале;

  • to – верхняя граница диапазона (только числа);

  • from – нижняя граница диапазона (только числа).

Символы, которые можно использовать для задания значения в параметре mask:
  • 0 – любая цифра;

  • a – любая буква;

  • * – любой символ;

  • [] – ввод значения на место символов в скобках не обязателен;

  • {} – фиксированная часть маски;

  • ` – предотвращает смещение символов назад;

  • определения должны отделаться от маски двойной обратной наклонной чертой – например, \\0.

Примеры:

Телефон РФ. Маска отображается респонденту в поле ввода сообщения.
{
  "mask": "+{7}(000)000-00-00",
  "lazy": false,
  "placeholderChar": "_"
  }
Телефон РФ. Маска не отображается в поле ввода сообщения. Респондент вводит данные в поле – они отображаются согласно маске.
{
  "mask": "+{7}(000)000-00-00",
  "lazy": true,
  "placeholderChar": "_"
  }
Паспорт РФ
{
  "mask": "00 00 000000",
  "lazy": false,
  "placeholderChar": "_"
  }
Время
{
  "mask": "HH:mm",
  "lazy": false,
  "placeholderChar": "_",
  "blocks": {
    "HH": {
      "mask": "IMask.MaskedRange",
      "autofix": true
      "from": 0,
      "to": 23
    },
    "mm": {
      "mask": "IMask.MaskedRange",
      "autofix": true,
      "from": 0,
      "to": 59
    }
  }
}
  1. Номер банковской карты

{
  "mask": "0000 0000 0000 0000",
  "lazy": false,
  "placeholderChar": "_"
}
ИНН
{
  "mask": "0000000000[00]",
  "lazy": false,
  "placeholderChar": "_"
}

Более подробное описание масок ввода см. IMaskJS.

Warning
Заполняйте только одно из полей: Маска или Формат. Если маска и формат будут противоречить друг другу, это приведет к остановке диалога: бот будет запрашивать информацию по указанному формату, а респондент не сможет ее указать, т.к. ограничен маской ввода.
Блок Регулярное выражение
Tip
Если вы используете блок Форма, для получения шаблонных данных добавьте поле и выберите тип Регулярное выражение.

Доступ загруженным файлам через переменные

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

Для этого в поле Переменная блока Сбор данных или Форма с типом Файл укажите переменную. Например, filevar.

В результате первому загруженному файлу присваивается переменная filevar, а остальные формируют массив данных. То есть для доступа к ним нужно использовать переменные @filevar.0, @filevar.1 и т.д. Например, для публикации этих файлов в последующих ботах диалога, добавьте сообщение с массивом переменных, как показано на рисунке. В случае обращения к переменной @filevar будет доступен первый загруженный файл.

Публикация нескольких файлов через переменную

Если пользователь прервал загрузку некоторых загружаемых файлов, то в массиве будут доступны только загруженные файлы.

Все действия с файлами можно выполнять и с массивом файлов.

Статья помогла вам?