사용자 지정 Visualforce 페이지에서 클릭 투 다이얼 만들기
통합을 통해 연락처 또는 계정 페이지와 같은 기본 Salesforce 페이지에서 클릭하여 다이얼 기능을 사용할 수 있습니다. 상담원이 기본 Salesforce 페이지에서 전화번호를 클릭하면 클라이언트가 자동으로 전화번호로 전화를 걸거나 이름 또는 번호 상자를 자동으로 채웁니다. (클릭 투 다이얼 동작은 대기열 설정에서 상담원이 선택한 항목에 따라 다릅니다. 자세한 내용은 클릭 투 다이얼 구성.) 클라이언트는 이러한 Salesforce 페이지의 관련 개체로 이름 및 관련 대상 상자를 채웁니다.
사용자 정의 Visualforce 페이지에 click-to-dial 구성 요소를 추가하여 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>
매개변수 개체
다음 형식을 사용하십시오. 매개변수 물체. 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 정보.