Ressourcen für benutzerdefinierte Agentenassistenten-Integrationen

Der Inhalt dieser Seite bezieht sich auf ein Produkt oder eine Funktion in kontrollierter Freigabe (CR). Wenn Sie nicht Teil der CR-Gruppe sind und weitere Informationen wünschen, wenden Sie sich an Ihren CXone Account Representative.

Auf dieser Seite finden Sie Informationen, die Sie benötigen, wenn Sie eine benutzerdefinierte Agentenassistenten-Integration mit CXone planen und implementieren.

Unterstützte Agentenanwendungen

MAX ist zurzeit die einzige unterstützte Agentenanwendung, die mit benutzerdefinierten Agentenassistenten-Integrationen verwendet werden kann.

Audio-Streaming

Audio-Pakete werden als G.711-Audio (μlaw, 8 Bit, 8.000 kHz) codiert. Dies ist dasselbe Format, das sämtliche CXone-Telefonie-Audiodaten aufweisen.

Wenn Sie Ihre benutzerdefinierte Agentenassistenten-Integration in Agentenassistenten-Hub konfigurieren, können Sie wählen, welches Audio an die Agentenassistenten-Anwendung gesendet werden soll. Sie können Audio vom Kontakt, vom Agenten oder von beiden senden.

Zu Beginn jedes Streams sendet CXone eine Anfangsnachricht an die "Custom Agent Assist Endpoint"-App. Die Anfangsnachricht enthält den streamPerspective-Parameter, der angibt, ob der Audiostream vom Agenten oder vom Kontakt stammt:

  • "streamPerspective": "RX": Die Audiodaten, die vom Telefon des Agenten übertragen werden: der sprechende Agent.
  • "streamPerspective": "TX": Die Audiodaten, die der Agent hört: der sprechende Kontakt oder mehrere sprechende Personen, falls die Interaktion im Konferenzmodus stattfindet.
  • "streamPerspective": "MIX": Enthält beide Audiostreams (vom Agenten und vom Kontakt).

Eine individuelle Websocket-Verbindung enthält nur Audio aus einer Perspektive. Normalerweise ist dies TX oder RX, was die Stereotrennung ermöglicht. Eine Verwendung von beidem in einem einzelnen Mono-Stream ist möglich. Wenn die Interaktion im Konferenzmodus erfolgt, hängt es von der konfigurierten Stream-Perspektive ab, welches Audio empfangen wird. Wenn die Perspektive TX ist, wird das Audio aller Teilnehmer mit Ausnahme des Agenten empfangen.

Wenn die Verbindung getrennt wird oder andere Probleme auftreten, zum Beispiel verlorene Pakete, versucht der Endpunkt des benutzerdefinierten Agentenassistenten, die Verbindung zum Websocket wiederherzustellen. Es wird ein neue Authentifizierungs-Handshake erwartet, der mit dem zuerst empfangenen identisch ist.

Wenn der Kontakt in die Warteschleife gesetzt (gehalten) wird, wird die Websocket-Verbindung geschlossen. Wenn die Interaktion fortgesetzt wird, wird eine neue Websocket-Verbindung initiiert. Es wird ein neuer Authentifizierungs-Handshake erwartet, der mit dem ursprünglichen identisch ist.

Autorisierung

Sie können in benutzerdefinierten Agentenassistenten-Integrationen eine Autorisierung verwenden. Ihre Integration erfordert möglicherweise eine Authentifizierung für Anfragen beim Proxy-Tunnel und bei der Agentenassistenten-Anwendung.

Autorisierung für den Proxy-Tunnel

Wenn Sie möchten, dass der Proxy-Tunnel eine Autorisierung erfordern soll, wenn Anfragen durch den Tunnel übergeben werden, müssen Sie diese Anforderung bei der Entwicklung Ihrer Integration berücksichtigen. Sie können beliebige Arten der Autorisierung verwenden, zum Beispiel Header oder dynamische, Token-basierte Autorisierung. Sie müssen Ihren Proxy-Tunnel für die gewählte Autorisierungsmethode einrichten.

Außerdem müssen Sie Ihr Studio-Skript für die Verwaltung der Autorisierung konfigurieren.

  • Für die Header-basierte Autorisierung muss das Skript den Header in die Anfragen einschließen, die es sendet.
  • Für die Token-basierte Autorisierung muss das Skript ein Token anfordern, es im Cache speichern und die Gültigkeit verwalten. Wenn das Token abgelaufen ist, muss das Skript ggf. ein neues anfordern. Verwenden Sie die REST API Studio-Aktion für die Kommunikation mit dem Authentifizierungsserver.

