Amazon Connect CCP 창을 닫을 때 에이전트를 자동으로 오프라인 상태로 설정하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2019년 11월 21일

Amazon Connect 콜 센터의 에이전트가 CCP(Contact Control Panel) 창을 닫으면 에이전트 상태를 오프라인으로 자동 설정하려고 합니다. 어떻게 해야 합니까?

간략한 설명

기본 Amazon Connect CCP를 사용할 때 이를 닫아도 에이전트 상태가 사용 가능에서 오프라인으로 바뀌지 않습니다. 에이전트는 상태를 수동으로 변경해야 합니다.

CCP가 닫힐 때 에이전트의 상태가 자동으로 변경되도록 하려면 사용자 지정 CCP를 생성해야 합니다.

해결 방법

Amazon Connect Streams API에이전트 API를 사용하여 콜 센터의 사용자 지정 CCP를 생성합니다. 사용자 지정 CCP 설정 예제는 Amazon Connect를 사용하여 외부 화면 팝업 수행을 참조하십시오.

참고: 이 지침은 기본 예제와 리소스만 제공합니다. Streams API를 구현하고 자체 사용 사례 및 콜 센터 요구 사항에 맞게 JavaScript 클라이언트 코드를 개발하는 방법을 결정해야 합니다.

Streams API 설정

지침은 Amazon Connect Streams 설명서를 참조하십시오.

애플리케이션 코드 업데이트

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

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

let mAgent;

connect.agent(function(agent) {
  mAgent = agent;
});

2.    onbeforeunload 이벤트 핸들러에서 agent.setState()를 호출하여 에이전트 상태를 변경합니다.

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

오류 설계

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