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

Онлайн-чат обменивается информацией с 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.
    Свойства:
    • 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