CCPv1: 에이전트가 CCP를 닫을 때 자동으로 로그아웃 - Amazon Connect

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CCPv1: 에이전트가 CCP를 닫을 때 자동으로 로그아웃

중요

이 주제는 CCPv1을 사용하는 고객에게만 적용됩니다. CCPv1의 URL은 /ccp#으로 끝납니다.

기본 Amazon Connect CCPv1을 사용하는 경우 CCP 창을 닫거나 로그아웃해도 에이전트의 상태가 자동으로 사용 가능에서 오프라인으로 변경되지 않습니다. 에이전트가 수동으로 상태를 오프라인으로 변경한 다음 로그아웃해야 합니다.

이 동작을 변경하려면 다음 중 하나를 수행할 수 있습니다.

  • CCPv2를 사용합니다. 에이전트가 로그아웃하면 해당 상태는 자동으로 오프라인 상태가 됩니다. 그러나 CCPv2는 에이전트가 창을 닫기만 하면 자동으로 오프라인으로 전환되지 않는다는 점에 유의하세요. CCPv2로 업그레이드하는 방법에 대한 지침은 CCP URL이 /ccp#으로 끝나는 경우 단원을 참조하세요.

  • CreateAgentStatusAPI 사용: 에이전트의 상태를 오프라인으로 변경할 수 있습니다.

  • 사용자 지정 CCP를 생성합니다. Amazon Connect 스트림 API에이전트 API를 참조하세요.

  • 이 주제의 다음 단계에 따라 에이전트를 오프라인으로 전환하고 에이전트가 CCP 창을 닫을 때 자동으로 로그아웃되도록 CCP를 업데이트하세요.

1단계: Streams API 설정

자세한 지침은 Amazon Connect Streams 설명서를 참조하세요.'

2단계: 에이전트 상태를 변경하도록 애플리케이션 코드 업데이트

다음 Streams API 호출을 웹 애플리케이션에 통합합니다.

  1. connect.agent()를 사용하여 에이전트 이벤트를 구독하고 에이전트 객체를 검색합니다.

    let mAgent; connect.agent(function(agent) { mAgent = agent; });
  2. onbeforeunload 이벤트 핸들러에서 agent.setState()를 호출하여 에이전트 상태를 변경합니다. beforeunload 함수를 실행하면 에이전트가 오프라인으로 표시됩니다.

    beforeunload 후크를 사용하는 것이 가장 좋은 방법이지만 일관되게 작동하지 않는다는 점에 유의하세요.

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

3단계: 오류를 고려한 설계

API 호출이 처음에 실행되지 않고 고객 응대가 흐름의 오류 분기로 이동하는 경우 에이전트의 상태가 예상대로 변경되지 않을 가능성이 있습니다. 이 가능성을 고려한 로직을 포함해야 합니다. 예를 들어 API 호출이 다시 시도되는 동안 페이지 언로드를 지연시킬 수 있습니다. 또는 페이지가 언로드되기 전에 모달 대화 상자에서 “호출 실패” 경고 메시지를 표시할 수 있습니다.