Техническое задание edna Platform

Цель разработки служебного произведения

Создать (спроектировать) и разработать программный продукт «edna Platform», не предназначенный для установки на технических мощностях клиентов, с целью предоставления возможности создания и отправки сообщений клиентам в разных каналах: SMS, WhatsApp, Viber или с помощью push-уведомлений.

Характеристики

Программный продукт должен обладать следующими характеристиками:

  • Функциональность
    • Поддерживать отправку SMS, включая «длинные» сообщения, которые разбиваются на несколько сегментов SMS;
    • Поддерживать отправку сообщений в канал WhatsApp;
    • Поддерживать отправку сообщений в канал Viber;
    • Поддерживать отправку push-уведомлений.
    • Исключать отправку сообщений-дубликатов получателям рассылок в течение заданного интервала;
    • Предоставлять функцию транслитерации сообщений для канала SMS (до отправки сообщений);
    • Предоставлять аналитическую информацию по отправке сообщений;
    • Обеспечивать архивацию данных БД старше 3-х месяцев.
    • Выдерживать нагрузку для одной учетной записи (личный кабинет пользователя) до 150 сообщений в секунду. Максимальная нагрузка может быть достигнута при запуске нескольких одновременных рассылок.
  • Контроль номеров получателей и отправителя:
    • Продукт должен контролировать и корректировать ошибки в номерах мобильных телефонов (использование символов-разделителей).
    • Продукт должен поддерживать отправку сообщений абонентам любого сотового оператора мира.
    • Продукт должен поддерживать маршрутизацию в каналы с учетом страны/оператора/группы номеров.
  • Регулирование периода доставки:
    • Продукт должен поддерживать возможность отложенной отправки по указанному времени.
    • Продукт должен поддерживать указание время жизни сообщения для канала – это время, в течение которого осуществляются попытки доставки сообщения.
    • Продукт должен поддерживать возможность отложенной отправки, согласно разрешенному периоду доставки с учетом часового пояса абонента.
  • Интеграция:
    • Продукт должен поддерживать возможность многоступенчатого резервирования в различные каналы доставки сообщений.
    • Продукт должен предоставлять возможность настройки Callback для получения статусов исходящих сообщений и получения входящих сообщений от клиентов заказчика.
  • Получение сообщений:
    • Продукт должен уметь принимать входящие SMS, WhatsApp и Viber сообщения от клиентов заказчика.
    • Продукт должен получать информацию о номере, с которого отправлено сообщение для идентификации клиента.
  • Отказоустойчивость:
    • Продукт должен поддерживать кластерный режим.
    • Продукт должен поддерживать горячее резервирование.
  • Пользовательский интерфейс:
    • Пользовательский интерфейс должен поддерживать регистрацию каналов SMS, WhatsApp, Viber.
    • Пользовательский интерфейс должен поддерживать настройку и интеграцию приложений для Push-канала.
    • Пользовательский интерфейс должен поддерживать регистрацию шаблонов сообщений в каналах SMS, WhatsApp, Viber.
    • Пользовательский интерфейс должен предоставлять управление рассылкой сообщений: одиночные рассылки, массовые рассылки по шаблону, параметризованные рассылки с индивидуальными параметрами для каждого получателя и включать функции:
      • Настройки даты и времени запуска рассылки;
      • Выбора списка получателей: из ранее сохраненных на основании выбранных тегов или при загрузке из файла;
      • Выбора шаблона сообщения.
    • Пользовательский интерфейс должен позволять настраивать последовательность отправки сообщений в несколько каналов с указанием условий перехода к следующему каналу (каскад).
    • Давать возможность вручную загружать получателей рассылок в каналах SMS, Viber, WhatsApp с указанием:
      • номера телефона как основного идентификатора для отправки сообщений;
      • опционально – переменных клиента для использования в текстах сообщений (например, название продуктов, дат, номеров договора и так далее);
      • опционально – тегов, описывающих клиента для формирования выборки клиентов для рассылки.
    • В интерфейсе должна быть доступна аналитическая информация:
      • Просмотр списка рассылок (планируемых, выполняющихся, завершенных);
      • Просмотр результата рассылки: количество клиентов в рассылке, уровень доставки;
      • Просмотр списка отправленных сообщений с указанием получателя, канала отправки, текста сообщения, статуса доставки сообщения, причины недоставки и возможностью выгрузки в файл xlsx.
  • Раздел уведомлений должен позволять видеть историю уведомлений.
  • Пользовательский интерфейс должен предоставлять управление данными пользователя в Профиле клиента.