The Live chat is an additional module for BILLmanager. It is basically a dialog chat with the provider's staff (operators). The Live chat can be placed on the provider's website or inside the control panel interface.

On the provider's side, a live chat is the special work place allowing to get in touch with clients. 

The Live chat is integrated with BILLmanager. The synchronization process between the live chat and BILLmanager starts with the start of the live chat and repeats every 15 minutes after it.

  • The chat history is available from the billing system interface.
  • A provider can use the same BILLmanager account to work in the live chat.
  • An operator can get detailed client information directly from the chat interface.
  • An operator is able to create a ticket and redirect it to any department directly from the chat interface.

Installation


Configure the database management system

If you install the module on the server with a disabled database management system, create the configuration file: 'usr/local/mgr5/etc/billmgr.conf.d/chat.conf'.
Add the following strings to the file:

'chat.conf' chat configuration file

ChatDbHost localhost 
ChatDbUser billchat
ChatDbPassword dbpassword
ChatDbName billchat
ChatDbConnectionLimit 100
XML

ChatDbHost — the domain name or remote server database IP-address.

ChatDbUser — the username to connect to the database.

ChatDbPassword — the password to connect to the database.

ChatDbName — the database name.

ChatDbConnectionLimit — the maximum number of connects to the database.

This way the module will not require a connection to the database and will be installed without any errors. 

Install the Live chat module

Navigate to Integration →  Modules → Live chat → Install. For correct operation of the Live open port 3002 on the server where BILLmanager is installed. 

Configuration


The initial configuration page will be opened after the live chat installation.

Chat code

In this section, the javascript code for integration between chat and website is displayed. The Domain chat value will be automatically added to this code.

If the initial configuration has been performed, you can add the live chat to your website. This code is located on the provider's edit page — ProviderProvidersEdit button → Chat settings section, or on the module configuration page IntegrationModulesSettings button opposite to "Live chat" module → Chat code section.

Access details

  • Available departments — the list of all departments for which the chat is available. In the chat edit interface, you can assign the live chat to any specific department. 
  • Staff members — it specifies staff from the selected departments. 
  • Approved sites — the list of domain names  (separated by spaces) allowed to access your live chat server. 

Chat domain

A domain is used for connection with the chat and should lead to the BILLmanager server. Select "Another domain" to enter the domain name manually.

Note:

The client area can run only on the domain name specified in the "Site URL" field on the Provider configuration form.

SSL certificates

Since the online chat is running over HTTPS, you need to add SSL certificates.

We use self-signed certificates for tests, that's why the chat can be used only on the shop-window. For the correct operation on the selected domain, you need to have a commercial SSL certificate. For example, you can install a free Let’s Encrypt.

Note:

Saving a certificate chain on CentOS servers may cause issues with authenticating staff members in the live chat.

To resolve the issue, delete the certificate chain or update (install) nodejs from the official web-site or from the repository. You don't need to upgrade the nodejs version.

Add live chat to your website 


Add two scripts to the page code (<body> </body>). 

To find the code navigate to: 

  • Provider Providers  Edit → Chat settings;

  • Integration → Modules  Live chat → Settings Chat code.

Live chat code

<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 — the URL or IP address of the server where BILLmanager is installed.

PROJECT_ID — the project (provider) id in the billing panel (for the standard "BILLmanager" version it is always 1).

Values:

lang — client's interface language, e.g. en.

backgroundColor — background color of client's interface.

borderColor — border color of the client's interface.

The live chat can be integrated directly in BILLmanager. To do so, go to the brand configuration page and add the chat code to the field "Body" in the "HTML" section. 

Additional information


Chat configuration file 

The configuration file is located in '/usr/local/mgr5/etc/billmgr.conf.d/chat.conf'. It contains the following strings:

Chat configuration file '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
XML

ChatDbHost — the domain name or IP address of the database server.

ChatDbUser — the username to connect to the database.

ChatDbPassword — the password to connect to the database.

ChatDbName — the database name.

ChatDbConnectionLimit — the maximum number of connects to the database.

PathChatSslKey — the relative paths to files of SSL certificates key.

PathChatSslCert — the relative paths to files of SSL certificates.

ChatPort — the chat port number.

ChatUrl — the domain name or IP address of the chat server.

ChatEmployeeName — staff member account which synchronizes the live chat history with the billing panel and adds incoming messages from the client.

ChatEmployeePassword — the password of the staff member account.

Displaying the current status of employees in the chat

To display the current status of employees in the chat, add the statusMode parameter with the value 2 to the project section of the /opt/billchat/bill.config.js configuration file for the required providers.

Example of 'project' section

   "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


Restart BILLmanager to apply the changes:

Restart BILLmanager

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

Restart the chat server:

systemctl restart billchat.service
XML

To view real-time logs, use the -f flag:

journalctl -u billchat
journalctl -u billchat -f
XML