Wenn Sie die dynamische Autorisierung verwenden, müssen Sie auch einen Autorisierungsserver einrichten, falls Sie nicht schon einen zur Verfügung haben. Der Autorisierungsserver gibt Token aus, wenn sie vom Skript angefordert werden.

Autorisierung für die Agentenassistenten-Anwendung

Wenn Ihr Agentenassistenten-Anbieter für alle Anfragen eine Autorisierung verlangt, können Sie diese in der "Custom Agent Assist Endpoint"-App in Agentenassistenten-Hub konfigurieren.

Um Autorisierung mit Ihrer benutzerdefinierten Integration zu verwenden, ist Folgendes erforderlich:

  • Generieren des Autorisierungs-Headers, der in den Skripten Ihrer benutzerdefinierten Agentenassistenten-Integration verwendet wird. Alle erforderlichen Konfigurationen sollten Sie in der Dokumentation Ihres Agentenassistenten-Anbieters finden.
  • Hinzufügen der erforderlichen Header zur "Custom Agent Assist Endpoint"-App in Agentenassistenten-Hub. Wenn Sie die Agentenassistenten-Anwendung mit Text- und Sprachinteraktionen verwenden wollen, brauchen Sie unterschiedliche Header für jeden Interaktionstyp. Informationen zum Generieren von Headern sollten Sie in der Dokumentation Ihres Agentenassistenten-Anbieters finden.

In Ihrem Skript müssen Sie dafür nichts konfigurieren. Die "Custom Agent Assist Endpoint"-App ist für die Übergabe des Headers an die Agentenassistenten-Anwendung zuständig.

Konfigurationsanforderungen für die CXone-Plattform

Es gibt keine obligatorischen Konfigurationsänderungen für die CXone-Plattform, um eine benutzerdefinierte Agentenassistenten-Integration einzurichten. Sie können vorhandene Skripte ändern, um die neue Agentenassistenten-Anwendung einzuschließen. Je nachdem, wie Ihre Organisation die neue Anwendung einsetzt, sind aber möglicherweise einige Konfigurationsschritte erforderlich. Sie müssen eventuell:

Ablaufdiagramme

Ablaufdiagramme zeigen, wie verschiedene Teile einer benutzerdefinierten Agentenassistenten-Integration interagieren und in welcher Reihenfolge diese Interaktionen stattfinden. Sie zeigen den zeitlichen Ablauf einer Interaktion, beginnend oben links und dann vor und zurück nach unten bis zum Ende der Seite.

Ablaufdiagramme sind ein wichtiger Teil der Planung Ihrer benutzerdefinierten Integration. Sie können sie verwenden, um den Fluss von Anfragen und Antworten zwischen CXone, Agentenassistenten-Hub, dem Proxy-Tunnel und Ihrer Agentenassistenten-Anwendung zu skizzieren. Sie können auch hilfreich sein, um den Ablauf zu bestimmen, dem Ihr Studio-Skript folgen muss.

Beispiel eines Ablaufdiagramms für eine benutzerdefinierte Agentenassistenten-Integration.

Anforderungen und Richtlinien für Studio-Skripte

Nutzen Sie die folgenden Beispiele als Grundlage, um die Skripte für die Integration Ihres Agentenassistenten in CXone zu erstellen. Für eingehende und ausgehende Interaktionen sind separate Skripte erforderlich. Das folgende Bild zeigt die grundlegenden Aktionen für ein Skript für eingehende Interaktionen:

Beispielskript mit der onAnswer-Aktion, die mit der Rest API-Aktion verbunden ist, die wiederum mit der Agent Assist-Aktion verbunden ist.

Dieses Bild zeigt die grundlegenden Aktionen für ein Skript für ausgehende Interaktionen:

In beiden Skripten ist das Snippet "Script Param Payload" optional. Sie müssen es nur einschließen, wenn Sie Parameter an den Agentenassistenten übergeben müssen.

