In Salesforce bearbeiten
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.
Ü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.
- ACW_COMPLETED
- ACW_REQUIRED
- CLIENT_EVENT
- INTERAKTION_VERBUNDEN
- INTERAKTION_ABGESCHALTET
- INTERAKTION_EREIGNIS
- LOGGED_OUT
- 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
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.
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 |
|
|
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
Administratoren konfigurieren die Callcenter-Einstellungen so, dass die Integration Ereignisse auslöst und abhört.
- Klicken Sie in Salesforce auf Setup.
- Suche nach Installierte Pakete.
- Klicken Sie unter Buildauf Installierte Pakete.
- Klicken Sie auf der Seite Installed Packages auf Configure neben dem Paket Genesys Cloud for Salesforce.
- Unter Client-Ereigniseinstellungenkonfigurieren Sie die folgenden Elemente für Client-Ereignisnachrichten:
- 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.
- (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.
- (Optional) Wählen Sie Chat-Benachrichtigung erweitern , um eine erweiterte Nutzlast für Chat-Benachrichtigungsereignisse zu erhalten
- Klicken Sie auf Speichern.
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
- Interaction.addCustomAttributes
- Interaktion.createConference
- Interaktion.updateState
- User.updateStatus
- Abonnieren
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 |
|
|
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.
- 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
- 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 }, }
- 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
Administratoren konfigurieren die Callcenter-Einstellungen so, dass die Integration Ereignisse auslöst und abhört.
- Klicken Sie in Salesforce auf Setup.
- Suche nach Installierte Pakete.
- Klicken Sie unter Buildauf Installierte Pakete.
- Klicken Sie auf der Seite Installed Packages auf Configure neben dem Paket Genesys Cloud for Salesforce.
- Unter Client-Ereigniseinstellungenkonfigurieren Sie die folgenden Elemente für Client-Ereignisnachrichten:
- Für Client Event Message Type, wählen Sie Lightning Message Channel.
Diese Einstellung veranlasst die Integration, Nachrichten auf dem Nachrichtenkanal zu senden.
- (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.
- (Optional) Wählen Sie Chat-Benachrichtigung erweitern , um eine erweiterte Nutzlast für Chat-Benachrichtigungsereignisse zu erhalten
- Klicken Sie auf Speichern.
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
- Interaction.addCustomAttributes
- Interaktion.createConference
- Interaktion.updateState
- User.updateStatus
- Abonnieren
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 |
|
|
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.