Comment définir le statut d'un agent sur Offline automatiquement lorsqu'il ferme la fenêtre du CCP d'Amazon Connect ?

Date de la dernière mise à jour : 21/11/2019

Lorsqu'un agent de mon centre de contact Amazon Connect ferme la fenêtre Panneau de configuration des contacts (CCP) je souhaite que son statut soit automatiquement défini sur Hors ligne . Comment procéder ?

Brève description

Lorsque vous utilisez le CCP d'Amazon Connect par défaut, sa fermeture ne modifie pas le statut d'un agent de Disponible à Hors ligne. Un agent doit modifier son statut manuellement.

Vous devez créer un CCP personnalisé pour que le statut d'un agent change automatiquement lorsque le CCP se ferme.

Résolution

Utilisez l'API Amazon Connect Streams et l'API Agent pour créer un CCP personnalisé pour votre centre de contact. Pour obtenir un exemple de configuration CCP personnalisée, consultez Créer une fenêtre contextuelle externe avec Amazon Connect.

Remarque : ces instructions ne fournissent que des exemples de base et des ressources. Vous devez déterminer comment implémenter Streams API et développer le code client JavaScript pour votre propre cas d'utilisation et les exigences du centre de contact.

Configurer Streams API

Pour obtenir des instructions, consultez la documentation Amazon Connect Streams.

Mettre à jour votre code d'application

Intégrez les appels Streams API suivants dans votre application web :

1.    Utilisez connect.agent() pour vous abonner aux événements de l'agent et récupérer les objets de l'agent.

let mAgent;

connect.agent(function(agent) {
  mAgent = agent;
});

2.    Appelez agent.setState() dans le gestionnaire d'événements onbeforeunload pour modifier l'état de l'agent.

window.addEventListener("beforeunload", function(event) {
  if (mAgent != null) {
    let states = mAgent.getAgentStates();
    // "states" is an array of changeable states. You can filter the desired state to change by name.
    let offlineState = states.filter(state => state.name === "Offline")[0];

    // Change agent state
    mAgent.setState(offlineState, {
      success: function() {
        console.log("SetState succeeded");
      },
      failure: function() {
        console.log("SetState failed");
      }
    });
  }
});

Concevoir pour les erreurs

Si un appel d'API échoue à s'exécuter la première fois et qu'un contact prend la branche d'erreur de votre flux de contacts, il est probable que l'état d'un agent ne change pas comme prévu. Veillez à inclure la logique pour prendre en compte cette possibilité. Par exemple, vous pouvez retarder le déchargement de la page pendant que l'appel d'API est réessayé. Vous pouvez également afficher un message d'avertissement « Call failed » (Echec de l'appel) dans une boîte de dialogue modale contextuelle avant le déchargement de la page.