AgentVoice

AgentVoice est une classe Javascript qui permet à un développeur d'intégrer facilement le pilotage des appels Kiamo depuis une application tierce : Site web, Application métier, CRM, …
Cette classe est conçue pour être instanciée une seule fois et permet ensuite l'accès à l’ensemble des fonctions, des propriétés et événements d’un agent et de ses interactions.

La classe AgentVoice intègre nativement la gestion de LoadBalancing de kiamo, les connexions aux frontaux et le rafraîchissement. Aucune composante applicative ou réseau supplémentaire n'est nécessaire pour son fonctionnement. L’exploitation de l’instance AgentVoice s’effectue à travers 5 sous-objets :

  • .agent : Le sous-objet agent permet d’accès aux fonctions, évènements et propriétés de l’agent connecté comme son identifiant, son nom et sa langue.
  • .call : Le sous-objet call permet de passer un appel mais aussi de gérer toutes les fonctions, évènements et propriétés d’un appel en cours émis ou reçu.
  • .smartMedia : Le sous-objet smartMedia permet d’accéder aux fonctions et aux évènements de la tâche perso en cours.
  • .indicators : Le sous-objet indicators offre la possibilité de rafraîchir et d’accéder aux indicateurs statistiques de l’agent.
  • .directory: Les sous-objets directory permettent de rafraichir et récupérer la liste des agents de l'annuaire, mais aussi la liste des équipes et groupes à laquelle l'agent a accès.
  • .allowed : Le sous-objet allowed vous donne un accès à tout instant aux fonctionnalités et actions disponibles pour un agent selon son état de travail ce qui vous permet de personnaliser votre interface utilisateur.

Exemples d’utilisation

Pour utiliser AgentVoice, il suffit de l'instancier et d'appeler ensuite ses méthodes et ses fonctions. Par exemple :

const console = new Agentvoice(KIAMO_URL);
// Connecter un agent : 
console.agent.login(login, extension, "password", password);
// Passer l'agent connecté en état "Prêt" : 
console.agent.setReadyState();
// Effectuer un appel : 
console.call.dial(calledNumber);
// Représenter (PostPone) un SmartMedia en cours : 
console.smartMedia.postpone();
// Mettre à jour les indicateurs statistiques de l’agent : 
console.indicators.refresh();
// Connaître si l’agent peut transférer un appel : 
console.allowed.call.consult.trafer

Principe de fonctionnement évènementiel

AgentVoice est une classe Javascript destinée à créer des applications pilotées par Kiamo. Les applications à développer doivent donc écouter les événements de la classe AgentVoice et mettre en place des actions en réponse à ces événements.

Prenons cet exemple simple de la classe AgentVoice pour connecter un agent à Kiamo et afficher son nom. Cet exemple résume le mode de fonctionnement de cette classe :


<html>
<body>
<!-- ... -->
<!-- Votre code html -->
<!-- ... -->
<script type="application/javascript" src="https://KIAMO_URL/sdk/agentvoice/agent_voice.js"></script>
<script type="application/javascript">
    const agentVoice = new AgentVoice('https://KIAMO_URL');
    agentVoice.onReady(() => {
        agentVoice.agent.onLogin(() => {
            console.log('Hello ' + agentVoice.agent.getName());
        });

        agentVoice.agent.onError((data) => {
            console.log('Agent error: ' + data);
        });

        agentVoice.agent.login('agent@example.com', '0102030405', 'password', 'myPassword');
    });
</script>
</body>
</html>

Explication étape par étape

  1. Nous commençons par insérer le script agent_voice.js disponible dans votre version de Kiamo dans notre page.

<script type="application/javascript" src="https://KIAMO_URL/sdk/agentvoice/agent_voice.js"></script>
  1. Une fois le script inséré, nous avons instancié la classe AgentVoice en fournissant l'URL du serveur Kiamo comme paramètre.
const agentVoice = new AgentVoice('https://KIAMO_URL');
  1. Nous avons ensuite mis en place une fonction (callback) à exécuter sur l'évènement onLogin() pour être averti lorsque l'agent est connecté à Kiamo.
    La fonction mise en place utilise un des getters disponible getName() pour accéder au nom de l’agent :
agentVoice.agent.onLogin(() => {
    console.log('Hello ' + agentVoice.agent.getName());
});
  1. Enfin, nous avons connecté l’agent :
agentVoice.agent.login('agent@example.com', '0102030405', 'password', 'myPassword');

Conclusion

En résumé, l'utilisation de la classe AgentVoice nécessite les étapes suivantes :

  1. Importer la bibliothèque
  2. Initialiser la classe AgentVoice
  3. Écouter les événements pour effectuer les actions à travers les fonctions et accéder aux différentes données à travers les getters.