Онлайн-чат — это средство для общения клиентов с сотрудниками провайдера. Клиент видит его как диалоговое окно на сайте или в Личном кабинете, сотрудник провайдера — как отдельный рабочий кабинет.

Онлайн-чат обменивается информацией с BILLmanager. Синхронизация запускается сразу после начала работы, а затем каждые 15 минут.

Благодаря этому:

  • В BILLmanager доступна история всех чатов.
  • Для работы в чате оператор использует свою учетную запись BILLmanager.
  • Оператор может получить из биллинга данные о клиенте, не выходя из чата.
  • Из чата оператор может создать тикет и передать его в другой отдел.

В этой статье описана установка и начальная настройка онлайн-чата, а также добавление чата на сайт и в Личный кабинет клиента. Описание интерфейса и возможностей для сотрудников см. в разделе Чат. Рабочее место.

Установка


Подготовка сервера СУБД

Если модуль чата устанавливается на сервер с выключенной СУБД, перед установкой создайте конфигурационный файл чата: 'usr/local/mgr5/etc/billmgr.conf.d/chat.conf'.
В файл необходимо записать строки:

Конфигурационный файл чата 'chat.conf'

ChatDbHost localhost 
ChatDbUser billchat
ChatDbPassword dbpassword
ChatDbName billchat
ChatDbConnectionLimit 100
XML

ChatDbHost — доменное имя или IP-адрес удалённого сервера базы данных.

ChatDbUser — имя пользователя для подключения к базе данных.

ChatDbPassword — пароль для подключения к базе данных.

ChatDbName — название базы данных

ChatDbConnectionLimit — максимальное количество одновременных подключений к базе данных.

Таким образом, модуль не будет требовать подключения к базе данных и установится без ошибок. 

Установка модуля "Онлайн-чат"

Для установки модуля перейдите на страницу Интеграция Модули Онлайн-чат и нажмите кнопку Установить. Перед установкой на сервере с BILLmanager должен быть открыт порт 3002.

Настройка


Сразу после установки модуля открывается страница начальной настройки онлайн-чата.

Код чата

В этом поле отображается javascript-код для добавления чата на сайт. В код автоматически подставляется значение из поля "Домен чата". После начальной настройки код доступен на страницах настройки провайдера и самого модуля.

Доступ

В этом поле можно выбрать отделы и сотрудников, которым будет доступна работа с чатом, а также сайты, на которых можно размещать чат.

  • Доступные отделы. Отделы для работы с онлайн-чатом.
  • Сотрудники. Конкретные сотрудники выбранных отделов.
  • Разрешенные сайты. Список доменов в формате  example.com  и *. example.com , где можно разместить код чата. Для разделения используется пробел или новая строка.

Домен чата

Домен используется для подключения чата и должен вести на сервер с BILLmanager. Выберите одно из предложенных имен или укажите значение “Другой домен”, чтобы вписать доменное имя вручную.

Обратите внимание!

Клиентская часть чата работает только на доменном имени, прописанном в настройках провайдера в поле "URL сайта".

SSL-сертификаты

Онлайн-чат работает по протоколу HTTPS, поэтому к нему необходимо подключить SSL-сертификат. Для тестирования чата выставлены самоподписанные сертификаты, поэтому чат будет работать только на встроенном сайте витрины. Для корректной работы на указанном домене необходимы реальные сертификаты. Вы можете подключить бесплатный сертификат от Let’s Encrypt.

Обратите внимание!

При сохранении цепочки сертификата на серверах с CentOS возможны проблемы с авторизацией сотрудника в чате. Для решения проблемы удалите цепочку сертификата или обновите (установите) Node.js с официального сайта, либо из репозитория. Версию Node.js можно сохранить.

Вставка чата на сайт и в BILLmanager


Добавьте в тело сайта (<body> </body>) два скрипта из поля “Код чата”.

Код доступен: 

  • на странице провайдера: Провайдер Провайдеры → кнопка Изменить → вкладка Настройка чата;

  • на странице настройки модуля: Интеграция → Модули  Онлайн-чат → кнопка Настроить → вкладка Код чата.

