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 las CCP suyas mediante Amazon Connect CCPv1
importante
Este tema solo se aplica a los clientes que utilizanCCPv1. El URL formulario CCPv1 termina en /ccp #.
Al usar Amazon Connect predeterminadoCCPv1, cerrar la CCP ventana o cerrar la 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:
-
UsoCCPv2. 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 aCCPv2, consulteActualice su panel de control de contactos (CCP) cuando CCP URL termine con /ccp #.
-
Utilice CreateAgentStatusAPI: Puede cambiar el estado del agente a Desconectado.
-
Crea una personalizadaCCP. Consulte Amazon Connect Streams API
y el agente API -
Siga los siguientes pasos de este tema para actualizar sus agentes a CCP modo desconectado y cerrar la sesión de los agentes automáticamente cuando cierren la CCP ventana.
Paso 1: Configura las transmisiones API
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 API llamadas 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; });
-
Llama al agente. 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 API llamada no se ejecuta la primera vez y un contacto toma la rama de error de tu flujo, existe la posibilidad de que el estado del agente no cambie como se esperaba. Asegúrese de incluir lógica para dar cuenta de esta posibilidad. Por ejemplo, puedes retrasar la descarga de la página mientras se vuelve a intentar la API llamada. 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.