Um das Skript abzuschließen, ist Folgendes erforderlich:

  • Verbinden Sie die anderen Zweige jeder Aktion.
  • Fügen Sie andere Aktionen, Konfigurationen und Scripting-Logik hinzu wie erforderlich, damit das Skript in Ihrer Umgebung funktioniert.
  • Stellen Sie sicher, dass die optionale Skriptparameter-Payload Snippet-Aktion die JSON für eigene Payload für das Senden an den Agentenassistenten-Anbieter enthält.

  • Stellen Sie sicher, dass die scriptParams-Eigenschaft in der Agent Assist-Aktion auf {customPayloadJSON} gesetzt ist. Dies ist nur erforderlich, wenn Sie die optionale Snippet-Aktion in die eigene Payload einschließen.
  • Weisen Sie die Konfigurations-App für Custom Agent Assist Endpoints der Agent Assist-Aktion zu.
    • Fügen Sie dem Skript mithilfe von Snippet-Aktionen Initialisierungs-Snippets hinzu. Sie können dies tun, um Ihre Agentenassistenten-Anwendung anzupassen.
    • Konfigurieren Sie die Aktionskonnektoren neu, um einen ordnungsgemäßen Kontaktablauf zu gewährleisten, und korrigieren Sie mögliche Fehler.
    • Vervollständigen und testen Sie das Skript.

Wenn Sie Hilfe bei der Skripterstellung in Studio benötigen, wenden Sie sich an CXone Account Representative, lesen Sie den Abschnitt mit Skripting-Referenzmaterial in der Online-Hilfe oder besuchen Sie die Website der NICE CXone Community.

Skriptparameter-Payload-Snippet

Dieses Snippet definiert die Daten, die von der Agent Assistaction-Aktion an die Agent Assist-Anwendung übergeben werden. Fügen Sie diesen Code einer Snippetaction-Aktion in Ihrem Skript hinzu:

DYNAMIC customParam
customParam.param1 = "{value1}"
customParam.param2 = "{value2}"
customParam.param3 = "{value3}"
customParam.param4 = "{value4}"

ASSIGN customParamjson = "{customParam.asJSON()}" 

Wenn keine Parameter für die eigene Payload gesendet werden müssen, aber das Snippet "Skriptparameter" erforderlich ist, können Sie die Variablendeklarationen in das Snippet einschließen, ohne Werte zuzuweisen. Beispielsweise:

DYNAMIC customParam
ASSIGN customParamjson = "{customParam.asJSON()}" 

So verwenden Sie dieses Snippet:

  1. Ändern Sie die Namen und Werte der Parameter so, dass sie den Anforderungen Ihrer Organisation und der verwendeten Agent Assist-Anwendung entsprechen.
  2. Platzieren Sie dieSnippet-Aktion im Skript vor der Agent Assist-Aktion.
  3. Konfigurieren Sie die Eigenschaft scriptParams in der Agent Assistaction-Aktion mit dem Namen der Variablen, die den JSON-Code enthält. Im Beispiel wäre dies customParamjson.

Neue oder vorhandene Skripte?

Sie können neue Skripte erstellen, die mit Ihrer benutzerdefinierten Agentenassistenten-Integration verwendet werden sollen. Sie können aber auch vorhandene Skripte modifizieren. Nehmen Sie keine direkten Änderungen an Skripten vor, die sich zurzeit in der Produktionsumgebung befinden. Dies kann zu Fehlern führen, die das Kontaktrouting unterbrechen.

Wenn Sie ein vorhandenes Skript verwenden möchten, speichern Sie eine Kopie des Skripts und bearbeiten Sie diese. Nachdem Ihre benutzerdefinierte Integration umfassend getestet wurde und bereit für die Implementierung ist, können Sie das modifizierte Skript in die Produktionsumgebung verschieben. Sie bringen ein Skript in die Produktionsumgebung, indem Sie einen der folgenden Schritte ausführen:

Entwicklung von Proxy-Tunnel-Webhooks und Spezifikationen

Der Proxy-Tunnel ist die Middleware zwischen CXone und dem Endpunkt Ihrer Agentenassistenten-Anwendung. Durch ihn verlaufen alle Anfragen und Antworten. Er muss Anfragen von CXone in ein Format übersetzen, das die Agentenassistenten-Anwendung versteht. Entsprechend muss er Antworten von der Agentenassistenten-Anwendung in ein Format übersetzen, das CXone versteht. Um diese Übersetzungen zu ermöglichen, müssen Sie die Endpunkte von CXone und der Agentenassistenten-Anwendung zuordnen.

