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

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

간략한 설명

기본 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" 경고 메시지를 표시할 수 있습니다.