Intégration du VM dans un CRM

Voici les méthodes pouvant être utiliser pour l'intégration du VM dans un CRM.

1 SSO

1.1 Connexion opérateur

  • A la connexion de l'utilisateur, il faut récupérer un token via la méthode :
curl -X POST -u "<login>:<pass>" -H "Content-Type: application/json" -d '{"ip":"<ip>","id_agent":<id_agent>}' https://api.axialys.com/vm/token
  • possibilité d'utiliser l'email de l'opérateur :
curl -X POST -u "<login>:<pass>" -H "Content-Type: application/json" -d '{"ip":"<ip>","email":<email>, "user_type":"agent"}' https://api.axialys.com/vm/token

Vous avez la possibilité d'ajouter la variable keep pour tenter de garder tout le temps le même token :

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
Seul le format json est supporté.
  • Puis il faut appeler le popin dans une iframe avec l'url :
https://voice-management.axialys.com/operateurs/index.htm?token_session=<token>

1.2 Connexion supervision

  • A la connexion de l'utilisateur, il faut récupérer un token via la méthode :
curl -X POST -u "<login>:<pass>" -H "Content-Type: application/json" -d '{"ip":"<ip>","id_admin":<id_admin>}' https://api.axialys.com/vm/token
  • possibilité d'utiliser l'email du superviseur :
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
Seul le format json est supporté.
  • Puis il faut appeler la page via:
https://voice-management.axialys.com/superviseur/index.htm?token_session=<token>

1.3 Déconnexion

A la déconnexion de l'utilisateur, il faut invalider le token via la méthode :

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

Il vous suffit au clic du numéro de téléphone, d'appeler l'url de notre bandeau en ajoutant une variable fiche_num avec le numéro souhaité permettant ainsi un pré-enregistrement du numéro de téléphone dans le bandeau.

Exemple pour afficher le 33618220000, il faut appeler l'url :

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

3 Remontée de fiche vers votre CRM

Si votre CRM (basé sur le web) n'est pas nativement supporté par notre solution, néanmoins vous pouvez tout à fait le connecter à notre plate-forme et déclencher l'ouverture d'une fiche client en fonction de l'appel entrant.

3.1 Principe de fonctionnement

Le principe est le suivant :

  • vous mettez en place une URL dans votre système qui sera dédiée à l'ouverture des fiches client
  • cette URL est configurée dans notre système
  • lors d'un appel entrant, une nouvelle page est ouverte vers cette URL
  • à laquelle on passe en paramètre un certain nombre de variables, permettant à cette page d'afficher la fiche pertinente

3.2 Paramètres passées

La page appelée est susceptible de recevoir au moins les variables suivantes en paramètre (query string) :

ParamètreDescription
id_sessionToken identifiant la connexion de l'agent au Voice Management
e164_inNuméro appelé, format E164. Ex: 33170200200
id_callIdentifiant unique de l'appel sur la plate-forme
caller_id_numNuméro d'appelant, format E164. Ex: 33635438729
actionVaut in pour un appel entrant
id_opid de l'opérateur
id_groupid du groupe
waittemps d'attente

D'autres paramètres sont susceptibles d'être passés, suite à certaines actions éventuelles dans le SVI (numéro de commande par exemple).

4 Nouvelle API VoiceManagement

Vous pouvez interagir avec l'UI de l'opérateur avec l'objet “crm” qui dispose de plusieurs interfaces.

Informations diverses Vous devez nous fournir un JS intégrant les méthodes ci-dessous. La page sera intégrée de préférence via une iframe et sera appelée avec les paramètres dans l'URL :

  • engine (identifiant de votre JS)
  • version (votre numéro de version)

4.1 Informations diverses

Moteur utilisé et fourni dans l'URL lors de l'appel de notre page, variable “engine”

crm.getEngine()

Numéro de version fourni dans l'URL lors de l'appel de notre page, variable “version”

crm.getVersion()

4.2 Authentification

Demander à la popup de se connecter en utilisant le token fourni

crm.login(<id_token>)

Demander à la popup de se connecter en utilisant les logins/password fournis

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

Masquer le bouton de déconnection

crm.hide_logout()

Configurer une fonction de callback qui sera appelée pour indiquer que le token n'est plus valide

crm.set_auth_invalid()

4.3 Notifications

Permet de définir une fonction de callback qui sera rappelée avec un tableau associatif avec l'ensemble des variables disponibles (id_session, e164_in, id_call, caller_id_num, id_op, id_groupe, wait (temps d'attente))

crm.set_notif_in(<fct>)

Définir une fonction de callback qui sera rappelée avec un tableau associatif avec l'ensemble des variables disponibles (id_session, e164_out, id_call, caller_id_num, id_op, id_groupe)

crm.set_notif_out(<fct>)

Configurer une fonction de callback qui sera appelée à chaque modification de status de l'opérateur

crm.set_notif_status()

4.4 Autres interactions

Pré-renseigner le numéro pour effectuer un clic2call, “ticket_id” référence utilisé uniquement pour zendesk (permet de relier un ticket et un appel)

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