Cierre de sesión automático de los agentes cuando cierran su CCP con el CCPv1 de Amazon Connect - Amazon Connect

Cierre de sesión automático de los agentes cuando cierran su CCP con el CCPv1 de Amazon Connect

importante

Este tema solo se aplica a los clientes que utilizan CCPv1. La URL de CCPv1 termina en /ccp#.

Cuando se utiliza el CCPv1 de Amazon Connect predeterminado, al cerrar la ventana del CCP o al cerrar la sesión no cambia automáticamente el estado de un agente de Disponible a Sin conexión. 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:

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:

  1. Utilice connect.agent() para suscribirse a eventos del agente y recuperar objetos del agente.

    let mAgent; connect.agent(function(agent) { mAgent = agent; });
  2. 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.