Erstellen von Click-to-Dial auf benutzerdefinierten Visualforce-Seiten
Die Integration ermöglicht die Click-to-Dial-Funktionalität auf Standard-Salesforce-Seiten, z. B. Kontakt- oder Kontoseiten. Wenn ein Agent auf eine Telefonnummer auf Salesforce-Standardseiten klickt, wählt der Client entweder automatisch die Telefonnummer oder füllt das Feld Name oder Nummer automatisch aus. (Das Click-to-Dial-Verhalten hängt von der Auswahl des Agenten unter Warteschlangeneinstellungen ab. Weitere Informationen finden Sie unter Konfigurieren Sie Click-to-Dial.) Der Client füllt die Felder Name und Zugehörig zu mit den relevanten Objekten aus diesen Salesforce-Seiten.
Sie können die Click-to-Dial-Funktionalität auch auf benutzerdefinierten Visualforce-Seiten bereitstellen, indem Sie die Click-to-Dial-Komponente zu diesen Seiten hinzufügen.
Im folgenden Beispiel wird die Click-to-Dial-Komponente auf einer Visualforce-Seite verwendet und Daten aus Salesforce über einen Apex-Controller abgerufen. Weitere Informationen finden Sie unter support:clickToDial und Getting Started with Apex JSON in der Salesforce-Dokumentation.
Click-to-Dial-Komponente
Die Click-to-Dial-Komponente fügt die Click-to-Dial-Funktionalität zu einer benutzerdefinierten Visualforce-Seite hinzu und ermöglicht es Ihnen, Werte für die Attribute entityId und params zuzuweisen. Diese beiden Attribute ziehen Daten aus dem Apex-Controller, um die Felder Name und Verwandt mit im Client aufzufüllen. Die Attribute entityId und params verknüpfen auch automatisch die Felder Name und Related To mit einer Aktivität auf einer Salesforce-Seite.
Attribut | Erforderlich/optional | Beschreibung | Notizen |
---|---|---|---|
Nummer | Erforderlich | Zu wählende Nummer. | |
entityId | Optional | ID eines relevanten Objekts, z. B. eines Kontakts oder eines Kontos, das automatisch mit einer Aktivität assoziiert werden soll. | Das Attribut entityId gilt nur für einen einzigen Datensatz Um in den Interaktionsprotokollen zusätzliche Datensätze zu Name und Related To hinzuzufügen, verwenden Sie die Eigenschaft associations im params-Objekt |
parameter | Optional | JSON-String für zusätzliche Daten für Click-to-Dial. Siehe params object. |
<apex:page standardController="Account" extensions="CustomClickToDialController" showHeader="true">
<support:clickToDial number="3172222222" entityId="{!id}" params="{!json}"/>
</apex:page>
params-Objekt
Verwenden Sie das folgende Format für das Objekt params Die Salesforce JSON.serialize API verwendet dieses Format für Assoziationen zur Serialisierung von Objekten wie Kontakt und Konto
{
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'
}
}
]
}
Weitere Informationen zu dieser Komponente finden Sie unter support:clickToDial in der Salesforce-Dokumentation
Apex-Controller
Der Apex-Controller führt die folgenden Aktionen durch:
- Ruft Backend-Daten aus Salesforce ab.
- Erzeugt JSON-Strings unter Verwendung der Salesforce JSON.serialize API.
- Fügt diese Daten als Werte für die Attribute entityId und params in der Click-to-Dial-Komponente auf benutzerdefinierten Visualforce-Seiten hinzu.
- Gibt Wer/Was-Datensätze zurück.
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();
}
}
Alle zurückgegebenen Who-Datensätze erscheinen in der Namensliste des Interaktionsprotokolls. Wenn nur ein Who-Datensatz zurückgegeben wird, wird der Datensatz automatisch mit dem Feld Name im Interaktionsprotokoll verknüpft.
Alle zurückgegebenen What-Datensätze erscheinen in der Liste Related To im Interaktionsprotokoll. Wenn nur ein What-Datensatz zurückgegeben wird, wird der Datensatz automatisch mit dem Feld Related To im Interaktionsprotokoll verknüpft.
Weitere Informationen finden Sie unter Click-to-Dial und Click-to-Dial konfigurieren
Weitere Informationen über die Integration finden Sie unter Über Genesys Cloud für Salesforce.