Как запросить номер телефона
Все шаги по инструкции запроса номера телефона вы можете посмотреть в видеоуроке:
В Telegram
Самый простой способ — создать кнопку, при нажатии на которую пользователь предоставит данные о своем номере телефона.
Такую кнопку можно создать с помощью Кнопок с подсказками. В настройках кнопки выберите Тип кнопки — Поделиться контактом.
Записать номер телефона в переменную можно с помощью Ввода от пользователя или Развилки с типом данных Файл контакта.
В настройках Развилки поставьте галочку Пропускать только контакт пользователя, чтобы пускать через Развилку только пользователей, которые нажали кнопку.
Так как в Цели по умолчанию Развилки задан тот же самый экран с запросом номера, то в случае, если пользователь не нажмет на кнопку отправки контакта, он не сможет продвигаться дальше, пока не отправит свой номер телефона.
В случае отправки, номер телефона пользователя запишется в переменную usPhone, которую мы указали в Цели развилки в поле Имя переменной.
Для того чтобы пропускать только номер телефона при ручном вводе, используйте регулярное выражение для номера с выбранным типом Файл контакта в Цели Развилки.
Например, для того чтобы пропускать только российские номера телефонов, подойдет такое регулярное выражение:
^(\+7|8)([\s\-()]*\d){10}$
Если необходимо пропускать номера телефонов других стран или комбинацию номеров России и других стран, то регулярное выражение должно быть изменено соответствующим образом.
Вместо Развилки можно использовать компонент Ввод от пользователя с включенным чекбоксом Пропускать только контакт пользователя.
В других мессенджерах
Есть несколько способов реализации:
1. Самый простой вариант — запрашивать номер телефона и записывать его в переменную с типом данных Текст (с помощью Развилки или Ввода от пользователя). Это универсальный тип для всех текстовых сообщений. С ним вы точно получите номер, даже если пользователь бота напишет его буквами. Однако все, что напишет пользователь, также попадет в переменную.
2. Можно использовать тип Число. Здесь придётся просить ввести только цифры без пробелов и лишних символов: например, 380951110512 или 79613221414.
3. Если вам нужно точное попадание, например по коду страны или в формат набора, используйте Регулярное выражение.
Например, для российских номеров подойдет регулярное выражение:
(\+?(8|7)[\-\s]?)?\(?9\d{2}\)?[\-\s]?\d{3}[\-\s]?\d{2}[\-\s]?\d{2}
Запрашивать Контакт с помощью Ввода от пользователя можно на любой платформе, но на запрос контакта Кнопками с подсказками и Развилкой, у некоторых платформ есть ограничения:
- В Telegram и Viber работает на компьютере и смартфоне.
- В Фейсбуке* работает только на компьютере.
- Во ВКонтакте, Инстаграме* и Одноклассниках не работает.
*Продукты Meta признаны экстремистскими и запрещены в РФ.