Разбираемся

Что такое Flash Call и чем отличается обратный Flash Call

Flash call — подтверждение номера телефона сбрасываемым звонком вместо SMS-кода. Термин описывает два зеркальных сценария, и их постоянно путают. При обычном flash call звонит сервис, а приложение считывает номер входящего вызова — для этого ему нужен доступ к журналу вызовов. При обратном (reverse) flash call звонит сам пользователь, и никаких разрешений не требуется, поэтому сценарий работает и в браузере, и на iOS.

Термин flash call встречается в двух противоположных значениях, и разница между ними определяет, заработает сценарий в вашем продукте или нет. Разбираем оба, чтобы при разговоре с провайдером было понятно, о чём именно речь.

Что такое flash call простыми словами

Flash call — это подтверждение номера телефона с помощью короткого вызова, который сбрасывается до ответа. Соединение не устанавливается, разговора не происходит, тарификация как за разговор не наступает. Полезную информацию несёт не содержание звонка, а сам факт вызова и номер, который при этом определился.

Название переводится буквально: flash — «вспышка», call — «вызов». То есть «вызов-вспышка», мелькнувший звонок. В русских текстах пишут по-разному — флеш колл, флэш колл, флешколл, — и все варианты означают одно и то же. Встречается также описательное «звонок-сброс».

Смысл в сравнении с SMS: там нужно доставить сообщение и заставить пользователя переписать код, здесь достаточно установить и оборвать вызов. Меньше шагов, меньше зависимости от доставки.

Синоним, который стоит знать, — call to auth (иногда call2auth), «звонок для аутентификации». Термин описывает ту же идею: вызов вместо кода как способ подтвердить владение номером. В маркетинговых материалах он встречается наравне с flash call.

Как работает обычный flash call

Направление вызова: сервис звонит пользователю.

  1. Пользователь вводит номер в приложении.
  2. Сервис инициирует вызов на этот номер с заранее известного номера и сразу сбрасывает.
  3. Приложение видит входящий вызов и считывает номер звонившего.
  4. Последние цифры этого номера играют роль кода: приложение подставляет их само либо просит пользователя ввести.

Схема выглядит изящно, но у неё есть жёсткое ограничение: приложению нужен доступ к журналу вызовов. Это чувствительное разрешение, и платформы его ограничивают. В Google Play выдача разрешения на журнал вызовов требует обоснования и проходит отдельную проверку, а в iOS публичного интерфейса для чтения журнала нет вовсе. В браузере такой сценарий невозможен по определению — веб-страница к журналу вызовов доступа не имеет.

На практике это означает, что обычный flash call применим в одном случае: Android-приложение с одобренным разрешением. Всё остальное — веб, iOS, мобильная версия сайта — остаётся за бортом.

Что такое обратный (reverse) flash call

Направление вызова: пользователь звонит сервису.

  1. Пользователь вводит номер в форме.
  2. Сервис выдаёт выделенный номер и показывает его пользователю.
  3. Пользователь звонит на этот номер со своего телефона. Отвечать не нужно — соединение сбрасывается автоматически.
  4. Сервис определяет номер вызывающего абонента и сопоставляет вызов с ожидающей проверкой.

Ключевое следствие: читать ничего не нужно. Звонок приходит к сервису, и он видит его на своей стороне — никакого доступа к журналу вызовов или сообщениям на устройстве пользователя не требуется. Поэтому сценарий одинаково работает в мобильном приложении, в мобильном браузере и на десктопе, и не упирается в политики магазинов приложений.

Именно по этой схеме работает FlashCall. Подробный разбор механизма — в статье про подтверждение номера телефона звонком.

Обычный и обратный flash call: сравнение

Обычный flash callОбратный flash call
Кто звонитсервис пользователюпользователь сервису
Что служит доказательствомвходящий вызов на номерисходящий вызов с номера
Разрешения приложениюдоступ к журналу вызововне нужны
Работает в браузеренетда
Работает на iOSнетда
Что делает пользовательничего либо вводит цифры номеранажимает вызов
Основной рискотказ в разрешении, ограничения магазиновномер вызывающего не определяется
Строгость доказательстваподтверждает приём вызоваподтверждает совершение вызова

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

Что выбрать

Ответ зависит от того, где живёт ваш продукт.

  • Только Android-приложение, разрешение уже есть — обычный flash call допустим, пользователь не делает вообще ничего.
  • Есть веб-версия или iOS — обычный flash call не покроет их, нужен обратный.
  • Хочется одну реализацию на все платформы — обратный, других вариантов нет.
  • Не хочется зависеть от политик магазинов — обратный: он не запрашивает чувствительных разрешений и не рискует при очередном ужесточении правил.

Сравнение с SMS по стоимости и доставляемости — в материале flash call или SMS. Особенности реализации на мобильных — в статье про подтверждение номера в приложении.

Где применяется

Механизм один, а поводов подтвердить номер несколько:

Общее ограничение у обеих схем одно и о нём стоит помнить при планировании: они работают, пока номер вызывающего абонента передаётся сетью, и в пределах той страны, чьи номера есть в пуле провайдера.

Частые вопросы

Как правильно писать — flash call, flashcall или флеш колл?

Все написания встречаются и означают одно и то же. В англоязычной документации чаще «flash call» в два слова, в русских текстах — «флеш колл», «флэш колл» и слитное «флешколл». Устоявшейся нормы для русского написания нет.

Flash call — это то же самое, что звонок-сброс?

Да, «звонок-сброс» и «сбрасываемый вызов» — русские описательные названия того же механизма. Общее у всех вариантов одно: соединение не устанавливается, разговор не происходит, а информацию несёт сам факт вызова и номер.

Почему обычный flash call не работает в браузере?

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

Обратный flash call дороже обычного?

Не по природе механизма — обе схемы это один короткий вызов. Разница в модели тарификации у конкретного провайдера: важнее не тип flash call, а списывают ли деньги за попытку или за результат.