Flash Call подтверждает номер звонком: код приходит голосом или лежит в последних цифрах входящего номера. В роуминге ломается первый вариант — человек не берёт трубку с незнакомого номера и не знает, сколько ему будет стоить ответ. Рабочее решение для поездок: сценарий, где отвечать не нужно, а код виден в журнале вызовов. Ниже — чем отличаются два варианта, что прописать в интерфейсе и как подстраховаться, если звонок не дошёл.
Почему в роуминге Flash Call ведёт себя иначе
Дома клиент примерно знает, кто может ему звонить. В поездке он ждёт вызова от отеля, коллеги или такси, и незнакомый международный номер в эту картину не вписывается. Часть людей сбрасывает такие звонки сразу. Часть держит телефон в режиме «не беспокоить» или включает блокировку незнакомых номеров, и тогда экран даже не загорится.
Техника тоже ведёт себя иначе. Гостевой сети нужно зарегистрировать абонента, поэтому вызов приходит с задержкой, а не мгновенно. В журнале вызовов номер отображается в международном формате, с плюсом и кодом страны. Последние четыре или шесть цифр при этом остаются на месте — именно их клиент вводит в форму подтверждения (по описанию метода от сервиса RedSMS).
Значит, в поездках надёжнее опираться на сценарий, где отвечать на звонок не обязательно. Вызов сбросили, а номер остался в журнале, и код можно прочитать.
Отвечать на звонок или читать номер: в чём разница
Оба варианта используют один и тот же звонок, но требуют от клиента разного.
| Что сравниваем | Ответить и ввести код | Код в последних цифрах номера |
|---|---|---|
| Действие клиента | Принять вызов, услышать или увидеть код, ввести его в форму | Открыть журнал вызовов, посмотреть номер, ввести последние цифры |
| Если вызов сбросить | Код не получен, нужен повтор | Код остаётся в журнале и в уведомлении о пропущенном |
| Реакция на незнакомый номер | В роуминге многие не берут трубку | Сброс не мешает подтверждению |
| Настройки телефона | Блокировка незнакомых номеров ломает сценарий | Режим «не беспокоить» скрывает экран, но не журнал вызовов |
| Где встречается | Вход в личный кабинет, где нужен голосовой код | Публичные сети Wi-Fi, крупные маркетплейсы |
Первый вариант даёт больше свободы: в звонке можно передать длинный код. Второй проще для пользователя и устойчивее к роумингу, но длина кода ограничена разрядностью номера — обычно это четыре или шесть цифр. Если сомневаетесь, какой метод ближе вашему сценарию, начните с разбора Voice OTP или Flash Call: что выбрать для подтверждения номера.
Как настроить вход по Flash Call с оглядкой на роуминг
Проверьте, умеет ли сервис передавать код в номере
Разные поставщики работают по-разному: один читает код голосом, другой подставляет цифры в номер. Уточните, какой вариант доступен вам и сколько цифр он передаёт. Если голосовой код — единственный вариант, сценарий подойдёт для клиентов в домашней сети, а для поездок понадобится запасной способ. Последовательность настройки входа, который держится только на звонке, разобрана в материале Как настроить вход в личный кабинет по Flash Call без SMS.
Задайте таймаут и запасной способ
Минуты хватает, чтобы звонок дошёл даже через гостевую сеть. Дальше человек должен увидеть кнопку «Не приходит код» с двумя действиями: позвонить ещё раз и получить код по SMS. Второй канал выручает, когда у клиента выключена белорусская SIM или номер не принимает вызовы. Как связать оба способа в один сценарий, описано в статье как собрать Flash Call и SMS в единый сценарий подтверждения номера.
Напишите понятную инструкцию на экране ожидания
Подсказка работает, если появляется до звонка. Слабый текст: «Ожидайте звонка». Рабочий: «Сейчас позвоним с белорусского номера. Отвечать не обязательно — посмотрите последние четыре цифры в журнале вызовов и введите их в поле». Добавьте оговорку, что номер может прийти в международном формате и цифры от этого не меняются. Кнопка «Позвонить ещё раз» должна стоять рядом с полем ввода, а не в разделе помощи.
Логируйте попытки через вебхук
Вебхук Flash call возвращает данные о звонке, включая параметр verification_call_uuid, который связывает конкретный вызов с конкретным запросом к API (по документации интеграций). Такой лог разделяет две разные ситуации: клиент не взял трубку или звонок вообще не дошёл. От этого зависит и текст ошибки, и следующий шаг для пользователя.
Как считать попытки и во что это обходится
Расходы зависят от числа звонков, а не от числа входов. Клиент в роуминге может быть в самолёте, в метро или просто не успеть взглянуть на экран, и вы платите за повтор. Flash Call обходится дешевле SMS-кода (по данным сервиса «Звонок»), поэтому два-три повтора редко становятся проблемой. Ограничьте автоповтор двумя-тремя звонками с паузой в минуту: длинная серия вызовов раздражает сильнее, чем один неудачный вход.
Типичные ошибки
- Ждать, что клиент в роуминге ответит на звонок с незнакомого номера.
- Держать один сценарий для домашней сети и для поездок, без запасного канала.
- Не давать альтернативы, когда звонок не дошёл: пользователь уходит в поддержку.
- Показывать инструкцию про журнал вызовов только после второго или третьего звонка.
- Не логировать попытки и не понимать, был звонок или нет.
- Тестировать сценарий только на своей SIM в домашней сети.
3 шага, которые можно сделать на этой неделе:
- Уточнить у поставщика, умеет ли сервис передавать код в последних цифрах номера и какой длины этот код.
- Переписать экран ожидания: объяснить, что отвечать не обязательно, и подсказать, где смотреть цифры.
- Добавить после таймаута повтор звонка и SMS, а также включить логирование попыток через вебхук.



