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, рекомендуется не уменьшать дефолтное значение.GLS_USE_TWILIO
- определяет, следует ли использовать сервис Twilio для иностранных номеров вместо SMSC. По умолчанию выключен
Для запуска сервиса достаточно вызвать команду docker-compose up --build
в корне проекта, предварительно указав
необходимые ENV
переменные.