Der Proxy-Tunnel ist nicht erforderlich. Es wird jedoch empfohlen, einen Proxy-Tunnel in die Integration einzuschließen. Der ProxyTunnel hat die folgenden Vorteile:

  • Er sorgt für mehr Sicherheit, da Ihr Rechenzentrum nur einen einzigen Zugangspunkt verwalten muss.
  • Er bietet Failover und Lastverteilung.
  • Er übersetzt Protokolle zwischen CXone und dem System des Agentenassistenten-Anbieters.

Wenn Ihre Integration keinen Proxy-Tunnel enthält, sendet das Skript die anfängliche Websocket-Anforderung an die Webhook-URLs. Sie müssen Ihr Skript so konfigurieren, dass es Anforderungen in dem Format sendet und empfängt, das von der Agentenassistenten-Anwendung erwartet wird.

Die nachstehenden Abschnitte enthalten folgende Themen:

Wichtige Fakten für die Proxy-Tunnel-Entwicklung

Die folgenden Informationen können Ihnen beim Planen und Entwickeln des Proxy-Tunnel-Endpunkts helfen:

  • Der Text-Relay-Endpunkt muss HTTPS verwenden. Mit HTTP funktioniert er nicht.

  • Der Audio-Relay-Endpunkt muss ein Websocket sein. Es kann gesichert (WSS) oder ungesichert (WS) sein.

  • Alle Proxy-Tunnel-Endpunkte müssen Kommunikation aus dem NICE CXone-Netzwerk senden und empfangen können.

  • Durch den Webhook fließen nur binäre Daten.

  • Bei Sprachinteraktionen werden nur Audiopakete aus dem Gespräch gesendet. Es werden keine Anrufsteuerungen oder Metadaten eingeschlossen.

  • Benutzerdefinierte Agentenassistenten-Integrationen unterstützen mindestens 2000 gleichzeitige Anfragen.

  • Es gibt keine Ablaufzeit oder eine maximale Verbindungsdauer beim Streamen einer Interaktion. Benutzerdefinierte Agentenassistenten-Integrationen lassen zu, dass Aufrufe geöffnet bleiben, solange der Anruf aktiv ist. Wenn der Anruf endet, wird die Verbindung geschlossen.

  • Wenn ein Anruf auf "Halten" gesetzt wird, bleibt die Verbindung geöffnet, es werden aber keine Daten gesendet.

  • Kontakt-IDs sind pro Business UnitGeschlossen Eine übergeordnete organisatorische Gruppierung, die Sie für die technische Unterstützung und Abrechnung und außerdem zur Bearbeitung von globalen Einstellungen in Ihrer CXone Umgebung einsetzen können. eindeutig. CXone bietet eine API, die Sie nutzen können, um Echtzeitdaten über die contactID abzurufen. Um die Dokumentation über die API anzuzeigen, benötigen Sie Zugang zum CXone Dev Portal. Fragen Sie Ihren CXone Account Representative, um Zugriff zu bekommen.

Verbindung mit dem Audio-Webhook: Erste Anfrage

Sprachinteraktionen müssen Webhook-Anfragen (WSS oder WS) verwenden. Die ursprüngliche Websocket-Anfrage von CXone folgt diesem Format:

 
"authenticationToken": "[header provided in Custom Agent Assist app]",
"executionInfo": {    
      "contactId": 0, 
      "busNo": 0, 
      "requestId": 0,  
      "actionType": "string",  
      "actionId": 0,  
      "scriptName": "string"
},
      "systemTelemetryData": {    
            "consumerProcessHost": "string",  
            "consumerProcessName": "string",  
            "consumerProcessVersion": "string",  
            "inContactClusterAlias": "string",  
            "inContactScriptEngineHost": "string",  
            "consumerMetaData": {  
                  "additionalProp1": "string",
                  "additionalProp2": "string",   
                  "additionalProp3": "string"  
            }
      },
"streamPerspective": "TX/RX/MIX",
"streamsConfiguration": "string",
"appParams": "string",
"appConfig": "string"
			
		

Die Parameter dieser Anfrage werden im Abschnitt "Schemas" auf dieser Seite genauer beschrieben.

Verbindung mit dem Audio-Webhook: Handshake-Antwort

Wenn authenticationToken bereitgestellt wird, validieren Sie das Token oder den Header und senden Sie eine Handshake-Antwort. Die Antwort muss das Format der CXoneWebSocketMessage-Klasse aufweisen:


public class CXOneWebSocketMessage 
{ 
/// Type of command - see CXOneWebSocketCommandType below
public CXOneWebSocketCommandType command { get; set; } 

/// Type of message returned 
public string messageType { get; set; } 

/// Text message 
public string message { get; set; } 

/// Additional parameters 
public object parameters { get; set; } 
)

public enum CXOneWebSocketCommandType
{ 
CONNECT, 
/// When the initial message/auth validation is a success 
CONNECTED, 
/// Message command 
MESSAGE,  
/// Error command, for example when the initial message/auth is invalid 
ERROR
}
		

Beispielsweise:


{
    "command": "CONNECTED",
    "messageType": "COMMAND",
    "message": "BEGIN AUDIO STREAM"
}
		

Codebeispiel für die Verbindung mit dem Websocket:

	
WebSocketReceiveResult result = await webSocket.ReceiveAsync(buffer, CancellationToken.None);
if (result.MessageType == WebSocketMessageType.Text)
{ 
    _logger.LogInformation(string.Concat ("MessageType : ", result.MessageType.ToString()));
    if (buffer == null || buffer?.Length == 0)
    {
       return;
    }
    var message = Encoding.UTF8.GetString(buffer, 0, buffer?.Length ?? 0);
    _logger.LogInformation(string.Concat("On Connected", message));
 
    // Validates initial message
    var initialMessage = JsonConvert.DeserializeObject<WebSocketHookInitializeMessage>(message);
    webSocketHookInitilizeMessage = initialMessage;
    param = JsonConvert.SerializeObject(webSocketHookInitializeMessage.appConfig);
 
    // Send response back to  after successful validation
    CXOneWebSocketMessage connectedMessage = new CXOneWebSocketMessage
    {
       command = CXOneWebSocketCommandType.CONNECTED,
       messageType = "COMMAND", 
       message = "BEGIN AUDIO STREAM"
   }; 

    var jsonResponse = Newtonsoft.Json.JsonConvert.SerializeObject(connectedMessage);
    await webSocket?.SendAsync(buffer: new ArraySegment<byte>(array: Encoding.UTF8.GetBytes(jsonResponse),
             offset: 0,
             count: jsonResponse.Length),
             messageType: WebSocketMessageType.Text,
             endOfMessage: true,
             cancellationToken: CancellationToken.None);
}

else if (result.MessageType == WebSocketMessageType.Binary)
{
// You can read the binary voice data
}		
				
		

Im Abschnitt "Schemas" dieser Seite wird Folgendes beschrieben:

Verbindung mit dem Texthook

Für den Austausch von Textdaten aus dem Chat benötigen Sie eine Verbindung zum Text-Webhook. Es werden nur HTTP/HTTPS-Anfragen akzeptiert.

Jede Anfrage enthält die folgenden Objekte. Der Autorisierungs-Header wird nur gesendet, wenn Sie in Agentenassistenten-Hub einen Header in der "Custom Agent Assist Endpoints"-App hinzufügen. Autorisierungs-Header sind nicht erforderlich.


public class WebHooksMessagesRequest
{
	/// If you provide this information in the configuration, it's included.
	public string authorizationHeader { get; set; }
	public int contactId { get; set; }
	public int busNo { get; set; }
	
	
	/// This will be one of the following: patron, agent, or system
	public string participantId { get; set; }
	
	/// Text of the user input (from participantId)
	public string messageBody { get; set; }
	
	/// Other useful data about the message or that are part of the message, such as images or links.
	public object messageData { get; set; }
	
	/// Configuration blob from Agentenassistenten-Hub. 
	/// It may only include the configuration identifier for apps that have large amounts of configuration data.
	public object agentAssistAppConfig { get; set; }
}
 	

Die Parameter in diesem Code werden im Abschnitt "Schemas" auf dieser Seite beschrieben.

Konfigurationsparameter

Sie können zusätzliche Parameter hinzufügen, wenn Sie in Agentenassistenten-Hub die "Custom Agent Assist Endpoint"-App konfigurieren. Dies ist hilfreich, wenn Ihr Agentenassistenten-Anbieter verlangt, dass mit jeder Anfrage bestimmte Parameter gesendet werden. Zusätzliche Parameter sind nicht erforderlich. Alle Parameter, die Sie hinzufügen, werden im agentAssistAppConfig-Objekt des WebHooksMessagesRequest-Objekts gesendet. Beispielsweise:


