Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • The jtel Chat Module
  • The installation can either be done in parallel with an already existing web server or load balancer - with a corresponding RAM extension of about 4 GB per server - on a separate server

General Chat Connector Configuration

Chat Connector Configuration 

Creating a new Chat Connector

Logged in to the web interface as a Client Administrator, navigate to "menu → chat → chat connectors" and press "new". The following page will be displayed, where the assigned Client ID is shown and the name, as well as the title of the connector, is defined.

Explanation of the settings:
Client IDID of the client in which the connector is created
NameName of the connector
TitleTitle of the connector

After clicking "Save", enter the configuration page by clicking "Edit" on the connector.

Explanation of the settings
Page "Master Data" below "Distribution":
ACD Group :The ACD-Group inside which the events are distributed
Max Chats Per Agent :The maximum amount of simultaneous chat events that can be handled by the connector 
Priority :The priority of incoming chat events. Used primarily when more than one connector is attached to the same ACD-Group
Maximum connect wait time (s) :The amount of time an agent has until the event must have been opened by pressing on the event indicator. If the configured value is exceeded, the event will be distributed to a different agent instead
Maximum agent answer time (s) :The maximum amount of time until the agent has to have replied to the customer. If the configured value is exceeded, the event will be closed for the agent and distributed to a different agent instead
Maximum free agent search time (s) :The maximum amount of time the system will search for an available agent. If the configured value is exceeded the event will be closed and the customer will be informed
Skill 1 :The first skill which can be attached to incoming events.
Minimum Skill 1 :The minimum value of skill 1 required by an agent to have the event distributed to him
Ignore skill 1 after timeout (s) :The amount of time that will pass until skill 1 is ignored and not considered in event distribution
Skill 2 :The second skill which can be attached to incoming events.
Minimum Skill 2 :The minimum value of skill 2 required by an agent to have the event distributed to him
Ignore skill 2 after timeout (s) :The amount of time that will pass until skill 2 is ignored and not considered in event distribution
Skill 3 :The third skill which can be attached to incoming events.
Minimum Skill 3 :The minimum value of skill 3 required by an agent to have the event distributed to him
Ignore skill 3 after timeout (s) :The amount of time that will pass until skill 3 is ignored and not considered in event distribution
Ignore Skills after timeout (s) :The amount of time that will pass until all configured skills are ignored and not considered in event distribution
Ignore skills if no agents with skills available :If checked, skill distribution will be inactive when no agents with skills are available in the ACD-Group
Page "Code":
Configuration
Example Configuration:

{
"noAgents":"Sorry, currently there are no agents available. Please try again later.",
"noAgents#de":"Es tut uns leid, aber derzeit sind keine Agenten verfügbar. Bitte probieren Sie etwas später nochmal.",
"outOfService":"Sorry, but currently we are closed. Please try again during office hours.",
"outOfService#de":"Es tut uns leid, derzeit sind wir geschlossen. Bitte probieren Sie es während unsere Öffnungszeiten wieder.",
"agentTyping":"Agent $agent is typing...",
"agentTyping#de":"Agent $agent schreibt ...",
"bye":"Thank you for using our service. Goodbye.",
"bye#de":"Danke, dass Sie unseren Service genutzt haben. Auf Wiedersehen.",
"byeNoAgent": "Sorry, currently there are no agents available. Please try again later.",
"byeNoAgent#de":"Es tut uns leid, aber derzeit sind keine Agenten verfügbar. Bitte probieren Sie etwas später nochmal.",
"welcomeMessage":"Welcome!",
"welcomeMessage#de":"Herzlich willkommen!.",
"editorPlaceholder":"Enter your message here.",
"editorPlaceholder#de":"Geben Sie Ihre Nachricht hier ein."
}

Explanation:
noAgentsWhen no agent is available, the configured message is sent to the customer
outOfServiceWhen a customer sends a message outside business hours, the configured message is sent to the customer
agentTypingWhen the agent enters a response to the customer, the configured message is sent to the customer.
byeWhen the chat event is closed,  
byeNoAgentWhen no agent is available, 
welcomeMessageAfter a customer has sent a message and opened a new event, 
editorPlaceholder

