Данные, которые требуется получить от респондента, могут содержать разную информацию, но соответствовать определенному шаблону (например, номер телефона, адрес, номер паспорта, включая дату и место выдачи, и т.д.). Для сбора таких данных используйте блок Сбор данных с типом Регулярное выражение.
Два способа получить данные, которые вам нужно:
Настроить проверку данных на корректность. В поле Формат задайте формат данных. Например, для получения номера телефона в поле Формат укажите: ^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$ (данному формату соответствуют российские мобильные телефонные номера, а также городские с кодом из трех цифр). Респондент может указать номер телефона, начиная с +7 или 8, использовать пробелы, скобки, тире и пр. При этом cистема все равно квалифицирует номер телефона и сохранит его в результатах диалога, либо остановит бот, если пользователь написал сообщение, не содержащее номера телефона.
Настроить маску ввода. В поле Маска укажите маску ввода данных. Поле многострочное, расширяется по мере ввода текста. Описание маски должно автоматически подставлять постоянные символы и контролировать вводимые значения (количество символов, набор символов, диапазон значений, порядок ввода). Если маска указана неверно, она не работает.
Маску ввода нужно указать в формате JSON, прописав для нее параметры (ключи) и их значения.
Внимание!
Все ключи и строковые значения указывайте в двойных кавычках – одинарные не работают
Параметры:
mask – маска или тип. Сейчас используется только один тип масок: IMask.MaskedRange" - диапазон числовых значений;
Заполняйте только одно из полей: Маска или Формат. Если маска и формат будут противоречить друг другу, это приведет к остановке диалога: бот будет запрашивать информацию по указанному формату, а респондент не сможет ее указать, т.к. ограничен маской ввода.
Совет
Если вы используете блок Форма, для получения шаблонных данных добавьте поле и выберите тип Регулярное выражение.