ИНТЕГРАЦИЯ С SMS-ПРОВАЙДЕРОМ

КОНЦЕПЦИЯ, ПРОБЛЕМАТИКА, ОПИСАНИЕ

Наш клиент B2C компания из fintech домена после выхода на федеральный уровень столкнулась с тем, что их база стала пополняться десятками тысяч новых клиентов в день. Для коммуникаций с клиентами потребовались тысячи звонков и сотни тысяч смс. Ресурсов колл-центра и возможностей ручной отправки уведомлений стало не хватать. Резко выросли расходы на смс-уведомления.

Требовалось интегрироваться с одним из смс провайдеров, чтобы из внутренней ERP системы заказчика осуществлять следующие функции:

  • массовая отправка SMS-сообщений в любые сети мобильных операторов РФ: немедленная, отложенная автоматическая рассылка по расписанию, периодическая рассылка, рассылка по определенному событию;
  • поддержка длинных сообщений (до 1000 символов);
  • приоритезация трафика, благодаря чему срочные SMS будут доставляться немедленно, а плановая рассылка будет идти параллельно;
  • получение статусов доставки отправленных сообщений в реальном времени;
  • персонификация массовых рассылок: подстановка переменных в шаблоны, такие как, ФИО, город, сумма, и так далее;
  • ограничение рассылок по времени: только в рабочее время с учетом часовых поясов абонентов;
  • реализация черных списков номеров для запрета рассылок определенным абонентам или группам абонентов;
  • автоматическое добавление неправильных или недоступных номеров в черный список;
  • контроль и защита от повторных сообщений / превышения лимита рассылок в течение суток;
  • создание и редактирование неограниченного числа шаблонов смс-рассылок;
  • логирование рассылок и сбор статистики по рассылкам;
  • интеграция с базой данных клиентов в ERP системы и отбор получателей смс по сложным алгоритмам: например, рекламная рассылка клиентам, которые живут в заданном радиусе от определенной станции метро.

Клиент ожидал, что производительность смс-рассылок будет составлять десятки тысяч смс в час.

ЗАДАЧИ

Учитывая требуемую производительность смс-рассылок для повышения стабильности работы всей системы в целом было принято направлять запросы через отдельный сервер.

Были разделены каналы отправки смс:

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

Отдельно был разработан функционал, который позволял анализировать статистику рассылок и планировать расходы будущих периодов и выбирать дорогие или дешевые каналы рассылок смс.

Интеграция с ERP системой так же позволила автоматически отслеживать эффективность смс-рассылок, а, именно, выполняет ли клиент целевое действие после получения того или иного смс-сообщения.

РЕЗУЛЬТАТЫ

Было реализовано 2 отдельных SMPP-HTTP шлюза:

  1. На базе опенсорсный SMS шлюза Kannel.
  2. Самописный смс-шлюз, который использовал возможности API смс-сервисов, например, smsc.ru.

Пользователи не только могли выбирать каналы отправки смс-сообщений в зависимости от решаемых задач, но и в случае проблем у одного из смс-провайдеров, все sms уведомления автоматически отправляемые ERP системой можно было переключить на резервный канал.

ТЕХНОЛОГИИ
  • Go
  • Python
  • Bootstrap
  • Django
  • Ext.JS
  • PostgreSQL
  • Celery
  • Kannel
МАСШТАБ ПРОЕКТА
  • Срок реализации: 8 месяцев
  • Команда проекта: 3 человека
  • Покрытие автотестами: 80 процентов
  • Сложность проекта: 7 из 10