vc-msg #
Сокращение ссылок и их разрешение в полные ссылки.
Настраивается через переменные окружения.
Порты #
Контейнер запускает следующие порты:
9106http API для статуса доставки сообщений
Публикация порта требуется только в том случае, если провайдер отправляет отчет о доставке на вебхук vc-msg.
Переменные окружения #
LOGLEVELустановка уровня логирования (TRACE,DEBUG,INFO,WARN,ERRROR), по-умолчаниюINFO
Настройка подключений к компонентам платформы #
Настройка провайдеров отправки сообщений #
Настройки провайдеров отправки сообщений осуществляется при конфигурации сервиса vc-msg.
После добавления провайдера в сервис необходимо также добавить провайдера в Административном интерфейсе SVA. Сделать это может только пользователь с ролью “Cуперадминистратор” в разделе “Провайдеры”:
- в поле “Провайдер” указать название провайдера из конфигурации
vc-msg(см<ProviderName>ниже) - в поле “Имя” указать название, для отображения в интерфейсах SVA
- в поле “Тип” выбрать тип провайдера. Для всех типов провайдеров выбирать тип
SMS, кроме:email- это толькоEmailпровайдерopen-api-gms- может быть какEmailтак иSMSв зависимости от настроек
Общие параметры настройки провайдеров #
Настройка провайдеров осуществляется через переменные окружения контейнера vc-msg в формате: VC_MSG__PROVIDERS__<ProviderName>__<option>, где
VC_MSG__PROVIDERS__- обязательный префикс (обязательно в верхнем регистре)<ProviderName>- название провайдера (регистрозависимо)<option>- опция конфигурации (регистрозависимая), вложенность опций указывается двойным подчеркиванием__
В названиях опций одинарный знак подчеркивания _ заменяется на дефис -
Настройка СМС провайдера SMSC.ru #
Позволяет настроить отправку SMS используя сервис
https://smsc.ru
Для использования сервиса необходимо завести Личный кабинет в SMSC.ru и настроить пароли доступа (
https://smsc.ru/ips/) тип API HTTP/S
Опции конфигурации:
VC_MSG__PROVIDERS__<ProviderName>__type: "smsc-ru-api"- обязательный, указывает тип провайдераsmsc-ru-apiVC_MSG__PROVIDERS__<ProviderName>__smsc__login- логин для HTTP/S APIVC_MSG__PROVIDERS__<ProviderName>__smsc__psw- пароль для HTTP/S APIVC_MSG__PROVIDERS__<ProviderName>__smsc__id- id отправителя, если отсутствует - задать пустую строку ""VC_MSG__PROVIDERS__<ProviderName>__smsc__sender- Имя отправителя смс (должно быть настроено в SMSC.ru)VC_MSG__PROVIDERS__<ProviderName>__smsc__tinyurl- 0 или 1: выключение или включение сокращения ссылки средствами SMSC.ruVC_MSG__PROVIDERS__<ProviderName>__smsc__message-prefix- обязательно, текст отправляемого сообщения, добавляемый перед ссылкой Клиента.
Пример конфигурации:
# провайдер с названием SMSC типа smsc-ru-api
VC_MSG__PROVIDERS__SMSC__type: "smsc-ru-api"
VC_MSG__PROVIDERS__SMSC__smsc__login: "login"
VC_MSG__PROVIDERS__SMSC__smsc__psw: "password"
VC_MSG__PROVIDERS__SMSC__smsc__id: ""
VC_MSG__PROVIDERS__SMSC__smsc__sender: "SENDER"
VC_MSG__PROVIDERS__SMSC__smsc__tinyurl: 0
VC_MSG__PROVIDERS__SMSC__smsc__message-prefix: "Подключись к SVA по ссылке: "
Настройка СМС провайдера Pulseem (Израиль) #
Позволяет настроить отправку SMS используя сервис https://www.pulseem.com Для использования сервиса необходимо получить API ключ (на сайте провайдера).
Опции конфигурации:
VC_MSG__PROVIDERS__<ProviderName>__type: "pulseem"- обязательный, указывает тип провайдераpulseemVC_MSG__PROVIDERS__<ProviderName>__pulseem__from- обязательный, имя отправителя смс (следует получить у Pulseem)VC_MSG__PROVIDERS__<ProviderName>__pulseem__api-key- обязательный, ключ к API отправки СМС (следует получить у Pulseem)VC_MSG__PROVIDERS__<ProviderName>__pulseem__message-prefix- обязательно, текст отправляемого сообщения, добавляемый перед ссылкой Клиента.
Пример конфигурации:
# провайдер с названием Pulseem типа pulseem
VC_MSG__PROVIDERS__Pulseem__type: "pulseem"
VC_MSG__PROVIDERS__Pulseem__pulseem__from: "FromName"
VC_MSG__PROVIDERS__Pulseem__pulseem__api_key: "someApiKey"
VC_MSG__PROVIDERS__Pulseem__pulseem__message-prefix: "Подключись к SVA по ссылке: "
Настройка Email шлюза #
Позволяет настроить отправку ссылки по email.
Опции конфигурации:
VC_MSG__PROVIDERS__<ProviderName>__type: "email"- обязательный, указывает тип провайдераemailVC_MSG__PROVIDERS__<ProviderName>__email__message_subject- обязательный, указывает тему отправляемого письмаVC_MSG__PROVIDERS__<ProviderName>__email__message_prefix- обязательно, текст отправляемого сообщения, вместоemailUrlподставляется Клиентская ссылкаVC_MSG__PROVIDERS__<ProviderName>__smtp__<option>- настройка подключения к SMTP серверуVC_MSG__PROVIDERS__<ProviderName>__smtp__to- название поля вызова SVA, откуда брать e-mail адрес получателяVC_MSG__PROVIDERS__<ProviderName>__smtp__from- адрес ОТ КОГО исходящего e-mail сообщенияVC_MSG__PROVIDERS__<ProviderName>__smtp__host- адрес SMTP сервераVC_MSG__PROVIDERS__<ProviderName>__smtp__port- порт SMTP сервераVC_MSG__PROVIDERS__<ProviderName>__smtp__login- логин для SMTP сервераVC_MSG__PROVIDERS__<ProviderName>__smtp__password- пароль для SMTP сервераVC_MSG__PROVIDERS__<ProviderName>__smtp__use_ssl- true/false использовать ли SSL для подключения к SMTP серверуVC_MSG__PROVIDERS__<ProviderName>__smtp__starttls- true/false использовать ли TLS для подключения к SMTP серверуVC_MSG__PROVIDERS__<ProviderName>__smtp__auth- true/false требуется ли авторизация (логин/пароль) для подключения к SMTP серверуVC_MSG__PROVIDERS__<ProviderName>__smtp__debug- true/false, включение дополнительного логирования для отладки
Пример конфигурации:
# провайдер с названием EMAIL типа email
VC_MSG__PROVIDERS__EMAIL__type: "email"
VC_MSG__PROVIDERS__EMAIL__email__message_subject: "ПодОпциись к SVA"
VC_MSG__PROVIDERS__EMAIL__email__message_prefix: "Для подключения к Видео-Чату перейди по ссылке: emailUrl"
VC_MSG__PROVIDERS__EMAIL__smtp__to: "email"
VC_MSG__PROVIDERS__EMAIL__smtp__from: "sva-no-reply@domain.com"
VC_MSG__PROVIDERS__EMAIL__smtp__host: "smtp.yandex.ru"
VC_MSG__PROVIDERS__EMAIL__smtp__port: "465"
VC_MSG__PROVIDERS__EMAIL__smtp__login: "login"
VC_MSG__PROVIDERS__EMAIL__smtp__password: "password"
VC_MSG__PROVIDERS__EMAIL__smtp__use_ssl: true
VC_MSG__PROVIDERS__EMAIL__smtp__starttls: true
VC_MSG__PROVIDERS__EMAIL__smtp__auth: true
VC_MSG__PROVIDERS__EMAIL__smtp__debug: false
Telegram #
Данный канал может использоваться для отправки сообщений конечному списку пользователей по номеру телефона. Для инициализации канала требуется зарегистрировать Telegram-Bot. Пользователи, желающие получать сообщения в Telegram должны подписаться на этого бота и отправить ему свой номер телефона. Номер телефона будет сохранен с соответствующим id пользователя телеграм и, при отправке ссылки по номеру телефона, ссылка будет доставлена ботом.
Регистрация бота Telegram #
Регистрацию бота следует выполнять в канале https://telegram.me/botfather (следовать подсказкам):
- отправить команду
/newbotдля инициализации создания нового бота - задать
<bot_name> - задать
<username_bot>для бота
В результате успешного создания будет получено сообщение вида:
Done! Congratulations on your new bot. You will find it at t.me/username_bot. You can now add a description, about section and profile picture for your bot, see /help for a list of commands. By the way, when you've finished creating your cool bot, ping our Bot Support if you want a better username for it. Just make sure the bot is fully operational before you do this.
Use this token to access the HTTP API:
6553434765:ALAH-BzKwaY-6qPxFSus-vrpSRzY240DpAi
Keep your token secure and store it safely, it can be used by anyone to control your bot.
Использовать эти данные для настроек провайдера в vc-msg.
Опции конфигурации Telegram провайдера #
Все параметры обязательны
VC_MSG__PROVIDERS__<ProviderName>__type: "telegram"- обязательный, указывает тип провайдераtelegramVC_MSG__PROVIDERS__<ProviderName>__telegram__message-prefix- обязательно, текст отправляемого сообщения, добавляемый перед ссылкой Клиента.VC_MSG__PROVIDERS__<ProviderName>__telegram__bot__link- ссылка на ботVC_MSG__PROVIDERS__<ProviderName>__telegram__bot__token- токенVC_MSG__PROVIDERS__<ProviderName>__telegram__bot__name-<имя бота>VC_MSG__PROVIDERS__<ProviderName>__telegram__bot__username-<username>ботаVC_MSG__PROVIDERS__<ProviderName>__telegram__bot__button_text- текст на кнопке, которая запрашивает номер телефона при регистрацииVC_MSG__PROVIDERS__<ProviderName>__telegram__bot__start_message- текст ответа бота, при регистрации или при любом сообщении, если пользователь не зарегистрирован
Пример конфигурации:
# провайдер с названием TelegramGroup типа telegram
VC_MSG__PROVIDERS__TelegramGroup__type: "telegram"
VC_MSG__PROVIDERS__TelegramGroup__telegram__message_prefix: "Подключись к видео-поддержке url"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__link: "http://t.me/username_bot"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__token: "6553434765:ALAH-BzKwaY-6qPxFSus-vrpSRzY240DpAi"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__name: "bot_name"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__username: "username_bot"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__button_text: "Отправить контакт"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__start_message: "Для продолжения работы укажите Ваш номер телефона"
Использование телеграм провайдера #
Чтобы можно было получать сообщения в телеграм, необходимо зарегистрировать свой телеграм аккаунт в созданном боте. Для этого:
- подключиться к боту (
telegram__bot__link) - ввести команду
/start - нажать предлагаемую кнопку и подтвердить отправку своего номера телефона
После этого, при установленном Телеграм провайдере в компании, сообщения на отправленный номер телефона будут приходить в телеграм.
Genesys GMS OpenMedia API #
Позволяет подключаться к Genesys GMS OpenMedia API для отправки короткой ссылки
Опции конфигурации:
VC_MSG__PROVIDERS__<ProviderName>__type: "open-api-gms"- обязательный, указывает тип провайдераopen-api-gmsVC_MSG__PROVIDERS__<ProviderName>__openApi__message_prefix- текст сообщения со ссылкой. Вместо самой короткой ссылки указывается ключurlVC_MSG__PROVIDERS__<ProviderName>__openApi__sms_service_url- обязательный, url к GMS APIVC_MSG__PROVIDERS__<ProviderName>__openApi__external_id- необязательный параметрexternal-idVC_MSG__PROVIDERS__<ProviderName>__openApi__interaction_type- необязательный параметрinteraction-typeVC_MSG__PROVIDERS__<ProviderName>__openApi__interaction_sub_type- необязательный параметрinteraction-sub-typeVC_MSG__PROVIDERS__<ProviderName>__openApi__media_type- необязательный параметрmedia-typeVC_MSG__PROVIDERS__<ProviderName>__openApi__userData__<key>- набор необязательных параметров, присоединяемый к взаимодействию Genesys User-Data,<key>- название KVP Genesys, вместо value может использоваться:"message-prefix"- значение заданной ранее опцииmessage-prefix"link"- Клиентская ссылка"<call_field>"- поле вызова SVA<call_field>"просто строка"- статическое строковое значение
Пример конфигурации:
# провайдер с названием GMS типа open-api-gms
VC_MSG__PROVIDERS__GMS__type: "open-api-gms"
# содержимое сообщения, вместо url будет подставлена короткая ссылка Клиента
VC_MSG__PROVIDERS__Default__openApi__message_prefix: "Подключись к видео-поддержке url"
# URI API
VC_MSG__PROVIDERS__Default__openApi__sms_service_url: "http://10.10.10.15:8090/genesys/2/openmedia/SendMessage"
# в KVP Genesys phNum передается значение поля вызова phoneNumber SVA
VC_MSG__PROVIDERS__Default__openApi__userData__phNum: "phoneNumber"
# в KVP Genesys msgText передается текст из message_prefix
VC_MSG__PROVIDERS__Default__openApi__userData__msgText: "message-prefix"
# в KVP Genesys svaLink передается ссылка Клиента
VC_MSG__PROVIDERS__Default__openApi__userData__svaLink: "link"
# в KVP Genesys source передается строка "SmartVideoAgent"
VC_MSG__PROVIDERS__Default__openApi__userData__source: "SmartVideoAgent"
Примеры compose файлов #
Все компоненты на одном хосте #
Запуск в докере локально
services:
vc-msg:
image: cr.repo.altuera.ru/sva/prod/vc-msg:${SVA_VERSION}
restart: unless-stopped
environment:
LOGLEVEL: ${LOGLEVEL}
VC_MSG__PROVIDERS__TelegramGroup__type: "telegram"
VC_MSG__PROVIDERS__TelegramGroup__telegram__message_prefix: "Подключись к видео-поддержке url"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__link: "https://t.me/sva_test_bot"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__token: "6773403395:AAHJ-BzvaYK-Psx6jFSu-0ivRDpApSRzY22"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__name: "sva_test_bot"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__username: "sva_test_bot"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__button_text: "Отправить контакт"
VC_MSG__PROVIDERS__TelegramGroup__telegram__bot__start_message: "Для продолжения работы отправьте Ваш номер телефона"
Установка SVA на один сервер
services:
vc-msg:
image: cr.repo.altuera.ru/sva/prod/vc-msg:${SVA_VERSION}
restart: unless-stopped
environment:
LOGLEVEL: ${LOGLEVEL}
VC_MSG__PROVIDERS__SMSC__type: "smsc-ru-api"
VC_MSG__PROVIDERS__SMSC__smsc__login: "login"
VC_MSG__PROVIDERS__SMSC__smsc__psw: "password"
VC_MSG__PROVIDERS__SMSC__smsc__id: ""
VC_MSG__PROVIDERS__SMSC__smsc__sender: "SmartVideoAgent"
VC_MSG__PROVIDERS__SMSC__smsc__tinyurl: 0
VC_MSG__PROVIDERS__SMSC__smsc__message-prefix: "Подключись к SVA по ссылке: "
VC_MSG__PROVIDERS__Email__type: "email"
VC_MSG__PROVIDERS__Email__email__message_subject: "Подключись к SVA"
VC_MSG__PROVIDERS__Email__email__message_prefix: "Для подключения к Видео-Чату перейди по ссылке: emailUrl"
VC_MSG__PROVIDERS__Email__smtp__to: "email"
VC_MSG__PROVIDERS__Email__smtp__from: "no-reply@domain.ru"
VC_MSG__PROVIDERS__Email__smtp__host: "smtp.yandex.ru"
VC_MSG__PROVIDERS__Email__smtp__port: "465"
VC_MSG__PROVIDERS__Email__smtp__login: "no-reply@domain.ru"
VC_MSG__PROVIDERS__Email__smtp__password: "password"
VC_MSG__PROVIDERS__Email__smtp__use_ssl: true
VC_MSG__PROVIDERS__Email__smtp__starttls: true
VC_MSG__PROVIDERS__Email__smtp__auth: true
VC_MSG__PROVIDERS__Email__smtp__debug: false
Установка SVA на несколько серверов
services:
vc-msg:
image: cr.repo.altuera.ru/sva/prod/vc-msg:${SVA_VERSION}
restart: unless-stopped
ports:
- 9106:9106
environment:
LOGLEVEL: ${LOGLEVEL}
VC_MSG__PROVIDERS__SMSC__type: "smsc-ru-api"
VC_MSG__PROVIDERS__SMSC__smsc__login: "login"
VC_MSG__PROVIDERS__SMSC__smsc__psw: "password"
VC_MSG__PROVIDERS__SMSC__smsc__id: ""
VC_MSG__PROVIDERS__SMSC__smsc__sender: "SmartVideoAgent"
VC_MSG__PROVIDERS__SMSC__smsc__tinyurl: 0
VC_MSG__PROVIDERS__SMSC__smsc__message-prefix: "Подключись к SVA по ссылке: "
VC_MSG__PROVIDERS__Email__type: "email"
VC_MSG__PROVIDERS__Email__email__message_subject: "Подключись к SVA"
VC_MSG__PROVIDERS__Email__email__message_prefix: "Для подключения к Видео-Чату перейди по ссылке: emailUrl"
VC_MSG__PROVIDERS__Email__smtp__to: "email"
VC_MSG__PROVIDERS__Email__smtp__from: "no-reply@domain.ru"
VC_MSG__PROVIDERS__Email__smtp__host: "smtp.yandex.ru"
VC_MSG__PROVIDERS__Email__smtp__port: "465"
VC_MSG__PROVIDERS__Email__smtp__login: "no-reply@domain.ru"
VC_MSG__PROVIDERS__Email__smtp__password: "password"
VC_MSG__PROVIDERS__Email__smtp__use_ssl: true
VC_MSG__PROVIDERS__Email__smtp__starttls: true
VC_MSG__PROVIDERS__Email__smtp__auth: true
VC_MSG__PROVIDERS__Email__smtp__debug: false
DB_HOST: ${HOST_DB}
DB_TLS_USE: true
DB_CACERT_PATH: /certificates/CA.crt
DB_USER: dbuser
DB_PASSWORD: dbpassword
MQTT_SERVER_HOST: ${HOST_DB}
MQTT_SERVER_PORT: 8883
MQTT_TLS_USE: true
MQTT_CACERT_PATH: /certificates/CA.crt
MQTT_USER_NAME: mqttuser
MQTT_PASSWORD: mqttpassword
volumes:
- /srv/certificates/CA.crt:/certificates/CA.crt:ro