Erstellen von Click-to-Dial auf benutzerdefinierten Visualforce-Seiten

Hinweis: Dieser Artikel bezieht sich auf Genesys Cloud für Salesforce.

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. 

Tipp: Wenn Sie Visualforce-Seiten im Entwicklungsmodus erstellen, beenden Sie nach dem Erstellen der Seiten den Entwicklungsmodus. Click-to-Dial-Ereignisse funktionieren nicht, wenn der Entwicklungsmodus aktiviert ist.

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

Eigenschaft Datentyp Beschreibung Notizen
autoPlace Boolesch Wenn "true" oder nicht gesetzt ist, führt die Integration automatisch einen Anruf durch. Bei false wird das Feld Name oder Nummer mit der Telefonnummer gefüllt.
callerId Zeichenkette Rufnummer, die den Empfängern Ihrer Anrufe angezeigt wird. Die Telco-Unterstützung für callerId variiert
Name des Anrufers Zeichenkette Name, der den Empfängern Ihrer Anrufe angezeigt wird. Die Telco-Unterstützung für callerIdName variiert
interactionAttributes Objekt Schlüssel-Wert-Paare von Attributen, die der Interaktion hinzugefügt werden sollen.
Interaktionsart Zeichenkette Art der Interaktion.

Wert: anrufen, sms.

Wenn kein interactionType angegeben wird, wird standardmäßig call verwendet

queueId Zeichenkette ID der Warteschlange, in deren Namen ein Anruf getätigt oder eine SMS-Nachricht gesendet werden soll.
Zuordnungen Objekt Ein einzelnes Objekt oder ein Array von Objekten, die automatisch mit einer Aktivität assoziiert werden sollen.

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.

Automatische Zuordnungen in den Feldern Name und Verwandt mit

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.