This message is displayed to the customer after the window for chat is opened at the external website. 

Note
iconfalse
titleWhatsApp

This message is not displayed to customers who use WhatsApp



Code
Example Configuration

<script src='https://websiteurl.de:3003/gui//chat.js'></script>
<script type="text/javascript">
   JTEL.initChat({ 
       Hash: 'ZkGgUcDkLPEY',
       BaseWSURI: 'wss://chatserverurl.de:3003',
       BaseResourceURI: 'https://storageserverurl:3003/gui', //optional
       pdata: {name:'John Doe', email:'john.doe@example.com', sender:'John Doe', receiver:'My Chat Connector', userdata:'123456', userdata2:'userdata2', userdata3:'userdata3'},
       udata: {anyfield1:'Any Field 1', anyfield2:'Any Field 2'} });
</script>

Explanation:

To access the jtel server, the code is embedded into the external website. The code is generated with the settings from the parameters in the jtel portal, as well as the settings from the page Master Data in the chat connector configuration.

Page "REST":

To be done

Parameters (as sysadmin)

For https / wss

...

The maximum number of parallel chats per agent must be configured. This value is set to 0 by default for all agents. The checkmark at "Ticket via Web Interface" has to be checked.

Additional configurations for WhatsApp

For WhatsApp to work, further configurations still need to be made.

Info
iconfalse
titleProvider

As mentioned in the introduction, setting up the WhatsApp business account or connecting to the provider (currently TynTec) is done directly with the provider.

Warning
iconfalse
titlehttps

The load balancer must be operated with https and a valid certificate.

Additional configuration in jtel-clientmessenger

The parameter DATADIR must be checked. This must point to either the /srv/jtel/shared/Data/Clients/ directory if it is hosted directly on the chat server, or /home/jtel/shared/Data/clients/ if the server has mooted the directory.

...

DATADIR="/home/jtel/shared/Data/clients/"

Additional configurations on the load balancer

Additional entries are required in the frontend area for the portal:

...

The following additional parameters are configured in the Chat Connector:

  • The checkmark Whatsapp is set.
  • The TynTec API Key is entered.
  • The phone number is entered in E.164 format.

Image Added

Additional parameters

The following system parameters must be checked in the portal:

Parameter

Value

Comment

ACD.Whatsapp.Server.Base.URL

https://jtel-portal:3003

The URL used by the agent-client to allow the agent to reply to messages. This must be resolved from all agent workstations to a valid URL via DNS and is directed to the chat server via the haproxy.
ACD.Whatsapp.Whatsapp.Urlhttps://jtel-portal:3003The URL used by the outside world (WhatsApp users) to download the attachments of the messages. This must be resolved from the Internet to a valid URL via DNS and is directed to the chat server via the haproxy.
ACD.Whatsapp.Tyntec.Urlhttps://api.tyntec.com/chat-api/v2/messagesThe URL of the TynTec API for WhatsApp.

Customize TynTec API endpoints

...

.

...

The following parameters are required, both callback URLs are adjusted according to the endpoint of the system.

Setting

Value

URLhttps://api.tyntec.com/chat-api/v2/applications/default
Request TypePATCH
Authorization

apikey

Value = the generated API Key from Tyntec

Additional Headers

Accept

application/problem+json

Additional Headers

Content-Type

application/json

Body{
"webhooks": [
{
"events": [
"MoMessage"
],
"callbackUrl": "https://jtel-portal/incoming"
},
{
"events": [
"MessageStatus::accepted",
"MessageStatus::delivered",
"MessageStatus::seen",
"MessageStatus::failed",
"MessageStatus::channelFailed",
"MessageStatus::deleted",
"WhatsAppGroupEvent::userJoined","WhatsAppGroupEvent::userLeft",
"WhatsAppGroupEvent::subjectChanged",
"WhatsAppGroupEvent::descriptionChanged"
],
"callbackUrl": "https://jtel-portal/delivery"
}
]
}

Chat Connector Configuration

The

...

  • The checkmark Whatsapp is set.
  • The TynTec API Key is entered.
  • The phone number is entered in E.164 format.

...

additional configuration on the server side is described here: Role CHAT


Chat Connector

  • Example configuration

...