CCPv1 : déconnecter automatiquement des agents lorsqu'ils ferment leur CCP - Amazon Connect

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

CCPv1 : déconnecter automatiquement des agents lorsqu'ils ferment leur CCP

Important

Cette rubrique s'applique uniquement aux clients qui utilisent CCPv1. L'URL du CCPv1 se termine par /ccp#.

Lorsque vous utilisez Amazon Connect CCPv1 par défaut, la fermeture de la fenêtre CCP ou la déconnexion ne change pas automatiquement le statut d'un agent de Disponible en Hors ligne. Un agent doit changer son statut manuellement en Hors ligne, puis se déconnecter.

Pour modifier ce comportement, vous pouvez procéder de l'une des manières suivantes :

  • Utilisez CCPv2. Lorsque les agents se déconnectent, leur statut passe automatiquement à Hors ligne. Notez toutefois que CCPv2 ne bascule pas automatiquement les agents en mode Hors ligne s'ils ferment uniquement la fenêtre. Pour obtenir des instructions sur la mise à niveau vers CCPv2, consultez Mon URL CCP se termine par /ccp#.

  • Utilisez l'API CreateAgentStatus : vous pouvez changer l'état de l'agent en mode hors ligne.

  • Créer un CCP personnalisé. Voir l'API Amazon Connect Streams et l'API Agent

  • Suivez les étapes suivantes de cette rubrique pour mettre à jour le CCP afin qu'il bascule automatiquement les agents vers Hors ligne et déconnecte automatiquement les agents lorsqu'ils ferment la fenêtre CCP.

Étape 1 : Configurer l'API Streams

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

Étape 2 : Mettre à jour le code d'application pour modifier l'état de l'agent

Intégrez les appels d'API Streams 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. L'agent est marqué Hors ligne après l'exécution de la fonction beforeunload.

    L'utilisation du hook beforeunload est la meilleure option, mais notez que cela ne fonctionne pas de manière cohérente.

    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"); } }); } });

Étape 3 : Concevoir pour les erreurs

Si un appel d'API ne s'exécute pas la première fois et qu'un contact prend la branche d'erreur du flux de contacts, il est possible que l'état d'un agent ne soit pas modifié comme prévu. Veillez à inclure une logique pour tenir compte de 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 faire apparaître un message d'avertissement « Échec de l'appel » dans une boîte de dialogue modale avant le déchargement de la page.