확장 지점을 사용하여 화면 팝업 사용자 지정

참고: 이 문서는 Salesforce용 Genesys Cloud에 적용됩니다.

확장점을 사용하여 Salesforce용 Genesys Cloud에서 화면 팝업 동작을 사용자 정의할 수 있습니다. 확장 지점은 Salesforce Apex 프로그래밍 언어를 사용합니다. 

참고: 이 고급 사용자 정의 문서는 Salesforce에 익숙한 개발자를 대상으로 합니다.

전제 조건

  • 확장 지점 설정 섹션이 포함된 관리 패키지 버전입니다. 자세한 내용은 확장 지점 구성.

Salesforce에서 다음을 구현하는 Apex 클래스가 있는 단일 Apex 파일을 만듭니다. purecloud.CTIExtension.ScreenPop 상호 작용. 통합에서 코드를 호출할 수 있도록 Apex 클래스를 전역으로 정의합니다.

purecloud.CTIExtension.ScreenPop 인터페이스

Genesys Cloud for Salesforce에서 화면 팝업 기능을 사용자 정의하기 위해 정의할 수 있는 메서드 서명이 포함되어 있습니다.

사용

메소드 서명을 사용하십시오. purecloud.CTIExtension.ScreenPop 스크린 팝 기능이 작동하는 방식을 정의하는 인터페이스.

onScreenPop 메서드

스크린 팝 로직을 구동하는 데 사용됩니다.

이 메서드는 인바운드 경고 상호 작용에 대해 호출됩니다. 온스크린팝 각 경고 상호 작용에 대해 각 에이전트에 대해 한 번만 호출됩니다. 이 메서드는 기본 화면 팝업 동작을 변경하는 데이터를 반환할 수 있습니다.

Apex 코드가 예외를 트리거하면 통합에서 기본 화면 팝업 동작을 수행합니다. 값이 반환되지 않으면 통합이 화면 팝업 동작을 억제합니다.

입력 속성

메서드에 전달되는 JSON 데이터에는 다음 속성이 포함됩니다.

이름 데이터 유형 설명 설명
검색값 문자열 검색 값. 예시 값: 이메일 주소(채팅 및 이메일 상호작용용), 전화번호(음성 및 SMS 상호작용용).
인터랙션 개체 상호 작용 데이터를 나타내는 데이터 개체입니다. 자세한 내용은 의 데이터 개체 형식을 참조하세요. 압축된 대화 정보.

출력 속성

중요한: 에서 반환된 JSON 데이터에서 다음 속성 중 하나만 사용하십시오. 온스크린팝 방법.
이름 데이터 유형 설명 설명
URL 문자열 Salesforce에 있는 페이지의 URL입니다.  표준 Salesforce 페이지, Visualforce 페이지 또는 Architect 흐름에서 미리 채워진 데이터가 있는 새 레코드 페이지일 수 있습니다.
검색값 문자열 Salesforce 레코드에서 검색된 값입니다. 

사례 번호, 전화 번호, 연락처 이름 또는 기타 항목이 될 수 있습니다. 

자세한 내용은 의 Softphone 레이아웃 설정 섹션을 참조하십시오. Salesforce용 Genesys Cloud의 화면 팝업.

기본화면팝 부울 기본 화면 팝업을 수행하거나(true) 기본 화면 팝업을 수행하지 않습니다(false).

자세한 내용은 기본 화면 팝업 동작 섹션을 참조하십시오. Salesforce용 Genesys Cloud의 화면 팝업.

자세한 내용은 Salesforce용 Genesys Cloud의 화면 팝업.

중요한:
  • 통합에서 코드를 호출할 수 있도록 Apex 클래스를 전역으로 정의합니다.
  • 둘 이상의 확장점(또는 인터페이스)을 구현하는 경우 모두 동일한 Apex 파일에 배치합니다.
global class MyCTIExtensions implements purecloud.CTIExtension.ScreenPop {
    public String onScreenPop(String data) {
        // Example: Find a recent Case record by phone number. if not found, fall back to default screen pop behavior.
        Map<String, Object> screenPopData = (Map<String, Object>) JSON.deserializeUntyped(data);
        Map<String, Object> dataToReturn = new Map<String, Object>();
        String phoneNumber = (String) screenPopData.get('searchValue');
        if (String.isNotBlank(phoneNumber)) {
            List cases = [SELECT Id FROM Case WHERE ContactPhone =: phoneNumber ORDER BY LastModifiedDate DESC LIMIT 1];
            if (cases.size() > 0) {
                dataToReturn.put('url', cases.get(0).Id);
                return JSON.serialize(dataToReturn);
            }
        }
        dataToReturn.put('defaultScreenPop', true);
        return JSON.serialize(dataToReturn);
    }
}

자세한 내용은 Salesforce용 Genesys Cloud의 확장 지점.

통합에 대한 자세한 내용은 다음을 참조하십시오. Salesforce용 Genesys Cloud 정보.