// Доставляемость

Доставляемость SMS: sender ID, фильтрация операторов и маршрутизация

Самое сложное в SMS-верификации — не отправить сообщение, а обеспечить его приход. Доставка решается операторами, правилами sender ID, содержимым сообщения и маршрутизацией, и она дико различается по странам. Это руководство объясняет, почему OTP пропадают, и конкретные рычаги, которые это чинят.

Почему SMS работает по принципу best-effort

В SMS нет гарантированной доставки. Между вашим вызовом API и трубкой стоят агрегаторы, международные шлюзы и оператор назначения — любой из них может задержать, отфильтровать или тихо отбросить сообщение. Трафик верификации проверяется особенно жёстко, потому что операторы борются с мошенничеством и спамом именно на этих маршрутах.

Практическое следствие: нужно проектировать под частичный сбой (повтор, запасной канал) и активно мониторить доставку, а не считать, что отправленное сообщение — это доставленное сообщение.

  • Доставка зависит от политики фильтрации оператора назначения.
  • Международные маршруты добавляют шлюзы, каждый — возможная точка сбоя.
  • Трафик приложений (A2P) фильтруется жёстче, чем человек-человеку.

Sender ID и почему они важны

Sender ID — то, что получатель видит как «от кого» — long-code, короткий код или буквенно-цифровое имя. Страны резко различаются: одни требуют предзарегистрированных буквенно-цифровых sender ID, другие предписывают короткие коды для A2P, третьи переписывают или блокируют незарегистрированных отправителей. Использование правильного, зарегистрированного sender ID для каждой страны — один из крупнейших рычагов доставки.

  • Буквенно-цифровые sender ID: брендовый текст как отправитель; во многих странах нужна предрегистрация.
  • Короткие коды: наивысшая пропускная способность и доверие для A2P, но нужно одобрение оператора.
  • Long-code: подходят для многих рынков, но в США нужна регистрация 10DLC.
  • Использование незарегистрированного отправителя в строгой стране — частая причина тихого сбоя.

Фильтрация операторов и содержимое сообщения

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

  • Избегайте ссылок в OTP-сообщениях; сокращённые ссылки — сильный триггер фильтрации.
  • Держите шаблоны одинаковыми — хаотичное содержимое выглядит как спам.
  • Не включайте маркетинг в транзакционное OTP-сообщение.
  • Регистрируйте шаблоны сообщений там, где страна этого требует.
!

Если доставка внезапно упала в одной стране, подозревайте изменение правила по содержимому или sender ID там раньше, чем что-либо в вашем коде.

Маршрутизация по странам

Маршрут — это путь, по которому ваше сообщение идёт к оператору назначения, и качество маршрута различается по провайдеру и стране. Дешёвые серые маршруты могут выглядеть нормально в тестах, а затем тихо деградировать. Для верификации предпочитайте прямые или качественные маршруты в важные страны, даже при большей стоимости, и сообщите провайдеру, что трафик — OTP, чтобы он маршрутизировал его соответственно.

  • Предпочитайте прямые/премиальные маршруты для верификации на ключевых рынках.
  • Остерегайтесь серых маршрутов: низкая цена, нестабильная доставка, плохие DLR.
  • Некоторые провайдеры позволяют помечать трафик как OTP для лучшей маршрутизации.
  • Тестируйте каждую важную страну отдельно — средние скрывают сбой на уровне страны.

Мониторьте доставку и действуйте по ней

Нельзя починить то, что не измеряешь. Собирайте отчёты о доставке (DLR), отслеживайте долю доставки и задержку по стране и по оператору, затем оповещайте о регрессиях. Сочетайте это с запасной логикой, чтобы просадка доставки деградировала мягко, а не блокировала регистрации.

  1. 1

    Собирайте DLR

    Включите отчёты о доставке и храните их против каждой отправки, чтобы знать доставлено против сбоя, а не только отправлено.

  2. 2

    Сегментируйте по стране и оператору

    Отслеживайте долю доставки и задержку по направлению — среднее скроет один сбойный рынок.

  3. 3

    Оповещайте о регрессиях

    Запускайте оповещение, когда доля доставки или задержка страны деградируют за порог.

  4. 4

    Переключайтесь при сбое

    Автоматически переключайтесь с деградировавшего провайдера или эскалируйте на запасной канал.

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

Почему мои OTP-сообщения не доставляются?+

Обычные причины — незарегистрированный или неверный sender ID для страны, содержимое сообщения, срабатывающее на фильтрацию оператора (особенно ссылки), или маршрут низкого качества. Начните с проверки отчётов о доставке по стране, затем убедитесь в регистрации sender ID и уберите любые URL из сообщения.

Должны ли OTP-сообщения содержать ссылку?+

Избегайте этого. Ссылки — особенно сокращённые — ведущий триггер спам-фильтрации операторов и могут утечь код. Держите OTP-сообщения из названия приложения и кода — для лучшей доставки и безопасности.

Что такое отчёт о доставке (DLR)?+

DLR — статусный колбэк от оператора, сообщающий, доставлено ли сообщение, сбоило или всё ещё в ожидании. Сбор и хранение DLR необходимы — это единственный способ отличить отправленное сообщение от действительно дошедшего.

Почему доставка так сильно различается по странам?+

У каждой страны свои правила sender ID, регулирование A2P, политики фильтрации операторов и качество маршрутов. Провайдер и конфигурация, идеально доставляющие в одной стране, могут сбоить в другой — поэтому нужно тестировать и мониторить каждое ключевое направление отдельно.

EdgeGigs

Боретесь с фильтрацией операторов и низкой доставкой?

Проверенный специалист по SMS проведёт аудит ваших маршрутов, зарегистрирует sender ID и настроит маршрутизацию по странам, чтобы ваши OTP действительно доходили.

Найти разработчика на EdgeGigs