カスタムVisualforceページでクリックツーダイヤルを作成する
この統合により、連絡先ページやアカウントページなど、デフォルトのSalesforceページでクリックツーダイヤル機能が有効になります。 エージェントがデフォルトのSalesforceページで電話番号をクリックすると、クライアントは自動的に電話番号をダイヤルするか、または[名前]または[番号]ボックスに自動入力します。 (クリックしてダイヤルする動作は、[キュー設定]の下のエージェントの選択によって異なります。 詳細については、 クリックダイヤルを設定する。) クライアントは、これらのSalesforceページの関連オブジェクトを[名前]ボックスと[関連先]ボックスに入力します。
クリックツーダイヤルコンポーネントをこれらのページに追加することによって、カスタムVisualforceページにクリックツーダイヤル機能を提供することもできます。
以下は、Visualforceページでクリックダイヤルコンポーネントを使用し、Apexコントローラを使用してSalesforceからデータを取得する例です。 詳細については、以下を参照してください。 サポート:ClickToDial[サポート:clickToDial] および Apex JSONを使ってみる Salesforceドキュメントで確認できます。
クリックダイヤルコンポーネント
クリックツーダイヤルコンポーネントを使用すると、カスタムVisualforceページにクリックツーダイヤル機能が追加され、ユーザーはそのリンクに値を割り当てることができます。 entityId そして パラーム 属性 これら2つの属性は、Apexコントローラからデータを取得して、クライアントの[名前]ボックスと[関連先]ボックスに入力します。 の entityId そして パラーム 属性は、[名前]ボックスと[関連先]ボックスをSalesforceページのアクティビティと自動的に関連付けます。
属性 | 必須/オプション | 説明 | メモ |
---|---|---|---|
番号 | 必須 | ダイヤルする番号 | |
entityId | 任意 | 連絡先やアカウントなど、アクティビティと自動関連付けする関連オブジェクトのID。 | の entityId 属性は単一レコード専用です。 対話ログの名前と関連先にレコードを追加するには、 協会 paramsオブジェクトのproperty。 |
パラーム | 任意 | クリックダイヤルの追加データのJSON文字列。 見る paramsオブジェクト。 |
<apex:page standardController="Account" extensions="CustomClickToDialController" showHeader="true">
<support:clickToDial number="3172222222" entityId="{!id}" params="{!json}"/>
</apex:page>
paramsオブジェクト
以下のフォーマットを使用してください。 パラーム オブジェクト 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ページのクリックダイヤルコンポーネントの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レコードはすべて、インタラクションログの[Name]リストに表示されます。 Whoレコードが1つだけ返された場合、そのレコードはインタラクションログの[Name]ボックスに自動的に関連付けられます。
すべて返されたレコードインタラクションログの[関連先]リストに表示される内容 Whatレコードが1つだけ返された場合、そのレコードはインタラクションログのRelated Toボックスに自動的に関連付けられます。
詳細については、 クリックダイヤル そして クリックダイヤルを設定する。
統合の詳細については、以下を参照してください。Salesforce向けGenesys Cloudについて.