Для добавления онлайн-чата в пользовательский интерфейс BILLmanager перейдите к настройкам бренда и вставьте код чата в поле Тело, раздел HTML-вставка.

Код онлайн-чата

<script type="text/javascript" src="https://BILLURL:3002/js/index.js"></script>
 
<script type="text/javascript">
   if (window.billChat)  {
       billChat.init({
           project: PROJECT_ID,
           lang: 'ru',
           backgroundColor: '#99c21c',
           borderColor: '#CCC',
           baseUrl: 'https://BILLURL:3002/'
       });
   }
</script>
JS

Условные обозначения:

BILLURL — доменное имя или IP-адрес сервера, на котором установлен BILLmanager. 

PROJECT_ID — id проекта (провайдера) в биллинге (Для версии "BILLmanager" всегда 1).

Свойства:

lang — язык клиентской части, ru или en.

backgroundColor — цвет фона клиентской части.

borderColor — цвет границы клиентской части.

Дополнительная информация


Файл конфигурации чата

Полный путь к файлу конфигурации чата — '/usr/local/mgr5/etc/billmgr.conf.d/chat.conf'. Содержит следующие строки:

Файл конфигурации чата 'chat.conf'

ChatDbHost localhost 
ChatDbUser billchat
ChatDbPassword dbpassword
ChatDbName billchat
ChatDbConnectionLimit 100
path ChatSslKey ../sslcert/chat.key
path ChatSslCert ../sslcert/chat.crt
ChatSecret aqSL2VNvZM
ChatPort 3002
ChatUrl https://domain.com:3002
ChatEmployeeName chatemployee
ChatEmployeePassword k9lxkHeMs2
ChatTTLSession 2592000
XML

ChatDbHost — доменное имя или IP-адрес сервера базы данных.

ChatDbUser — имя пользователя для подключения к базе данных.

ChatDbPassword — пароль для подключения к базе данных.

ChatDbName — название базы данных.

ChatDbConnectionLimit — максимальное количество одновременных подключений к базе данных.

PathChatSslKey — путь до файла ключа SSL-сертификата, только относительный путь.

PathChatSslCert — путь до файла SSL-сертификата, только относительный путь.

ChatPort — номер порта, который слушает сервер чата.

ChatUrl - доменное имя или IP-адрес сервера чата.

ChatEmployeeName — учетная запись сотрудника, под которым сервер чата синхронизирует историю чата с биллингом и создает входящие сообщения от клиента.

ChatEmployeePassword — пароль учетной записи сотрудника.

ChatTTLSession — время жизни файлов сессий в секундах. 

Отображение актуального статуса сотрудников в чате

Чтобы в чате отображался актуальный статус сотрудников, добавьте для нужных провайдеров в секцию project конфигурационного файла /opt/billchat/bill.config.js параметр statusMode со значением 2.

Пример секции project

   "project" : {
      "1" : {
         "billUrl" : "https://www.example.com/billmgr",
         "country" : "182",
         "defaultDepartments" : [ 2, 3 ],
         "departments" : [ 2, 3 ],
         "name" : "Provider1",
         "siteUrl" : [ "" ],
         "state" : "",
		 "statusMode" : 2
      },
      "2" : {
         "billUrl" : "https://www.example2.com/billmgr",
         "country" : "182",
         "defaultDepartments" : [ 2, 3 ],
         "departments" : [ 2, 3 ],
         "name" : "Provider2",
         "siteUrl" : [ "" ],
         "state" : "",
		 "statusMode" : 2
      }
CODE


После внесения каких-либо изменений, необходимо перезапустить BILLmanager:

/usr/local/mgr5/sbin/mgrctl -m billmgr exit
XML

Перезапуск сервера чата

systemctl restart billchat.service
XML

Для просмотра лога в реальном времени используется флаг -f:

journalctl -u billchat
journalctl -u billchat -f
XML