Определение
Верификация через flash-звонок подтверждает номер телефона с помощью очень короткого звонка, который сбрасывается до ответа. Последние цифры номера звонящего служат одноразовым кодом: приложение считывает их автоматически или пользователь вводит их вручную.
Сервис верификации звонит пользователю с номера из пула. Вызов сбрасывается после одного гудка или раньше, поэтому пользователь обычно не успевает ответить. Приложение сравнивает полученный номер звонящего (caller ID) с ожидаемым либо просит пользователя ввести последние цифры, указанные в уведомлении о пропущенном звонке.
Автоматическое определение возможно, только если приложение видит входящие номера звонящих. На Android это работает при наличии нужных разрешений, а на iOS нет: сторонние приложения не могут читать журнал звонков. Поэтому пользователи iPhone обычно вводят цифры вручную или переходят на SMS либо WhatsApp.
Flash-звонки недорого доставлять, и их трудно перехватить с помощью атак, нацеленных на SMS. Но операторы относятся к ним неоднозначно. Поскольку на звонок никто не отвечает, сеть, завершающая вызов, зарабатывает на нём мало или ничего. Некоторые операторы относят flash-звонки к A2P-трафику, применяют отдельные тарифы на терминацию или блокируют их. Поэтому доступность и стоимость зависят от страны и сети, и их нужно проверить, прежде чем полагаться на этот метод.
Как и любой метод проверки номера, flash-звонки могут использоваться для генерации трафика на дорогие диапазоны номеров. Применяйте ограничения частоты запросов и контроль по странам, а в качестве резервных каналов (fallback) оставьте SMS, WhatsApp или голосовой OTP-код.
Пример
Пропущенный звонок с номера +971 4 555 1234 — приложение берёт «1234» как код подтверждения.