In Salesforce bearbeiten

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

Sie können die Integration so konfigurieren, dass sie entweder in der Salesforce-Konsole in Salesforce Classic oder in allen Versionen von Lightning Experience (mit der postMessage-API oder dem Lightning Message Service) Ereignisse auslöst oder auf sie wartet. Die Arten von Ereignissen und die Art und Weise, wie Sie sie auslösen oder abhören, hängt von der Salesforce-Benutzeroberfläche ab, die Sie verwenden.

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

Wichtig: Genesys empfiehlt, dass neue Entwicklungen für Lightning Experience den Lightning Message Service (LMS) und nicht die postMessage API verwenden. Salesforce plant die Veröffentlichung von LMS im Sommer '20. Genesys wird die Verwendung der postMessage-Web-API in Zukunft nicht mehr zulassen.

Über das Ereignismodell im Salesforce Console Integration Toolkit feuert die Integration und wartet auf Ereignisse, die im Zusammenhang mit den folgenden Elementen ausgelöst werden:

  • Statusänderungen (z. B. Verfügbar, Besetzt, Abwesend, Abwesend und In der Warteschlange)
  • Anrufaktivitäten (verbunden, getrennt, ACW erforderlich, ACW abgeschlossen)
  • Änderungen des Interaktionsstatus (Abheben, Trennen, Stummschalten, Halten, sichere Pause, blindTransfer, consultTransfer, concludeTransfer, secureSession)

Entwickler können Visualforce-Seiten erstellen, die diese Ereignisse verwenden. Ein Beispiel für Code finden Sie unter Events in Salesforce Classic Console App (GitHub)

Informationen zur Salesforce-Konsole finden Sie unter Customize a Console with Custom Components in Salesforce Classic in der Salesforce-Dokumentation

Informationen zur Verwendung des Ereignismodells finden Sie unter Salesforce Console Integration Toolkit for Salesforce Classic in der Salesforce-Dokumentation

Die Integration kann die folgenden Ereignisse auslösen und sie an Salesforce senden.

Hinweis: Diese Ereignisnamen beginnen mit inin.salesforce.constants.consoleevent.pc., gefolgt von dem Namen in der Liste, zum Beispiel inin.salesforce.constants.consoleevent.pc.UPDATE_STATUS.

ACW_COMPLETED

ACW abgeschlossen.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.
Interaktionen Zeichenkette ID der Interaktion.

Beispiel

{
    "reason": "acw_completed",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5" 
}

ACW_REQUIRED

URI erforderlich.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.
Interaktionen Zeichenkette ID der Interaktion.

Beispiel

{ 
    "reason": "acw_required",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5"
}

CLIENT_EVENT

Kundenveranstaltung.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Kategorie Zeichenkette Die Art der Veranstaltung.

Weitere Informationen finden Sie unter Ereignisse pro Abonnementtyp (Genesys Cloud Developer Center) in der Genesys Cloud Embeddable Framework Dokumentation

Daten Objekt

Beispiel

{
    "reason": "client",
    "data": {
        "type": "Notification",
        "category": "interactionSelection",
	"data": { }
    }
}

 

INTERAKTION_EREIGNIS

Änderung des Interaktionsstatus.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Maßnahme.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Kategorie Zeichenkette Die Art der Veranstaltung. Gültige Werte: ändern, hinzufügen.
Daten Objekt

Beispiel

{
    "reason": "interaction",
    "data": {
	"category": "change",
	"data": { }
    }
}

INTERAKTION_VERBUNDEN

Interaktion verbunden.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.
Interaktionen Zeichenkette ID der Interaktion.

Beispiel

