Voice Management Guide

The Voice Management user guide

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Integration of the VM into a homemade CRM.

Here are the methods that can be used for integrating the VM into a CRM

1 - SSO

1.1 Operator Connection

  • Upon user login, a token must be retrieved using the method:
				
					curl -X POST -u "<login>:<pass>" -H "Content-Type: application/
json" -d '{"id_agent":<id_agent>}' https://api.axialys.com/vm/token
				
			

or formerly

				
					curl -X POST -u “<login>:<pass>” -H “Content-Type: application/json” -d ‘{“ip”:”<ip>”,”id_agent”:<id_agent>}’ https://api.axialys.com/vm/token
				
			
  • possibility to use the operator’s email:
				
					curl -X POST -u "<login>:<pass>" -H "Content-Type: application/json" -d '
{"email":<email>, "user_type":"agent"}' https://api.axialys.com/vm/token
				
			

You have the option to add the keep variable to try to maintain the same token all the time:

				
					curl -X POST -u "<login>:<pass>" -H "Content-Type: application/json" -d '{"ip":"<ip>",
"id_agent":<id_agent>, "keep":1}' https://api.axialys.com/vm/token
				
			

Then you need to call the popin in an iframe with the URL:

				
					https://voice-management.axialys.com/operateurs/index.htm?token_session=<token>
				
			

1.2 Logout

Upon user logout, the token must be invalidated using the method:

				
					curl -X DELETE -u "<login>:<pass>" -H "Content-Type: application/json" -d '{"ip":"<ip>","id_agent":<id_agent>}' https://api.axialys.com/vm/token/<token>
				
			

1.3 Supervision Login Upon user login, a token must be retrieved using the method:

				
					curl -X POST -u “<login>:<pass>” -H “Content-Type: application/json” -d ‘{“ip”:”<ip>”,”id_admin”:<id_admin>}’ https://api.axialys.com/vm/token
				
			
  • possibility to use the supervisor’s email:
				
					curl -X POST -u “<login>:<pass>” -H “Content-Type: application/json” -d ‘{“ip”:”<ip>”,”email”:<email>, “user_type”:”admin”}’ https://api.axialys.com/vm/token
				
			

Then the page must be called via:

				
					https://voice-management.axialys.com/superviseur/index.htm?token_session=<token>
				
			

1.4 Logout

Upon user logout, the token must be invalidated using the method:

				
					curl -X DELETE -u “<login>:<pass>” -H “Content-Type: application/json” -d ‘{“ip”:”<ip>”,”id_agent”:<id_agent>}’ https://api.axialys.com/vm/token/<token>
				
			

2 - Click-to-call

Just by clicking on the phone number, you can call the URL of our banner by adding a variable fiche_num with the desired number, thus allowing a pre-registration of the phone number in the banner.

Example to display 33618220000, you need to call the URL:

				
					https://voice-management.axialys.com/operateurs/index.htm?fiche_num=33618220000&token_session=<token>
				
			

3 - opening a customer file in your CRM.

If your CRM (web-based) is not natively supported by our solution, you can still connect it to our platform and trigger the opening of a customer file based on the incoming call.

3.1 Operating Principle The principle is as follows:

  • You set up a URL in your system dedicated to opening customer files.
  • This URL is configured in our system.
  • During an incoming call, a new page opens towards this URL.
  • To which a number of variables are passed as parameters, allowing this page to display the relevant file.

3.2 Passed Parameters

The called page is likely to receive at least the following variables as parameters (query string):

Parameters Description
id_session
Token identifying the agent's connection to Voice Management
e164_in
called number, format E164. Ex: 33170200200
id_call
Unique identifier of the call on the platform.
caller_id_num
caller number, format E164. Ex: 33170200200
action
Equals 'in' for an incoming call
id_op
Operator ID
id_group
Group ID
wait
Waiting duration

Other parameters may be passed, following certain actions in the IVR (Interactive Voice Response), such as an order number.

4 - New VoiceManagement API

You can interact with the operator’s UI if it is integrated via an iframe, by including a JS on your site, which will handle communication with the iframe and cross-domain issues. You then have a ‘crm’ object to which you can register callback functions that will be called in the event of an action accompanied by a number of associated parameters. As well as action methods like pre-filling the phone number field.

The iframe must be called with the following 2 parameters:

  • engine: standard
  • version: 1

The JS to include is the following: cnx.js

An example implementation is provided below: index.htm

4.1 Authentication

Request the popup to connect using the provided token

				
					crm.login(<id_token>)
				
			

Request the popup to connect using the provided login/password.

				
					crm.login_credential(<login>, <password>)
				
			

Hide the logout button.

				
					crm.hide_logout()
				
			

Set up a callback function that will be called to indicate that the token is no longer valid

				
					crm.set_auth_invalid()
				
			

4.2 Notifications

Allows you to define a callback function that will be recalled with an associative array containing all available variables (id_session, e164_in, id_call, caller_id_num, id_op, id_groupe, wait (waiting time))

				
					crm.set_notif_in(<fct>)
				
			

Define a callback function that will be recalled with an associative array containing all available variables (id_session, e164_out, id_call, caller_id_num, id_op, id_groupe).

				
					crm.set_notif_out(<fct>)
				
			

Configure a callback function that will be called with each change in the operator’s status.

				
					crm.set_notif_status()
				
			

Set up a callback function that will be called at the end of a call.

				
					crm.set_notif_endCall()
				
			

Set up a callback function that will be called at the end of a call.

				
					crm.set_notif_missedCall()
				
			

4.3 Other Interactions

Pre-fill the number to initiate a click-to-call; “ticket_id” reference used exclusively for Zendesk (links a ticket and a call).”

				
					crm.call(<phone>, <ticket_id>)
				
			

4.4 OmniChannel

To be able to go online/break/disconnect with a CRM, three methods are available in the set_omnichannel object.

 

 

				
					crm.set_omnichannel({
subscribe: <subscribe_fst>,
unsubscribe: <unsubscribe_fst>,
publish: <publish_fst>
}) ;
				
			

Registering a callback to subscribe. The callback must provide what is needed to handle the events

				
					crm.subscribe(<fct>)
				
			

Unsubscribing

				
					crm.unsubscribe()
				
			

Sending messages in JSON format

				
					crm.publish({
status: “online|busy|
})