CustomEvent
This help page is for Desktop Studio. This information is also available for CXone Studio.
|
Erzeugt ein benutzerdefiniertes Ereignis, über das Sie eindeutige Daten liefern können. Mithilfe von benutzerdefinierten Ereignissen können Benutzer einen String an einen bestimmten Agenten übergeben. Sie können als Antwort auf eine agentenbezogene Aktion wie OnAnswer erzeugt werden. Benutzerdefinierte Ereignisse können außerdem vor der Zuweisung eines Agenten generiert werden, sofern TargetAgent in den Eigenschaften dieser Aktion festgelegt ist. Das erzeugte benutzerdefinierte Ereignis wird in den Ereignisstream des Agenten übergeben. Um ein benutzerdefiniertes Ereignis zu empfangen, treten Sie der Agentensitzung z. B. mithilfe von „get-next-event“ bei, um auf Ereignisse zu lauschen. Benutzerdefinierte Ereignisse sind hilfreich, wenn die vorhandenen Ereignisse nicht für Ihren Anwendungsfall passen. |
Unterstützte Skripttypen
|
|
|
|
|
|
|
Allgemein |
E-Mail-Adresse | Chat | Telefon | Voicemail | Arbeitselement | SMS |
Eingabeeigenschaften
Diese Eigenschaften definieren Daten, die von der Aktion bei der Ausführung verwendet werden.
Eigenschaft |
Beschreibung |
---|---|
Caption |
Geben Sie eine kurze Phrase ein, mit der diese Aktion im Skript eindeutig identifiziert wird. Die Beschriftung wird im Skript-Arbeitsbereich unter dem Symbol der Aktion angezeigt. |
TargetAgent |
Die ID des Agenten, der Ziel des benutzerdefinierten Ereignisses ist. Das StudioSkript füllt die AgentId-Variable nach dem OnAnswer-Ereignis für einen eingehenden Anruf aus. Das benutzerdefinierte Ereignis wird nur dann ausgeführt, wenn AgentId ausgefüllt ist. Wenn Sie ein benutzerdefiniertes Ereignis vor der Zuweisung eines Agenten senden möchten, müssen eine Agenten-ID im Feld TargetAgent angeben. |
EventName |
Geben Sie den Namen für das benutzerdefinierte Ereignis ein. Mehrere Ereignisse mit demselben Namen überschreiben sich gegenseitig. Nur der jüngste Ereignisname wird beibehalten. In diesem Feld wird zwischen Groß- und Kleinschreibung unterschieden. |
PersistInMemory |
Wenn ein Ereignis ausgeführt wird, während der Agent abgemeldet ist, und der Agent das Ereignis erhalten soll, sobald er sich wieder anmeldet, legen Sie diesen Wert auf true fest. Legen Sie ihn andernfalls auf false fest. |
Data |
Daten-Nutzlast für dieses Ereignis. |
Bedingungen für Ergebnisverzweigungen
Mit Bedingungen für Ergebnisverzweigungen können Sie in Ihrem Skript Verzweigungen erstellen, die für unterschiedliche Ergebnisse bei der Ausführung einer Aktion vorgesehen sind.
Bedingung |
Beschreibung |
---|---|
Default | Genommener Pfad, außer das Skript erfüllt eine Bedingung, die es erfordert, einer der anderen Verzweigungen zu folgen. Dieser Pfad wird auch genommen, wenn die anderen Verzweigungen der Aktion nicht definiert sind. |
OnAgentNotConnected | Genommener Pfad, wenn der Ziel-Agent nicht verbunden ist. |
Skriptbeispiel
In diesem Skriptbeispiel veranschaulichen die Verzweigungen drei Szenarien, in denen ein benutzerdefiniertes Ereignis erzeugt wird:
-
Verzweigung 1: Initiieren und Empfangen eines benutzerdefinierten Ereignisses vor der Agenteninteraktion. Das benutzerdefinierte Ereignis wird von der get-custom-event-Schleife empfangen, wenn ein Kontakt die 1 drückt.
Beispiel-Payload anzeigen{ "sessionId": "aUF6WkZJeW1nNno4NUp1eEhwZkxGdVgzaUJIRjIyMWlkaUQ2NkN0ejN0VkFyODQ4UFBZV3BiOVhRUT09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 1" } ] }
-
Verzweigung 2: Initiieren und Empfangen eines benutzerdefinierten Ereignisses vor der Agenteninteraktion. Das benutzerdefinierte Ereignis wird von der get-custom-event-Schleife empfangen, wenn ein Kontakt die 2 drückt. Es wird außerdem ein weiteres benutzerdefiniertes Ereignis erzeugt, wenn Reqagent ausgelöst wird und bevor der Agent den Anruf entgegen nimmt.
Beispiel-Payload anzeigenPayload vor Agenteninteraktion
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSVRxa0F3MjhiOCtQM2E=", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2" { ] }
Payload nach Auslösung von Reqagent und vor Entgegennahme des Anrufs durch den Agenten:
{ "sessionId": "NGVFOEd4UmJIdnlGWCtLblFEanRRSldtU2hDcXgxc1JhSUVHZ0NKNXdBSW4xeThiR0M2R1FBYlBhZz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "Menu Press 2 and post reqAgent" { ] }
-
Verzweigungen 2 & 3: Initiieren und Empfangen eines benutzerdefinierten Ereignisses nach Entgegennahme des Anrufs durch den Agenten.
Beispiel-Payload anzeigen{ "sessionId": "aktmZEY1aFpDWlVwM0FzenhzTHZ2TnhJanpsZjR5SXhsekYwaUN2TjFYbUcwOW82cjRsZVdIc1FKdz09", "events": [ { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "Type": "CallContactEvent", "ContactID": "510965166955", "MasterID": "510965166955", "Status": "Active", "OriginalState": "False", "CallType": "Regular", "DNIS": "", "ANI": "", "Skill": "23097992", "IsInbound": "True", "StartTimeUTC": "2024-07-12T15:46:38.000Z", "StartTime": "2024-07-12T15:46:38.000Z", "LastStateChangeTimeUTC": "2024-07-12T15:47:11.000Z", "LastStateChangeTime": "2024-07-12T15:47:11.000Z", "ScreenPopUrl": "", "DisconnectCode": "NA", "IsLogging": "False", "Timeout": "", "AllowDispositions": "True", "Label": "", "IsLinked": "False", "TimeZones": "", "FinalState": "False", "OtherInformation": "", "OtherInformationNewFormat": "", "BlendingToSkillName": "", "DeliveryType": "None", "CustomData": "", "ComplianceRecord": "False", "ConfirmationRequired": "False", "ParentContactId": "0", "OmniGroupId": "0", "ExternalId": "", "AnsMachineOverride": "False", "AnsMachineOverrideEndTime": "", "CustomerCardUrl": "", "InteractionId": "6a006eee-03d3-49fd-8aa9-614482684721", "IsRequireManualAccept": "False", "PhoneCallRefusalTimeOut": "45", "FaxMachineOveride": "False" }, { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "type": "CustomEvent", "eventName": "This can be anything", "data": "This is a sample message after onAnswer" }, { "IISHost": "AOA-B32COR01", "VCHost": "AOA-B32COR01", "Type": "Mute", "AgentMuted": "True" } ] }
Erstellen von benutzerdefinierten Ereignissen über eine API
Sie können ein benutzerdefiniertes Ereignis außerdem mit der custom-event-API erstellen. Dies kann erforderlich sein, wenn die CustomEvent-Aktion nicht für Ihren Anwendungsfall geeignet ist. Da Dienste in der Regel bereits den Ereignisstream des Agenten nutzen, können mit dieser Methode Daten mühelos geteilt werden, ohne einen eigenen benutzerdefinierten Endpunkt implementieren zu müssen. Dies gilt insbesondere für weniger umfangreiche Apps oder Mikrodienste.
Sie fragen Kontakte nach der bevorzugten Farbe im IVR Automatisiertes Telefonmenü, das es Anrufern ermöglicht, durch Sprachbefehle, Tasteneingaben oder beides zu interagieren, um Informationen zu erhalten, einen eingehenden Sprachanruf weiterzuleiten oder beides.. Sie packen und übergeben diese Auswahl in einem benutzerdefinierten Ereignis mit dem Namen FavoriteColor. Es wird außerdem ein Begleitdienst zusammen mit Ihrer Agent-Anwendung ausgeführt, der auf das FavoriteColor-Ereignis lauscht. Damit können Sie die Farbauswahl des Kontakts an den Begleitdienst übergeben. Dieser Dienst zeigt dann die Farbe in der Agentenanwendung an.
Die API wird ähnlich wie die Studio-Aktion verwendet. Anstelle von Eigenschaften verwenden Sie allerdings Parameter. Die Verwendung der CXone-APIs erfordert außerdem die Implementierung der API-Authentifizierung. Stellen Sie Folgendes sicher, wenn Sie die API verwenden:
-
Benennen Sie das Ereignis.
- Weisen Sie dem agentId-Parameter oder der TargetAgent-Eigenschaft der Studio-Aktion einen Agenten als Ziel zu. Sie können die ID der AgentId-Variablen verwenden. Diese wird nach dem OnAnswer-Ereignis automatisch festgelegt. Wenn Sie ein benutzerdefiniertes Ereignis vor der Zuweisung eines Agenten senden möchten, müssen Sie dennoch eine Agenten-ID angeben.
- Legen Sie das persistInMemory-Feld fest. Damit wird bestimmt, ob der Agent, wenn er abgemeldet ist, das Ereignis bei der erneuten Anmeldung empfängt.
- Füllen Sie das Data-Feld aus. Dabei handelt es sich um die Payload als String.
- Nutzen Sie das benutzerdefinierte Ereignis mit der get-next-event-API oder der Get Next Event-StudioAktion.
Im Folgenden finden Sie ein Beispiel für die Erstellung eines benutzerdefinierten Ereignisses mithilfe der API:
Beispiel-cURL:
curl -X PUT "https://api-$AREA.$DOMAIN/incontactapi/services/v30.0/agents/$AGENT_ID/custom-event?eventName=From_Postman&persistInMemory=false&data=Sent_from_Postman"
Anforderungstyp: PUT
Felder:
Parameter | Art | Details |
---|---|---|
agentId | String | Die Agenten-ID des Zielagenten. |
eventName | String | Der Name des Ereignisses. Dieser muss von allen Nutzern des Ereignisses verwendet werden. |
persistInMemory | Boolescher Wert | Wenn der mit agentId gekennzeichnete Agent aktuell nicht angemeldet ist, wird das Ereignis entweder ignoriert oder dem Agenten übergeben, wenn sich dieser erneut anmeldet. |
data | String | Beliebige Datenzeichenfolge. |