"agentAssistAppConfig":{ 
   "param1": "value1", 
   "param2": "value2",
} 
		

CXone-Endpunkte für benutzerdefinierte Agentenassistenten-Integrationen

Die hier angegebenen API-Endpunkte sind interaktive Referenzen, die Sie mit Ihrer benutzerdefinierten Agentenassistenten-Integration verwenden können, um Beispielanfragen von CXone zu erhalten. Zusätzliche Informationen einschließlich des Originalschemas sind in der Swagger-Dokumentation zur API verfügbar.

Endpunkte für sprachbasierte Agentenassistenten-Anwendungen

GET ​/agent_assist_audio_websocket_hooks​/example-websocket-server: Dieser Endpunkt bietet ein Beispiel einer URL für eine Websocket-Serveranfrage. Dieses Beispiel entspricht der Audio-Websockethook-Spezifikation von CXone.

GET ​/agent_assist_audio_websocket_hooks​/initializemessage-example: Dieser Endpunkt bietet ein Beispiel einer Websocket-Initialisierungsmeldung.

POST /agent_assist_audio_websocket_hooks/custom-assist-endpoint/initialize-audio-message-example: Dieser Endpunkt bietet ein Beispiel einer Anfangsanfrage und einer Antwort. Details finden Sie im WebSocketHookInitializeMessage-Schema und im CXoneWebSocketMessage-Schema.

Endpunkte für chatbasierte Agentenassistenten-Anwendungen

POST ​/agent_assist_text_webhooks​/utterance: Dieser Endpunkt bietet ein Beispiel für den Empfang textbasierter ÄußerungenGeschlossen Was ein Kontakt sagt oder tippt. in Echtzeit und die asynchrone Agentenunterstützung. Äußerungen können nur vom Kontakt, nur vom Agenten oder von beiden stammen.

Schemas

Die folgenden Abschnitte enthalten Informationen über die Schemas, die mit benutzerdefinierten Agentenassistenten-Endpunkten verwendet werden. Überprüfen Sie Schemas immer in der neuesten Version der Swagger-Dokumentation, bevor Sie diese Informationen in Ihren Skripten verwenden.

ActionExecutionInfo

Enthält Informationen über die Aktion und das Skript, die ausgeführt werden.

Parameter

Art

Details

contactId Ganze Zahl Die eindeutige Kennung der Interaktion
busNo Ganze Zahl Die ID der CXoneGeschäftseinheitGeschlossen Eine übergeordnete organisatorische Gruppierung, die Sie für die technische Unterstützung und Abrechnung und außerdem zur Bearbeitung von globalen Einstellungen in Ihrer CXone Umgebung einsetzen können., in der sich das Skript befindet.
requestId Ganze Zahl

Eine iterative Zahl, die jede Anfrage in einer bestimmten Interaktion identifiziert. Wenn Sie requestId in Anfragen einschließen, kann sie in Antworten eingeschlossen werden.

Dies kann bei der Fehlerbehebung hilfreich sein. Wenn requestID ein eindeutiger Wert ist, kann dieser verwendet werden, um eine individuelle Anfrage/Antwort in Protokolldateien zu suchen.

actionType

String

Der Aktionstyp, der die Anfrage an den benutzerdefinierten Endpunkt sendet.
actionId

Ganze Zahl

Die ID der Studio-Aktion im Skript. Aktions-IDs basieren auf der Reihenfolge, in der die Aktionen dem Skript hinzugefügt wurden.
scriptName

String

Pfad und Name des Skripts, das die Anfrage sendet.

AgentAssistUtterance_V1

Enthält den Nachrichtentext und Informationen über die Nachricht.

Parameter

Art

Details

contactId Ganzzahl ($int64) Die ID des Kontakts in der aktuellen Instanz des Skripts.
busNo Ganzzahl ($int32) Die ID der CXone-GeschäftseinheitGeschlossen Eine übergeordnete organisatorische Gruppierung, die Sie für die technische Unterstützung und Abrechnung und außerdem zur Bearbeitung von globalen Einstellungen in Ihrer CXone Umgebung einsetzen können., in der sich das Skript befindet.
tenantId

String

Dieser Parameter wird nicht benötigt.
participantId

String

Gibt an, ob die Nachrichten vom Kontakt (Patron), vom Agenten (Agent) oder von beiden (System) stammen.
messageBody