{
    "reason": "connected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

INTERAKTION_ABGESCHALTET

Konversation getrennt

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.
Interaktionen Zeichenkette ID der Interaktion.

Beispiel

{
    "reason": "disconnected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

LOGGED_OUT

Benutzer abgemeldet.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.

Beispiel

{
    "reason": "logged_out"
}

UPDATE_STATUS

Benutzer abgemeldet.

Parameter

Name Datentyp Beschreibung Notizen
Grund Zeichenkette Die Art der Veranstaltung.
Status Zeichenkette Der Status des Agenten.
id Zeichenkette ID des ausgewählten Status (primär oder sekundär).
unter_Status Zeichenkette Der Sekundärstatus des Agenten. Wenn die Integration Sekundärstatus verwendet, enthält die Antwort Sekundärstatusinformationen.

Beispiel

{
    "reason": "status_updated",
    "status": "AVAILABLE",
    "id": "44560c74-5e84-4062-94b6-5680cdeb54d5",
    "sub_status":"Available Work At Home"
}

Die Integration stellt die folgenden Aktionen zu Statusänderungen und Änderungen am Status eines Agenten zur Verfügung.

Hinweis: Diese Aktionen beginnen mit inin.salesforce.constants.consoleevent., gefolgt von dem Namen in der Liste, zum Beispiel inin.salesforce.constants.consoleevent.changestatus.

addAssociation

Fügt eine neue Kontakt- oder Beziehungsassoziation zu Interaktionsprotokollen hinzu.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Art der Vereinigung.

Wert: Kontakt und Beziehung.

Der Kontaktwert füllt das Menü Name und der Beziehungswert füllt das Menü Verwandt mit in der Interaktionsprotokollansicht der eingebetteten Client-Schnittstelle.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

id Zeichenkette ID der Vereinigung.
Text Zeichenkette Angezeigter Name der Vereinigung.
Wählen Sie Boolesch
  • wahr: Die Integration wählt die Assoziation automatisch für alle aktiven Interaktionen aus.
  • falsch: Die Integration wählt die Assoziation nicht automatisch für alle aktiven Interaktionen aus.
Interaktionen Zeichenkette ID der Interaktion, die die Assoziation erhalten soll.  If select is set to true, the integration adds the association only to the interaction with this ID.

Beispiele

In diesem Beispiel fügt die Integration eine neue Kontaktzuordnung mit der ID 1234 und dem angezeigten Namen John Smith zu einer Interaktion hinzu.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

addCustomAttributes

Fügt benutzerdefinierte Attribute zu Interaktionen hinzu.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktionen.

Parameter

Name Datentyp Beschreibung Notizen
id Zeichenkette ID der Interaktion.
Attribute Objekt Schlüssel-Wert-Paare von benutzerdefinierten Interaktionsattributen.

Beispiel

{ 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

zustand ändern

Aktualisiert den Status einer Interaktion.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Aktion Zeichenkette Gewünschter Zustand der Interaktion.

Wert: pickup, disconnect, hold, mute, securePause, blindTransfer, consultTransfer, concludeTransfer, secureSession. 

Verwenden Sie nur concludeTransfer für Abfrageübertragungen und secureSession für sichere IVR-Flows.

id Zeichenkette ID der Interaktion.
participantContext Objekt Siehe participantContext Objekt. Verwenden Sie participantContext nur, wenn die Aktion auf blindTransfer oder consultTransfergesetzt ist.
secureSessionContext Objekt Siehe secureSessionContext-Objekt. Verwenden Sie secureSessionContext nur, wenn action auf secureSessiongesetzt ist.

participantContext-Objekt

Legt die Entität fest, die die Übertragung erhält.

Parameter

Name Datentyp Beschreibung Notizen
Weiterleitungsziel Zeichenkette ID eines Agenten oder einer Warteschlange, Flussname, Fluss-ID oder Telefonnummer für eine externe Übertragung.

Stellen Sie dem Flussnamen oder der Fluss-ID sip: voran, zum Beispiel sip:AuditorSecureFlow.

Kodieren Sie Sonderzeichen mit der Methode encodeURIComponent()

transferTargetType Zeichenkette Art der übertragenden Stelle.

Wert: userId, queueId, Adresse.

Verwenden Sie Adresse mit einem Flussnamen, einer Fluss-ID oder einer Telefonnummer für einen externen Transfer in transferTarget

secureSessionContext-Objekt

Legt die Entität fest, die die Übertragung erhält.

Parameter

Name Datentyp Erforderlich oder optional Beschreibung Notizen
flowId Zeichenkette Erforderlich ID des sicheren Flusses, der die übertragene Interaktion empfangen soll.
userData Zeichenkette Erforderlich Vom Kunden zur Verfügung gestellte Daten.

Entspricht der Variablen Flow.InvocationData im sicheren Ablauf

Warnung: Verwenden Sie keine sicheren oder PCI-Daten mit userData.

Trennen Boolesch Optional Trennt die Verbindung nach dem Aufbau der sicheren Sitzung (true) oder trennt die Verbindung nach dem Aufbau der sicheren Sitzung nicht (false).

Beispiele

Das folgende Beispiel zeigt eine Interaktion, die ohne Rückfrage an einen Agenten oder eine Warteschlange übertragen wurde.

{
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

Das folgende Beispiel zeigt eine Interaktion, die in einen sicheren IVR-Flow übertragen wird.

{
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false
        }
    }
}

Status ändern

Aktualisiert den Benutzerstatus.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
id Zeichenkette ID der Interaktion.

Beispiel 

{
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

createConference

Erzeugt eine Konferenz aus mehreren Interaktionen.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

 

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
interactionIds Array Liste der zur Konferenz hinzugefügten Interaktions-IDs.

Beispiel 

{
    "data": {
        "interactionIds": [ 
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8", 
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"  
         ]
    }
}

Abonnieren

Meldet sich für Kundenveranstaltungen an.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

 

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Art des Ereignisses, das abonniert werden soll. Wert: Interaktion, Benachrichtigung, UserAction.
Kategorien Array von Zeichenketten Einzelne Kategorien, über die Sie Benachrichtigungen erhalten möchten. Wert: Siehe Ereignisse pro Abonnementtyp.

Ereignisse pro Abonnementtyp

Ereignis Kategorie Daten
Interaktion Datentyp String Mögliche Werte: add, change, connect, disconnect, acw, deallocate, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession. Datentyp Objekt- oder Interaktions-ID
Benachrichtigung Datentyp String Mögliche Werte: interactionSelection, chatUpdate, interactionWindow, conversationTranscription.
UserAction Datentyp String Mögliche Werte: login, logout, station, status, modal, routingStatus, view. Datentyp Objektrouting

Beispiel

{
    "data": {
        "type": "Notification",
        "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
    }
}

Unter CLIENT_EVENT im Abschnitt Ereignisse erfahren Sie, wie Sie die Nachricht für die abonnierten Client-Ereignisse erhalten.

Über die postMessage-Web-APIs kann die Integration Ereignisse zu Statusänderungen, Interaktionsstatusänderungen und Abonnements für Interaktions-, Benachrichtigungs- oder UserActions-Ereignisse auslösen und überwachen.

Ein Beispiel für Code finden Sie unter Events in Salesforce Lightning App (GitHub)

Ereignisname Beschreibung
Händedruck Wenn Window.postMessage API in den Client-Ereigniseinstellungen ausgewählt ist, löst die Integration ein Handshake-Ereignis aus, sobald der Client geladen wird Das Handshake-Ereignis liefert den Kontext, den Lightning-Komponenten benötigen, um Ereignisse an den Genesys Cloud for Salesforce-Client zu senden.
Interaktion

Löst Interaktionszustandsänderungen aus.

Mögliche Werte: add, change, connect, disconnect, acw, deallocate, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.

Benachrichtigung

Löst Benachrichtigungen über Zustandsänderungen aus.

Mögliche Werte: interactionSelection, chatUpdate, interactionWindow, conversationTranscription, messageUpdate.

UserAction

Löst Zustandsänderungen bei Benutzeraktionen aus. 

Mögliche Werte: login, logout, station, status, modal, routingStatus, view.

Weitere Informationen finden Sie unter Ereignisse pro Abonnementtyp (Genesys Cloud Developer Center) in der Genesys Cloud Embeddable Framework Dokumentation

Hinweis: Alle in der Genesys Cloud Embeddable Framework-Dokumentation beschriebenen Callback-Parameter sind in der postMessage-Datennutzlast zusammen mit dem hinzugefügten Root-Typ verfügbar. Siehe Kommunizieren Sie mit Genesys Cloud für Salesforce Abschnitt.

Administratoren konfigurieren die Callcenter-Einstellungen so, dass die Integration Ereignisse auslöst und abhört.

  1. Klicken Sie in Salesforce auf Setup.
  2. Suche nach Installierte Pakete.
  3. Klicken Sie unter Buildauf Installierte Pakete.
  4. Klicken Sie auf der Seite Installed Packages auf Configure neben dem Paket Genesys Cloud for Salesforce.
  5. Unter Client-Ereigniseinstellungenkonfigurieren Sie die folgenden Elemente für Client-Ereignisnachrichten:
  6. Für Client Event Message Type, wählen Sie Window.postMessage API.

    Diese Einstellung bewirkt, dass die Integration ein Handshake-Ereignis auslöst, sobald der Client geladen wird. 

  7. (Optional) Wählen Sie unter Client Event Typesandere Ereignisse (Interaction, Notification und UserAction) aus, die Sie abonnieren möchten. Klicken Sie auf Pfeil , um sie unter Ausgewähltehinzuzufügen.
  8. (Optional) Wählen Sie Chat-Benachrichtigung erweitern , um eine erweiterte Nutzlast für Chat-Benachrichtigungsereignisse zu erhalten
  9. Klicken Sie auf Speichern.

Hinweis: Wenn Sie eine Beleuchtungskomponente als Dienstprogramm zu Ihrer Lightning-App hinzufügen, stellen Sie sicher, dass Sie Automatisch startenauswählen. Weitere Informationen finden Sie unter Add a Utility Bar to Lighting Apps in der Salesforce-Dokumentation

Weitere Informationen finden Sie unter Konfigurieren von Client-Ereignissen.

Der Genesys Cloud for Salesforce-Client stellt die folgenden Aktionen zur Verfügung, die durch die postMessage Web APIs ausgelöst werden.

addAssociation

Fügt eine neue Kontakt- oder Beziehungsassoziation zu Interaktionsprotokollen hinzu.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Art der Vereinigung.

Wert: Kontakt und Beziehung.

Der Kontaktwert füllt das Menü Name und der Beziehungswert füllt das Menü Verwandt mit in der Interaktionsprotokollansicht der eingebetteten Client-Schnittstelle.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

id Zeichenkette ID der Vereinigung.
Text Zeichenkette Angezeigter Name der Vereinigung.
Wählen Sie Boolesch
  • wahr: Die Integration wählt die Assoziation automatisch für alle aktiven Interaktionen aus.
  • falsch: Die Integration wählt die Assoziation nicht automatisch für alle aktiven Interaktionen aus.
Interaktionen Zeichenkette ID der Interaktion, die die Assoziation erhalten soll.  If select is set to true, the integration adds the association only to the interaction with this ID.

Beispiele

In diesem Beispiel fügt die Integration eine neue Kontaktzuordnung mit der ID 1234 und dem angezeigten Namen John Smith zu einer Interaktion hinzu.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

Fügt benutzerdefinierte Attribute zu Interaktionen hinzu.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
id Zeichenkette ID der Interaktion.
Attribute Objekt Schlüssel-Wert-Paare von benutzerdefinierten Interaktionsattributen.

Beispiel

{
    "type": "PureCloud.Interaction.addCustomAttributes", 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

Interaktion.createConference

Erzeugt eine Konferenz aus mehreren Interaktionen.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
interactionIds Array Liste der zur Konferenz hinzugefügten Interaktions-IDs.

Beispiel

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8",
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"
         ]
    }
}

Interaktion.updateState

Aktualisiert den Status einer Interaktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Aktion Zeichenkette Gewünschter Zustand der Interaktion.

Wert: pickup, disconnect, hold, mute, securePause, blindTransfer, consultTransfer, concludeTransfer, secureSession. 

Verwenden Sie nur concludeTransfer für Abfrageübertragungen und secureSession für sichere IVR-Flows.

id Zeichenkette ID der Interaktion.
participantContext Objekt Siehe participantContext Objekt. Verwenden Sie participantContext nur, wenn die Aktion auf blindTransfer oder consultTransfergesetzt ist.
secureSessionContext Objekt Siehe secureSessionContext-Objekt. Verwenden Sie secureSessionContext nur, wenn action auf secureSessiongesetzt ist.

participantContext-Objekt

Legt die Entität fest, die die Übertragung erhält.

Parameter

Name Datentyp Beschreibung Notizen
Weiterleitungsziel Zeichenkette ID eines Agenten oder einer Warteschlange, Flussname, Fluss-ID oder Telefonnummer für eine externe Übertragung.

Stellen Sie dem Flussnamen oder der Fluss-ID sip: voran, zum Beispiel sip:AuditorSecureFlow.

Kodieren Sie Sonderzeichen mit der Methode encodeURIComponent()

transferTargetType Zeichenkette Art der übertragenden Stelle.

Wert: userId, queueId, Adresse.

Verwenden Sie Adresse mit einem Flussnamen, einer Fluss-ID oder einer Telefonnummer für einen externen Transfer in transferTarget

secureSessionContext-Objekt

Legt die Entität fest, die die Übertragung erhält.

Parameter

Name Datentyp Erforderlich oder optional Beschreibung Notizen
flowId Zeichenkette Erforderlich ID des sicheren Flusses, der die übertragene Interaktion empfangen soll.
userData Zeichenkette Erforderlich Vom Kunden zur Verfügung gestellte Daten.

Entspricht der Variablen Flow.InvocationData im sicheren Ablauf

Warnung: Verwenden Sie keine sicheren oder PCI-Daten mit userData.

Trennen Boolesch Optional Trennt die Verbindung nach dem Aufbau der sicheren Sitzung (true) oder trennt die Verbindung nach dem Aufbau der sicheren Sitzung nicht (false).

Beispiele

Das folgende Beispiel zeigt eine Interaktion, die ohne Rückfrage an einen Agenten oder eine Warteschlange übertragen wurde.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

Das folgende Beispiel zeigt eine Interaktion, die in einen sicheren IVR-Flow übertragen wird.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

Aktualisiert den Benutzerstatus.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
id Zeichenkette ID der Interaktion.

Beispiel

{
    "type": "PureCloud.User.updateStatus", 
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

Abonnieren

Meldet sich für Kundenveranstaltungen an.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Art des Ereignisses, das abonniert werden soll. Wert: Interaktion, Benachrichtigung, UserAction.
Kategorien Array von Zeichenketten Einzelne Kategorien, über die Sie Benachrichtigungen erhalten möchten. Wert: Siehe Ereignisse pro Abonnementtyp.

 

Ereignisse pro Abonnementtyp

Ereignis Kategorie Daten
Interaktion Datentyp Zeichenkette
Mögliche Werte: add, change, connect, disconnect, acw, deallocate, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.
Datentyp Objekt- oder Interaktions-ID
Benachrichtigung Datentyp Zeichenkette
Mögliche Werte: interactionSelection, chatUpdate, interactionWindow, conversationTranscription.
UserAction Datentyp Zeichenkette
Mögliche Werte: login, logout, station, status, modal, routingStatus, view.
Datentyp Objektrouting

Beispiel

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

Erstellen Sie eine Beleuchtungskomponente, damit Salesforce auf die in den Callcenter-Einstellungen ausgewählten Ereignisse warten und diese auslösen kann. 

  1. Fügen Sie Apex-, Komponenten- und JavaScript-Dateien zur Entwicklerkonsole in Salesforce hinzu.

    Sie können Beispieldateien aus dem PureCloud für Salesforce Einstein Example Repository auf GitHub herunterladen

    Weitere Informationen finden Sie unter Developer Console File Menu in der Salesforce-Dokumentation

  2. Legen Sie den Typ und id für die Quelle in der JavaScript-Datei fest.

    Mit dieser Einstellung können Sie den Status im Client ändern.

    source.postMessage({
        type: 'PureCloud.User.updateStatus',
        data: { id: status },
    }
  3. Wenn Ihr Administrator die Integration so konfiguriert hat, dass Interaktions-, Benachrichtigungs- oder UserActions-Ereignisse ausgelöst werden, abonnieren Sie diese Ereignisse in der JavaScript-Datei.

    Weitere Informationen finden Sie unter der Methode subscribe in der Dokumentation Genesys Cloud Embeddable Framework (Genesys Cloud Developer Center).

Über den Lightning Message Service kann die Integration Ereignisse zu Statusänderungen, Interaktionsstatusänderungen und Abonnements für Interaktions-, Benachrichtigungs- oder UserActions-Ereignisse auslösen und abhören.

Ein Beispiel für Code finden Sie unter Events in Salesforce Lightning App (GitHub)


Ereignisname Beschreibung
InitialSetup

Zeigt an, dass der Genesys Cloud for Salesforce-Client bereit ist, Anfragen zu verarbeiten. Das Ereignis zeigt an, dass die Lightning-Komponenten die Client-Ereignisse abonnieren können.

Interaktion

Löst Interaktionszustandsänderungen aus.

Mögliche Werte: add, change, connect, disconnect, acw, deallocate, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.

Benachrichtigung

Löst Benachrichtigungen über Zustandsänderungen aus.

Mögliche Werte: interactionSelection, chatUpdate, interactionWindow, conversationTranscription, messageUpdate.

UserAction

Löst Zustandsänderungen bei Benutzeraktionen aus. 

Mögliche Werte: login, logout, station, status, modal, routingStatus, view.

Weitere Informationen finden Sie unter Ereignisse pro Abonnementtyp (Genesys Cloud Developer Center) in der Genesys Cloud Embeddable Framework Dokumentation

Hinweis: Alle Callback-Parameter, die in der Genesys Cloud Embeddable Framework-Dokumentation beschrieben sind, sind in den Lightning Message Service Daten-Nutzdaten zusammen mit dem hinzugefügten Root-Typ verfügbar. Siehe Kommunizieren Sie mit Genesys Cloud für Salesforce Abschnitt.

Administratoren konfigurieren die Callcenter-Einstellungen so, dass die Integration Ereignisse auslöst und abhört.

  1. Klicken Sie in Salesforce auf Setup.
  2. Suche nach Installierte Pakete.
  3. Klicken Sie unter Buildauf Installierte Pakete.
  4. Klicken Sie auf der Seite Installed Packages auf Configure neben dem Paket Genesys Cloud for Salesforce.
  5. Unter Client-Ereigniseinstellungenkonfigurieren Sie die folgenden Elemente für Client-Ereignisnachrichten:
  6. Für Client Event Message Type, wählen Sie Lightning Message Channel

    Diese Einstellung veranlasst die Integration, Nachrichten auf dem Nachrichtenkanal zu senden. 

  7. (Optional) Wählen Sie unter Client Event Typesandere Ereignisse (Interaction, Notification und UserAction) aus, die Sie abonnieren möchten. Klicken Sie auf Pfeil , um sie unter Ausgewähltehinzuzufügen.
  8. (Optional) Wählen Sie Chat-Benachrichtigung erweitern , um eine erweiterte Nutzlast für Chat-Benachrichtigungsereignisse zu erhalten
  9. Klicken Sie auf Speichern.

Hinweis: Wenn Sie eine Beleuchtungskomponente als Dienstprogramm zu Ihrer Lightning-App hinzufügen, stellen Sie sicher, dass Sie Automatisch startenauswählen. Weitere Informationen finden Sie unter Add a Utility Bar to Lighting Apps in der Salesforce-Dokumentation

Weitere Informationen finden Sie unter Konfigurieren von Client-Ereignissen.

Der Genesys Cloud for Salesforce-Client stellt die folgenden Aktionen zur Verfügung, die durch den Lightning Message Service ausgelöst werden.

addAssociation

Fügt eine neue Kontakt- oder Beziehungsassoziation zu Interaktionsprotokollen hinzu.

Parameter

Name Datentyp Beschreibung Notizen
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Art der Vereinigung.

Wert: Kontakt und Beziehung.

Der Kontaktwert füllt das Menü Name und der Beziehungswert füllt das Menü Verwandt mit in der Interaktionsprotokollansicht der eingebetteten Client-Schnittstelle.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

id Zeichenkette ID der Vereinigung.
Text Zeichenkette Angezeigter Name der Vereinigung.
Wählen Sie Boolesch
  • wahr: Die Integration wählt die Assoziation automatisch für alle aktiven Interaktionen aus.
  • falsch: Die Integration wählt die Assoziation nicht automatisch für alle aktiven Interaktionen aus.
Interaktionen Zeichenkette ID der Interaktion, die die Assoziation erhalten soll.  If select is set to true, the integration adds the association only to the interaction with this ID.

Beispiele

In diesem Beispiel fügt die Integration eine neue Kontaktzuordnung mit der ID 1234 und dem angezeigten Namen John Smith zu einer Interaktion hinzu.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

Fügt benutzerdefinierte Attribute zu Interaktionen hinzu.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
id Zeichenkette ID der Interaktion.
Attribute Objekt Schlüssel-Wert-Paare von benutzerdefinierten Interaktionsattributen.

Beispiel

{
    "type": "PureCloud.Interaction.addCustomAttributes",
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

Interaktion.createConference

Erzeugt eine Konferenz aus mehreren Interaktionen.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
interactionIds Array Liste der zur Konferenz hinzugefügten Interaktions-IDs.

Beispiel

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641xxxx-4bb2-xxxx-84f7-xxxxxx8513e8",
            "5eafbfc4-6ff4-xxxx-a2d7-d23c1abbd809", 
            "363ba2ca-xxxx-405e-bebe-fc59xxxxx17b"
         ]
    }
}

Interaktion.updateState

Aktualisiert den Status einer Interaktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Aktion Zeichenkette Gewünschter Zustand der Interaktion.

Wert: pickup, disconnect, hold, mute, securePause, blindTransfer, consultTransfer, concludeTransfer, secureSession. 

Verwenden Sie nur concludeTransfer für Abfrageübertragungen und secureSession für sichere IVR-Flows.

id Zeichenkette ID der Interaktion.
participantContext Objekt Siehe participantContext Objekt. Verwenden Sie participantContext nur, wenn die Aktion auf blindTransfer oder consultTransfergesetzt ist.
secureSessionContext Objekt Siehe secureSessionContext-Objekt. Verwenden Sie secureSessionContext nur, wenn action auf secureSessiongesetzt ist.

participantContext-Objekt

Legt die Entität fest, die die Übertragung erhält.

Parameter

Name Datentyp Beschreibung Notizen
Weiterleitungsziel Zeichenkette ID eines Agenten oder einer Warteschlange, Flussname, Fluss-ID oder Telefonnummer für eine externe Übertragung.

Stellen Sie dem Flussnamen oder der Fluss-ID sip: voran, zum Beispiel sip:AuditorSecureFlow.

Kodieren Sie Sonderzeichen mit der Methode encodeURIComponent()

transferTargetType Zeichenkette Art der übertragenden Stelle.

Wert: userId, queueId, Adresse.

Verwenden Sie Adresse mit einem Flussnamen, einer Fluss-ID oder einer Telefonnummer für einen externen Transfer in transferTarget

secureSessionContext-Objekt

Legt die Entität fest, die die Übertragung erhält.

Parameter

Name Datentyp Erforderlich oder optional Beschreibung Notizen
flowId Zeichenkette Erforderlich ID des sicheren Flusses, der die übertragene Interaktion empfangen soll.
userData Zeichenkette Erforderlich Vom Kunden zur Verfügung gestellte Daten.

Entspricht der Variablen Flow.InvocationData im sicheren Ablauf

Warnung: Verwenden Sie keine sicheren oder PCI-Daten mit userData.

Trennen Boolesch Optional Trennt die Verbindung nach dem Aufbau der sicheren Sitzung (true) oder trennt die Verbindung nach dem Aufbau der sicheren Sitzung nicht (false).

Beispiele

Das folgende Beispiel zeigt eine Interaktion, die ohne Rückfrage an einen Agenten oder eine Warteschlange übertragen wurde.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

Das folgende Beispiel zeigt eine Interaktion, die in einen sicheren IVR-Flow übertragen wird.

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

Aktualisiert den Benutzerstatus.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
id Zeichenkette ID des Status.

Beispiel

{
    "type": "PureCloud.User.updateStatus",
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

Abonnieren

Meldet sich für Kundenveranstaltungen an.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Die Art der Maßnahme. PureCloud + der Name der Aktion.
Daten Objekt Siehe Datenobjekt.

datenobjekt

Definiert die Aktion.

Parameter

Name Datentyp Beschreibung Notizen
Typ Zeichenkette Art des Ereignisses, das abonniert werden soll. Wert: Interaktion, Benachrichtigung, UserAction.
Kategorien Array von Zeichenketten Einzelne Kategorien, über die Sie Benachrichtigungen erhalten möchten. Wert: Siehe Ereignisse pro Abonnementtyp.

 

Ereignisse pro Abonnementtyp

Ereignis Kategorie Daten
Interaktion Datentyp Zeichenkette
Mögliche Werte: add, change, connect, disconnect, acw, deallocate, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.
Datentyp Objekt- oder Interaktions-ID
Benachrichtigung Datentyp Zeichenkette
Mögliche Werte: interactionSelection, chatUpdate, interactionWindow, conversationTranscription.
UserAction Datentyp Zeichenkette
Mögliche Werte: login, logout, station, status, modal, routingStatus, view.
Datentyp Objektrouting

Beispiel

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

Um den Nachrichtenkanal zu abonnieren, installieren Sie Version 3.12 oder höher des verwalteten Pakets von PureCloud für Salesforce Diese Versionen von des verwalteten Pakets enthalten den purecloud__ClientEvent__c Kanal, der alle Nachrichten empfängt Nachdem Sie purecloud__ClientEvent__cabonniert haben, kann Salesforce auf die in den Call Center-Einstellungen ausgewählten Ereignisse warten und diese auslösen. 

Die Implementierungsmethode variiert je nach den von Ihnen verwendeten Komponenten. Der folgende Beispielcode zeigt, wie Sie LMS mit einer Lightning Aura-Komponente verwenden.

Abonnieren Sie Lightning-Nachrichten auf dem Kanal purecloud__ClientEvent__c für eine Aura-Komponente

<lightning:messageChannel type="purecloud__ClientEvent__c" aura:id="clientEventMessageChannel" onMessage="{!c.onClientEvent}" scope="APPLICATION"/>

Um Lightning-Nachrichten zu empfangen, erstellen Sie ein onClientEvent.

({
    onClientEvent: function (component, message, helper) {
        var eventData = message.getParams();
        if (eventData) {
            if(eventData.type === 'Interaction' && eventData.data.id) {
		console.log(‘Interaction ID: ‘ + eventData.data.id);
            }
        }
    }
})

Um Lightning-Nachrichten zu senden, veröffentlichen Sie die Ereignisse, auf die der Genesys Cloud for Salesforce-Client wartet. Eine Liste der Ereignisse finden Sie im Abschnitt Kommunikation mit Genesys Cloud für Salesforce

component.find('clientEventMessageChannel').publish({
    type: 'PureCloud.User.updateStatus',
    data: { id: status }
});

Weitere Beispiele finden Sie unter Lightning Message Service [Developer Preview] im Salesforce Developers Blog

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