Интеграция SMS-шлюза с несколькими провайдерами
SaaS / Authentication
Задача
Мультитенантной SaaS-платформе требовались SMS OTP-аутентификация и транзакционные уведомления в 12 странах. Единственный используемый SMS-провайдер имел 6–8% неуспешных доставок на ряде целевых рынков, что приводило к неудачным входам и обращениям в поддержку от пользователей, не получивших коды.
Решение
Мы создали слой абстракции над тремя SMS-провайдерами: основным и двумя резервными для отдельных стран. Логика маршрутизации выбирает оптимального провайдера для направления по историческим показателям доставки. Неудачная отправка автоматически повторяется через следующего провайдера; подтверждения доставки хранятся в PostgreSQL и доступны в админ-дашборде.
Результаты
Успешная доставка OTP выросла с 92% до 99,1% за две недели после включения резервирования между провайдерами. Ежемесячные SMS-расходы снизились на 18% благодаря маршрутизации к более дешёвым провайдерам на рынках, где основной работал стабильно. Обращения в поддержку о недоставленных OTP почти исчезли.