사용자 지정 Visualforce 페이지에서 클릭 투 다이얼 만들기

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

통합을 통해 연락처 또는 계정 페이지와 같은 기본 Salesforce 페이지에서 클릭하여 다이얼 기능을 사용할 수 있습니다. 상담원이 기본 Salesforce 페이지에서 전화번호를 클릭하면 클라이언트가 자동으로 전화번호로 전화를 걸거나 이름 또는 번호 상자를 자동으로 채웁니다. (클릭 투 다이얼 동작은 대기열 설정에서 상담원이 선택한 항목에 따라 다릅니다. 자세한 내용은 클릭 투 다이얼 구성.) 클라이언트는 이러한 Salesforce 페이지의 관련 개체로 이름 및 관련 대상 상자를 채웁니다. 

사용자 정의 Visualforce 페이지에 click-to-dial 구성 요소를 추가하여 click-to-dial 기능을 제공할 수도 있습니다. 

: 개발 모드에서 Visualforce 페이지를 생성하는 경우 페이지를 생성한 후 개발 모드를 종료합니다. Click-to-Dial 이벤트는 개발 모드가 활성화된 상태에서 작동하지 않습니다.

다음은 Visualforce 페이지에서 click-to-dial 구성 요소를 사용하고 Apex 컨트롤러를 사용하여 Salesforce에서 데이터를 가져오는 예입니다. 자세한 내용은 지원:clickToDial 그리고 Apex JSON 시작하기 Salesforce 문서에서.

클릭 투 다이얼 구성요소

click-to-dial 구성 요소는 click-to-dial 기능을 사용자 정의 Visualforce 페이지에 추가하고 사용자가 엔티티 아이디 그리고 매개변수 속성. 이 두 속성은 Apex 컨트롤러에서 데이터를 가져와 클라이언트의 이름 및 관련 대상 상자를 채웁니다. NS 엔티티 아이디 그리고 매개변수 속성은 또한 이름 및 관련 대상 상자를 Salesforce 페이지의 활동과 자동 연결합니다. 

속성 필수/선택 설명 설명
숫자 요구됨 전화를 걸 번호입니다.
엔티티 아이디 선택 사항 활동과 자동 연결할 연락처 또는 계정과 같은 관련 개체의 ID입니다.  NS 엔티티 아이디 속성은 단일 레코드에만 해당됩니다. 상호 작용 로그의 이름 및 관련 대상에 추가 레코드를 추가하려면 협회 params 개체의 속성입니다.
매개변수 선택 사항 click-to-dial에 대한 추가 데이터의 JSON 문자열입니다. 보다 매개변수 개체.
<apex:page standardController="Account" extensions="CustomClickToDialController" showHeader="true">
   <support:clickToDial number="3172222222" entityId="{!id}" params="{!json}"/>
</apex:page>

매개변수 개체

속성 데이터 유형 설명 설명
자동 배치 부울 true 또는 설정하지 않으면 통합에서 자동으로 전화를 겁니다. false인 경우 통합은 이름 또는 번호 상자에 전화 번호를 채웁니다.
발신자 ID 문자열 전화를 받는 사람에게 표시되는 전화 번호입니다. 에 대한 통신 지원 발신자 ID 다양하다.
발신자 이름 문자열 전화를 받는 사람에게 표시되는 이름입니다. 에 대한 통신 지원 발신자 ID 이름 다양하다.
상호작용속성 개체 상호 작용에 추가할 속성의 키-값 쌍입니다.
인터랙션 유형 문자열 상호작용 유형.

값: 전화, SMS.

그렇지 않은 경우 상호작용 유형 제공되며 기본값은 호출입니다.

대기열 ID 문자열 대신 전화를 걸거나 SMS 메시지를 보낼 대기열의 ID입니다.
연결 개체 활동과 자동 연결할 단일 개체 또는 개체 배열입니다.

다음 형식을 사용하십시오. 매개변수 물체. Salesforce JSON.serialize API는 이 형식을 사용합니다. 협회 연락처 및 계정과 같은 개체를 직렬화합니다.

{
    autoPlace: true,
    callerId: '317-555-0123',
    callerIdName: 'Some Name Here',
    interactionAttributes: {
        CustomAttribute: 'Data here'
    },
    interactionType: 'call',
    queueId: 'Queue id GUID',
    associations: [
        {
            Id: '00000000000',
            Name: 'AccountName',
            attributes: {
                type: 'Account'
            }
        },
        {
            Id: '11111111111',
            Name: 'John Smith',
            attributes: {
                type: 'Contact'
            }
        }
    ]
}

이 구성 요소에 대한 자세한 내용은 다음을 참조하십시오. 지원:clickToDial Salesforce 문서에서.

에이펙스 컨트롤러

Apex 컨트롤러는 다음 작업을 수행합니다.

  • Salesforce에서 백엔드 데이터를 검색합니다.
  • Salesforce JSON.serialize API를 사용하여 JSON 문자열을 생성합니다.
  • 이 데이터를 사용자 지정 Visualforce 페이지의 click-to-dial 구성 요소에 있는 entityId 및 params 속성의 값으로 추가합니다.
  • Who/What 레코드를 반환합니다.
public class CustomClickToDialController {

   public CustomClickToDialController(ApexPages.StandardController stdController){}

    // Returns an ID of a Who/What record (for the entityId attribute).
    public String getId(){
       Contact contact = [SELECT id, name FROM Contact LIMIT 1];
       return contact.id;
    }

    // Returns a JSON string representation of Who/What record(s) (for the params attribute).
    // It could be a single Who/What record or a list of Who/What records.
public String getJson(){
        List accountList = [Select id, name FROM Account LIMIT 1];
        String accounts = JSON.serialize(accountList);
        
        JSONGenerator gen = JSON.createGenerator(false);
        
        gen.writeStartObject();
        gen.writeStringField('associations', accounts);
        gen.writeStringField('callerId', '317-555-0123');
        gen.writeStringField('callerIdName', 'Some Name Here');
        gen.writeStringField('interactionType', 'call');
        gen.writeBooleanField('autoPlace', true);
        gen.writeStringField('queueId', 'Queue id GUID);
        gen.writeFieldName('interactionAttributes');
        gen.writeStartObject();
        gen.writeStringField('CustomAttribute', 'Data here');
        gen.writeEndObject();
        gen.writeEndObject();
        
        return gen.getAsString();
    }
}

반환된 모든 Who 레코드는 상호 작용 로그의 이름 목록에 나타납니다. Who 레코드가 하나만 반환되는 경우 해당 레코드는 상호 작용 로그의 이름 상자와 자동으로 연결됩니다.

반환된 모든 항목은 상호 작용 로그의 관련 대상 목록에 표시되는 레코드입니다. What 레코드가 하나만 반환되는 경우 해당 레코드는 상호 작용 로그의 관련 대상 상자와 자동으로 연결됩니다.

이름 및 관련 항목 상자의 자동 연결

자세한 내용은 클릭 투 다이얼 그리고 클릭 투 다이얼 구성.

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