Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Cierre la sesión de los agentes automáticamente cuando cierren su CCP mediante Amazon Connect CCPv1
importante
Este tema solo se aplica a los clientes que utilizan CCPv1. La URL CCPv1 termina en /ccp #.
Al usar Amazon Connect predeterminado CCPv1, cerrar la ventana de CCP o cerrar sesión no cambia automáticamente el estado del agente de Disponible a Desconectado. Un agente debe cambiar su estado manualmente a Sin conexión y, a continuación, cerrar la sesión.
Para cambiar este comportamiento, puede elegir una de las siguientes opciones:
-
Uso CCPv2. Cuando los agentes cierran sesión, su estado pasa automáticamente a Sin conexión. Sin embargo, tenga en cuenta que los agentes CCPv2 no pasan automáticamente a estar fuera de línea si solo cierran la ventana. Para obtener instrucciones sobre cómo actualizar a CCPv2, consulteActualización de su panel de control de contacto (CCP) cuando su URL del CCP termina en /ccp#.
-
Utilice la CreateAgentStatusAPI: puede cambiar el estado del agente a Desconectado.
-
Cree una CCP personalizada. Consulte API de Amazon Connect Streams
y API de agente -
Realice los pasos de este tema para actualizar el CCP de modo que cambie a los agentes a Sin conexión y cierre automáticamente la sesión de los agentes cuando cierren la ventana del CCP.
Paso 1: Configurar la API de Streams
Para obtener instrucciones, consulte la Documentación de Amazon Connect Streams
Paso 2: Actualizar el código de la aplicación para cambiar el estado del agente
Integre las siguientes llamadas a la API de Streams en su aplicación web:
-
Utilice connect.agent()
para suscribirse a eventos del agente y recuperar objetos del agente. let mAgent; connect.agent(function(agent) { mAgent = agent; });
-
Llame a agent.setState()
en el controlador de eventos onbeforeunload para cambiar el estado del agente. El agente se marca como Sin conexión después de ejecutar la función beforeunload
.Utilizar el enlace
beforeunload
es la mejor opción, pero tenga en cuenta que no funciona de forma coherente.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"); } }); } });
Paso 3: Diseñar teniendo en cuenta los errores
Si una llamada a la API no se ejecuta la primera vez y un contacto toma la rama de error de su flujo, existe la posibilidad de que el estado de un agente no cambie como se esperaba. Asegúrese de incluir lógica para dar cuenta de esta posibilidad. Por ejemplo, podría retrasar la descarga de la página mientras se intenta de nuevo la llamada a la API. Otra posibilidad es mostrar un mensaje de advertencia "Call failed" (La llamada no se realizó correctamente) en un cuadro de diálogo modal antes de descargar la página.