Рассылка онлайн-уведомлений для пользователей

NOTIFY-ONLINE-SERVICE является микросервисом рассылки онлайн-уведомлений для пользователей golos.io. Также хранит в себе настройки рассылки. Предполагается что существует микросервис регистрации событий, который оповещает этот микросервис о новых событиях, оставляя право фильтрации и непосредственной рассылки уже этому микросервису.

API

 subscribe:                // Подписаться на рассылку эвентов
     user <string>         // Имя пользователя
     channelId <string>    // Идентификатор канала
     requestId <string>    // Идентификатор запроса

 unsubscribe:              // Отписаться от рассылки эвентов
     user <string>         // Имя пользователя
     channelId <string>    // Идентификатор канала

 getOptions:               // Получить настройки пользователя
     user <string>         // Имя пользователя

 setOptions:               // Установить настройки пользователя
     user <string>         // Имя пользователя
     data <                // Набор данных
        string(event) ->   // Тип события
        boolean(on/off)    // Рассылать или нет
     >

 transfer:                 // Переслать данные пользователю
     data <                // Набор данных
        string(user) ->    // Имя пользователя
        string(event) ->   // Тип события
        Object(eventData)  // Данные события (любой формат)
     >

 history:                          // Получение истории эвентов относительно настроек
     user <string>                 // Имя пользователя
     fromId <string|null>(null)    // Идентификатор с которого начать
     limit <number>(10)            // Количество записей
     markAsViewed <boolean>(true)  // Пометить ли их прочитанными
     freshOnly <boolean>(false)    // Вывести ли только не прочитанные

 historyFresh:                     // Получение количества непрочитанных эвентов относительно настроек
     user <string>                 // Имя пользователя

Переменные окружения

Возможные переменные окружения ENV:

  • GLS_FACADE_CONNECT (обязательно) - адрес подключения к микросервису фасаду.

  • GLS_NOTIFY_CONNECT (обязательно) - адрес подключения к микросервису нотификаций.

  • GLS_CONNECTOR_HOST (обязательно) - адрес, который будет использован для входящих подключений связи микросервисов. Дефолтное значение при запуске без докера - 0.0.0.0

  • GLS_CONNECTOR_PORT (обязательно) - адрес порта, который будет использован для входящих подключений связи микросервисов. Дефолтное значение при запуске без докера - 3000

  • GLS_METRICS_HOST (обязательно) - адрес хоста для метрик StatsD. Дефолтное значение при запуске без докера - 127.0.0.1

  • GLS_METRICS_PORT (обязательно) - адрес порта для метрик StatsD. Дефолтное значение при запуске без докера - 8125

  • GLS_MONGO_CONNECT - строка подключения к базе MongoDB. Дефолтное значение - mongodb://mongo/admin

  • GLS_DAY_START - время начала нового дня в часах относительно UTC. Дефолтное значение - 3 (день начинается в 00:00 по Москве).

Запуск

Для запуска достаточно вызвать команду docker-compose up в корне проекта, предварительно указав необходимые ENV переменные.

Last updated