String

Der Text der Nachricht.
messageMetaData  

Enthält Parameter, die hilfreiche Daten über die Nachricht in messageBody enthalten. Wenn es sich bei der Nachricht um eine Chatnachricht handelt, kann dieser Parameter auch Bilder, Links oder andere Inhalte enthalten, die als Teil der Nachricht gesendet werden.

agentAssistAppConfig  

Enthält Konfigurationsinformationen aus Agentenassistenten-Hub. Für Agentenassistenten-Anwendungen mit großen Konfigurations-Blobs enthält dieses Objekt möglicherweise nur den Konfigurationskennzeichner.

{
	"agentAssistAppConfig":
        {

"param1": "value1",

"param2": "value2"

        }

}

CXoneWebSocketCommandType

Definiert die Art des Befehls, der gesendet wird. Mögliche Werte sind:

  • CONNECT .
  • CONNECTED für den Fall, dass die Validierung der Anfangsnachricht oder der Autorisierung erfolgreich ist.
  • MESSAGE zur Verwendung beim Senden einer Nachricht.
  • ERROR zur Verwendung für den Fall, dass die Validierung der Anfangsnachricht oder der Autorisierung ungültig ist.

CXoneWebSocketMessage

Enthält die Nachricht, die von der Agentenassistenten-Anwendung an CXone gesendet wurde.

Parameter

Art

Details

command String Enthält den Wert von CXOneWebSocketCommandType.
messageType

String

Enthält den Typ der Nachricht.
message

String

Enthält den Text der Nachricht.
parameters  

Ein Objekt, das alle zusätzlichen Parameter enthält, die die Agentenassistenten-Anwendung benötigt. Konfigurieren Sie die erforderlichen Parameter in der "Custom Agent Assist Endpoint"-App in Agentenassistenten-Hub.

{ additional parameters
}

StreamPerspective

Enthält ein String-Array mit drei möglichen Werten. Dieser Parameter entspricht der Teilnehmer-Konfiguration in der "Custom Agent Assist Endpoints"-App in Agentenassistenten-Hub. Er definiert, ob der Audiostream Audiodaten nur vom Kontakt (0 (TX)), nur vom Agenten (1 (RX) ) oder von beiden (2 (MX)) enthält.

SystemTelemetryData

Enthält Daten zum API-Consumer, die nicht mit der Studio-Skript-Aktion verknüpft sind. Die Daten, die dieses Objekt enthält, können beim Debugging, bei der Rechnungsstellung, in Berichten usw. hilfreich sein.

Parameter

Art

Details

consumerProcessHost String Der Hostname der Anwendung, die die API aufruft.
consumerProcessName String Der Name des Prozesses oder der Anwendung, der bzw. die den API-Aufruf tätigt. Beispiel: EsnMediaServer.exe.
consumerProcessVersion String Versionsinformationen über die Anwendung, die die API aufruft.
inContactClusterAlias String Falls zutreffend und verfügbar, geben Sie den Alias des NICE CXone-Clusters an, in dem das Skript ausgeführt wird. Beispiel: C7 oder M33.
inContactScriptEngineHost String Falls zutreffend und verfügbar, geben Sie den Hostnamen der NICE CXone-Skript-Engine an. Beispiel: lax-c4cor01 oder aoa-c32cor01.
consumerMetaData Objekt

Enthält beliebige und erweiterbare Daten über den API-Consumer.

{
	< * >:
}

WebSocketHookInitializeMessage

Dies ist die Nachrichtenstruktur für die erste Payload von einem Websocket-Client, der eine Verbindung herstellt, zum Beispiel vom NICE CXone-Medienserver.

Parameter

Art

Details

authenticationToken String

Enthält den Authentifizierungs-Header, der in der Custom Agent Assist Endpoints-App in Agentenassistenten-Hub konfiguriert wurde.

executionInfo   Enthält das ActionExecutionInfo-Objekt.
systemTelemetryData   Enthält das SystemTelemetryData-Objekt.
streamPerspective   Enthält den Wert von StreamPerspective.
streamsConfiguration   Wird zurzeit nicht verwendet.
appParams  

Dynamische Kontaktparameter, die von Studio-Skripten oder anderen Quellen übergeben werden können.

{ parameters
}
appConfig  

Vorkonfigurierte Einstellungen in der Konfiguration der Agentenassistenten-Anwendung.

{ parameters
}