Как переключить Flash Call на Voice OTP, если клиент не берёт трубку

Как переключить Flash Call на Voice OTP, если клиент не берёт трубку

Каскад собирается из двух каналов: сначала система звонит и подтверждает номер через Flash Call, а если клиент не принял вызов или не ввёл код за отведённое время, тот же код зачитывает голосом Voice OTP. Авторизация не срывается, а SMS остаётся крайним случаем. Ниже — таймауты, число попыток, текст подсказок на экране и ошибки, которые ломают этот сценарий чаще всего.

Как работает Flash Call и где он спотыкается

Flash Call — короткий входящий вызов, на который отвечать не нужно. Номер звонящего и есть код: в одних реализациях приложение считывает его само, и клиент ничего не вводит (Flashcall.by), в других человек вводит последние цифры номера в поле на сайте или в приложении (new-tel.net). Подменить входящий номер сложнее, чем перехватить SMS: номер приходит по голосовому каналу оператора (СП ТЕЛЕКОМ).

Сбои начинаются там, где заканчивается предсказуемость. Телефон в беззвучном режиме. Спам-фильтр смартфона блокирует незнакомый номер. Абонент в роуминге. Форма открыта, номер введён, подтверждения нет, и человек уходит. Незакрытый шаг воронки стоит дороже нескольких отправленных SMS, поэтому резервный канал закладывают в сценарий сразу.

Почему Voice OTP подходит на роль второго шага

Voice OTP — автоматический звонок, который голосом зачитывает код подтверждения. Клиент отвечает и слушает. Такой звонок доходит на кнопочные телефоны и работает без интернета, а если код плохо слышно, его можно прослушать повторно, нажав цифру на клавиатуре (СП ТЕЛЕКОМ).

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

Каскад пригодится там, где подтверждение стоит между клиентом и деньгами. Запись на выезд мастера по ремонту техники (звонковая авторизация для подтверждения выезда мастера): если подтверждение зависло, мастер уже приехал впустую. Запись к частному стоматологу (Flash Call для подтверждения онлайн-записи к стоматологам): пустое кресло в расписании никто не займёт, а клиент уйдёт к тем, у кого запись подтвердилась за минуту.

Как выстроить каскад переключений

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

  1. Клиент вводит номер в форму на сайте, в приложении или в карточке CRM. Звонок запускается автоматически, без кнопки «получить код» (МТС Exolve).
  2. Система делает Flash Call и ждёт подтверждения. Пока идёт ожидание, на экране висит понятная подсказка, а не пустой спиннер.
  3. Подтверждения нет: истёк таймаут, клиент ввёл неверный код дважды или отказался принимать вызов. Запускается Voice OTP с тем же кодом.
  4. Клиент не ответил и на голосовой звонок. Тогда срабатывает третий канал: SMS, push или email (МТС Exolve).
  5. После нужного числа неудач сценарий останавливается, а номер уходит в мониторинг подозрительной активности (МТС Exolve).

Сколько ждать и сколько попыток давать

Flash Call не требует ответа, поэтому ожидание измеряется вниманием клиента, а не гудками. Двадцати-тридцати секунд хватает, чтобы человек посмотрел на экран и увидел входящий. Дальше он переключается на другие дела и возвращается на шаг назад. Оставьте по одной попытке на каждый канал. Две неудачи подряд обычно указывают на проблему с номером: опечатка, чужой телефон, аппарат без SIM. Ограничение числа попыток и мониторинг подозрительной активности (МТС Exolve) ещё и защищают от перебора чужих номеров.

Что показать клиенту на экране

Подсказка на экране экономит заявки. Напишите прямо: «Сейчас позвоним на +375 29 XXX-XX-XX. Отвечать не нужно, код в номере входящего». Рядом поставьте таймер и кнопку «Не могу принять звонок»: она сразу запускает голосовой код, не дожидаясь таймаута. Клиент, который переключил канал сам, не уходит с формы и не звонит в поддержку.

Что проверить в интеграции до запуска

Сценарий запускается автоматически после ввода номера в форму на сайте, в приложении или в карточке CRM (МТС Exolve). Перед запуском пройдитесь по четырём пунктам.

  • Нормализация номера. Из форм белорусские номера приходят с «8», пробелами и дефисами, а сервису нужен формат +375. Ошибка здесь выглядит как «клиент не подтвердил», хотя звонок ушёл не туда.
  • Идемпотентность. Повторная отправка формы не должна запускать второй звонок и списывать деньги дважды. Ключ на сессию решает это в пару строк.
  • Вебхуки со статусами. «Позвонили», «не ответили», «неверный код»: без них вы не узнаете, на каком шаге обрывается каскад.
  • Логирование причины переключения. Через месяц этих данных хватит, чтобы поднять долю подтверждений без новой интеграции.

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

Сравнение каналов подтверждения

КаналЧто делает клиентГде работаетМесто в каскаде
Flash CallНе отвечает; код в последних цифрах входящего номераСмартфон с приложением, которое считывает номерПервый шаг
Voice OTPОтвечает, слушает код, при необходимости прослушивает повторноКнопочные и смартфоны, интернет не нуженВторой шаг, если Flash Call не подтвердился
SMS с кодомЧитает сообщение и вводит цифры вручнуюЛюбой телефон с SIMТретий шаг, когда два звонка не сработали
Push или emailОткрывает приложение или почтуУстановленное приложение, активная почтаДля тех, кто не берёт трубку

Экономика в пользу звонковой верификации: расходы на подтверждение пользователей снижаются до 70% по сравнению с классическими SMS-рассылками (Flashcall.by). Скорость тоже меняется: когда код вводить не нужно, шаг проходится быстрее и доходимость выше (Flashcall.by).

Типичные ошибки

  • Оставить одну попытку Flash Call и сразу показать «неверный номер». Клиент с заблокированным незнакомым номером теряется навсегда.
  • Поставить Voice OTP первым шагом. Тогда теряется скорость, ради которой выбирают Flash Call: клиенту приходится отвечать, слушать и запоминать цифры.
  • Не показать номер, с которого позвонит сервис. Человек видит пустой вызов в журнале и не понимает, какие цифры ему вводить.
  • Запускать каскад без ограничения попыток. Один номер можно перебирать бесконечно, а это уже риск злоупотребления (МТС Exolve).
  • Не логировать причину отказа канала. Через неделю невозможно понять, почему половина клиентов не доходит до конца подтверждения.
  • Тестировать только на своём смартфоне с интернетом. У части клиентов кнопочные аппараты, роуминг и блокировка незнакомых звонков.

3 шага, которые можно сделать на этой неделе

  1. Посмотрите отказы по шагам в текущей форме: сколько клиентов вводит номер и не доходит до подтверждения.
  2. Опишите правило переключения: таймаут ожидания, число попыток, резервный канал, условие остановки.
  3. Прогоните Voice OTP на своём телефоне в тех же условиях, что у клиентов: с блокировкой незнакомых номеров, в роуминге, на кнопочном аппарате.