Проходите по пунктам и отмечайте выполненное.
- Пользователь запрашивает кодВход, оплата или регистрация
- Ваше приложение вызывает API верификацииОдин запрос на один код
- BroadNet доставляет кодПо лучшему доступному каналуРезервный канал в случае недоставкиSMSWhatsAppГолос
- Пользователь вводит кодПроверка на соответствие выданному коду
- ПодтвержденоДоступ разрешен
Стратегия каналов и fallback
- Определите каскад каналов (waterfall) для каждого рынка (например, SMS → WhatsApp/RCS → голосовой звонок).Fallback должен быть ограничен по времени: если канал первый не подтверждён за N секунд, переходите к следующему.
- Предпочитайте нативную верификацию приложения там, где она доступна (тихое/автозаполняемое OTP, push на основе приложения), чтобы снизить зависимость от SMS.
- Используйте голосовой OTP как fallback на рынках с плохой доставляемостью SMS или для обеспечения доступности.
- Избегайте одновременной отправки одного и того же OTP по двум каналам — это удваивает стоимость и риск AIT.
Sender ID, шаблоны и маршрутизация
- Регистрируйте sender ID там, где этого требует рынок; незарегистрированные ID часто отбрасываются.Предварительная регистрация sender ID обязательна на растущем числе рынков.
- Используйте выделенный, низкозадержанный маршрут для OTP, отдельный от маркетингового трафика.Никогда не делите маршрут между транзакционным OTP и рекламной массовой рассылкой.
- Делайте контент шаблона минимальным, брендированным и последовательным, чтобы он проходил фильтры контента.
- Поддерживайте форматы автозаполнения (например, конвенцию одноразового кода, привязанного к источнику, на последней строке), чтобы ускорить ввод.
- Устанавливайте короткий validity_period, чтобы задержанный OTP истекал, а не приходил устаревшим.
Задержка и повторные попытки
- Измеряйте сквозную задержку до телефона (от отправки до DLR), а не только задержку подтверждения отправки.
- Установите период ожидания перед повторной отправкой и ограничьте число повторных отправок на пользователя за окно.Неограниченные повторные отправки — основная площадь атаки для накрутки SMS-трафика.
- Запускайте fallback при отсутствии DLR в рамках вашего бюджета задержки, а не только при явном сбое.
- Дедуплицируйте: одна логическая верификация = один код, даже при повторных попытках, чтобы не путать пользователя.
- Инструментируйте процент доставки, медианную/p95-задержку и конверсию (код введён) по рынку.
Дизайн сообщения и кода
- Используйте 6-значные числовые коды по умолчанию; более длинные — только там, где этого требует политика.
- Привязывайте код к сессии/устройству и делайте его недействительным на стороне сервера после первого использования или тайм-аута.
- Локализуйте текст сообщения, сохраняя код и токен бренда неизменными.
- Никогда не включайте код в кликабельную ссылку, которую можно фишить; оставляйте его только для копирования/ввода вручную.
Защита от мошенничества и AIT (искусственно завышенный трафик)
Мошенничество AIT / накрутка SMS-трафика генерирует настоящие запросы OTP на номера, контролируемые мошенником, раздувая ваш счёт без легитимного пользователя. Это раздел с наибольшей отдачей от защиты для большинства отправителей.
- Ограничивайте по скорости запросы OTP на номер телефона, IP-адрес и отпечаток устройства.
- Добавляйте трение (CAPTCHA / проверку) при всплеске интенсивности из одного источника.
- Блокируйте или ограничивайте высокорисковые диапазоны направлений и известные вредоносные префиксы номеров.Внезапный трафик в необычный диапазон стран — классический признак AIT.
- Мониторьте процент конверсии по направлениям — накрученный трафик показывает запросы при почти нулевом вводе кода.
- Используйте сервис аналитики номеров / HLR lookup, чтобы отклонять недействительные или высокорисковые номера перед отправкой.
- Работайте с провайдером, который предлагает обнаружение AIT и реагирует на подозрительные паттерны.
Стандарты и документы регуляторов, на которые ссылается это руководство. BroadNet — ассоциированный член GSMA и член MEF, с 2003 года предоставляет обмен сообщениями операторского уровня.