Verwenden Sie die Erweiterungspunkte zum Anpassen des Pop-up-Fensters

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

Sie können die Erweiterungspunkte verwenden, um das Verhalten von Pop-up-Fenstern in Genesys Cloud für Salesforce anzupassen. Die Erweiterungspunkte verwenden die Programmiersprache Salesforce Apex. 

Hinweis: Dieser Artikel über erweiterte Anpassungen richtet sich an Entwickler, die mit Salesforce vertraut sind.

Voraussetzungen

  • Eine Version des verwalteten Pakets, die den Abschnitt Erweiterungspunkt-Einstellungen enthält. Weitere Informationen finden Sie unter Erweiterungspunkte konfigurieren.

Erstellen Sie in Salesforce eine einzelne Apex-Datei mit einer Apex-Klasse, die die Schnittstelle purecloud.CTIExtension.ScreenPop implementiert Definieren Sie die Apex-Klasse als global, damit der Code von der Integration aufgerufen werden kann.

purecloud.CTIExtension.ScreenPop Schnittstelle

Enthält eine Methodensignatur, die Sie definieren können, um die Screen-Pop-Funktionalität in Genesys Cloud for Salesforce anzupassen.

Verwendung

Verwenden Sie die Methodensignatur in der Schnittstelle purecloud.CTIExtension.ScreenPop , um zu definieren, wie die Screen-Pop-Funktionalität funktioniert

onScreenPop-Methode

Dient zur Steuerung der Pop-up-Logik des Bildschirms.

Diese Methode wird für eine eingehende Alerting-Interaktion aufgerufen. onScreenPop wird für jeden Agenten nur einmal für jede Alerting-Interaktion aufgerufen Die Methode kann Daten zurückgeben, die das standardmäßige Popup-Verhalten des Bildschirms ändern.

Wenn der Apex-Code eine Ausnahme auslöst, führt die Integration das standardmäßige Popup-Verhalten aus. Wird kein Wert zurückgegeben, unterdrückt die Integration das Screen-Pop-Verhalten.

Eingabe-Eigenschaften

Die folgenden Eigenschaften sind in den JSON-Daten enthalten, die an die Methode übergeben werden.

Name Datentyp Beschreibung Notizen
searchValue Zeichenkette Suchwert. Beispielwerte: e-Mail-Adresse (für Chat- und E-Mail-Interaktionen), Telefonnummer (für Sprach- und SMS-Interaktionen).
Interaktion Objekt Datenobjekt, das Interaktionsdaten darstellt. Weitere Informationen finden Sie im Datenobjektformat unter Condensed conversation information.

Eigenschaften der Ausgabe

Wichtig: Verwenden Sie nur eine der folgenden Eigenschaften in den JSON-Daten, die von der Methode onScreenPop zurückgegeben werden
Name Datentyp Beschreibung Notizen
url Zeichenkette URL einer Seite in Salesforce.  Dies kann eine standardmäßige Salesforce-Seite, eine Visualforce-Seite oder eine Seite für einen neuen Datensatz mit vorausgefüllten Daten aus einem Architect-Flow sein.
searchValue Zeichenkette Wert, nach dem in Salesforce-Datensätzen gesucht wird. 

Dies kann eine Fallnummer, eine Telefonnummer, ein Kontaktname oder etwas anderes sein. 

Weitere Informationen finden Sie im Abschnitt Softphone-Layout-Einstellungen unter Screen pop in Genesys Cloud for Salesforce.

defaultScreenPop Boolesch Führt ein Standard-Popup-Fenster aus (true) oder führt kein Standard-Popup-Fenster aus (false).

Weitere Informationen finden Sie im Abschnitt Standard-Screen-Pop-Verhalten unter Screen pop in Genesys Cloud for Salesforce.

Weitere Informationen finden Sie unter Screen pop in Genesys Cloud for Salesforce.

Beispiel

Wichtig:
  • Definieren Sie die Apex-Klasse als global, damit der Code von der Integration aufgerufen werden kann.
  • Wenn Sie mehr als einen Erweiterungspunkt (oder eine Schnittstelle) implementieren, legen Sie sie alle in derselben Apex-Datei ab.
global class MyCTIExtensions implements purecloud.CTIExtension.ScreenPop {
    public String onScreenPop(String data) {
        // Example: Find a recent Case record by phone number. if not found, fall back to default screen pop behavior.
        Map<String, Object> screenPopData = (Map<String, Object>) JSON.deserializeUntyped(data);
        Map<String, Object> dataToReturn = new Map<String, Object>();
        String phoneNumber = (String) screenPopData.get('searchValue');
        if (String.isNotBlank(phoneNumber)) {
            List cases = [SELECT Id FROM Case WHERE ContactPhone =: phoneNumber ORDER BY LastModifiedDate DESC LIMIT 1];
            if (cases.size() > 0) {
                dataToReturn.put('url', cases.get(0).Id);
                return JSON.serialize(dataToReturn);
            }
        }
        dataToReturn.put('defaultScreenPop', true);
        return JSON.serialize(dataToReturn);
    }
}

Weitere Informationen finden Sie unter Erweiterungspunkte in Genesys Cloud für Salesforce.

Weitere Informationen über die Integration finden Sie unter Über Genesys Cloud für Salesforce.