vc-msg

vc-msg #

Сокращение ссылок и их разрешение в полные ссылки.

Настраивается через переменные окружения.

Порты #

Контейнер запускает следующие порты:

  • 9106 http 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-api
  • VC_MSG__PROVIDERS__<ProviderName>__smsc__login - логин для HTTP/S API
  • VC_MSG__PROVIDERS__<ProviderName>__smsc__psw - пароль для HTTP/S API
  • VC_MSG__PROVIDERS__<ProviderName>__smsc__id - id отправителя, если отсутствует - задать пустую строку ""
  • VC_MSG__PROVIDERS__<ProviderName>__smsc__sender - Имя отправителя смс (должно быть настроено в SMSC.ru)
  • VC_MSG__PROVIDERS__<ProviderName>__smsc__tinyurl - 0 или 1: выключение или включение сокращения ссылки средствами SMSC.ru
  • VC_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" - обязательный, указывает тип провайдера pulseem
  • VC_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" - обязательный, указывает тип провайдера email
  • VC_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" - обязательный, указывает тип провайдера telegram
  • VC_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-gms
  • VC_MSG__PROVIDERS__<ProviderName>__openApi__message_prefix - текст сообщения со ссылкой. Вместо самой короткой ссылки указывается ключ url
  • VC_MSG__PROVIDERS__<ProviderName>__openApi__sms_service_url - обязательный, url к GMS API
  • VC_MSG__PROVIDERS__<ProviderName>__openApi__external_id - необязательный параметр external-id
  • VC_MSG__PROVIDERS__<ProviderName>__openApi__interaction_type- необязательный параметр interaction-type
  • VC_MSG__PROVIDERS__<ProviderName>__openApi__interaction_sub_type - необязательный параметр interaction-sub-type
  • VC_MSG__PROVIDERS__<ProviderName>__openApi__media_type - необязательный параметр media-type
  • VC_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
powered by Altuera