Рассылка SMS-сообщений

SMS-SERVICE является сервисом работы с SMS-сообщениями для сайта и приложений golos.io.

API JSON-RPC:

sendPlainSms:              // Отправить простое СМС-сообщение
    phone <number>         // Целевой номер
    message <string>       // Сообщение
    lang <'en'|'ru'|'by'>  // Язык сообщения (влияет на выбор смс-провайдера)

API SMS-GATE:

<any_request>:
    AccountSid <string>  // Секрет для валидации входящих соединений.
    From <string>        // Номер телефона (TWILIO).
    phone <string>       // Номер телефона (SMSC).

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

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

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

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

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

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

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

  • GLS_SMS_GATE_HOST (обязательно) - адрес, который будет использован для входящих соединений на SMS-GATE.

  • GLS_SMS_GATE_PORT (обязательно) - адрес порта, который будет использован для входящих соединений на SMS-GATE.

  • GLS_SMS_GATE_LOGIN (обязательно) - логин для отправки СМС.

  • GLS_SMS_GATE_PASS (обязательно) - пароль для отправки СМС.

  • GLS_SMS_GATE_SECRET_SID (обязательно) - секрет, используемый для определения валидных входящих соединений на SMS-GATE.

  • GLS_TWILIO_SECRET (обязательно) - секрет, используемый для авторизации в TWILIO.

  • GLS_TWILIO_PHONE_FROM (обязательно) - номер отправителя для TWILIO.

  • GLS_SMSC_SENDER_NAME - имя отправителя для SMSC. Дефолтное значение - Golos.io

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

  • GLS_SMS_SECOND_CHECK_INTERVAL - интервал итераций повторной проверки факта прихода смс, используется для стратегии smsFromUser. Дефолтное значение - 30000 (30 секунд). Слишком частые итерации могут быть заблокированы SMSC, рекомендуется не уменьшать дефолтное значение.

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

Last updated