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

최종 업데이트 날짜: 2021년 12월 13일

Amazon Connect 고객 센터의 에이전트가 고객 응대 제어판(CCP) 창을 닫으면 에이전트 상태를 오프라인으로 자동 변경하려고 합니다. 어떻게 설정해야 하나요?

간략한 설명

Amazon Connect Streams API에이전트 API를 사용하여 CCP를 고객 센터의 사용자 지정 애플리케이션에 통합합니다.

사용자 지정 CCP 설정의 예시는 Amazon Connect 팝업 화면에 발신자 연락처 속성을 표시하려면 어떻게 해야 합니까?를 참조하세요.

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

해결 방법

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

사용자 지정 웹 애플리케이션에서 Amazon Connect 인스턴스의 CCP 설정

지침은 GitHub의 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)’ 경고 메시지가 표시될 수 있습니다.