Endpunkt: /chatHub. Die Verbindung gehört zur jeweiligen Browser-Sitzung;
der Routing Service verwendet die SignalR-Verbindungs-ID zur Zuordnung des Chats.
Methoden der Website
Methode für connection.invoke |
Argumente in dieser Reihenfolge | Rückgabe |
|---|---|---|
Register |
customerName (Text), skill (Text), language (Text) |
boolescher Wert |
AddMessage |
message (Text) |
keine fachliche Bestätigung |
Register löst die Verarbeitung einer neuen Chat-Anfrage aus. skill und
language müssen zu einer konfigurierten Chat-Flow-Zuordnung passen.
true bedeutet, dass die Hub-Methode ohne eigenen Fehler ausgeführt wurde.
Fehler in der nachfolgenden Verarbeitung können trotzdem auftreten. Es wird
keine Konversations-ID an die Website zurückgegeben.
Rufen Sie AddMessage erst für einen registrierten Chat auf. Gibt es zur
Verbindung keinen Chat, protokolliert der Server den Fehler und verarbeitet
die Nachricht nicht. Eine erfolgreich abgeschlossene invoke-Operation ist
daher keine Zustellbestätigung.
Ereignisse vom Server
Name für connection.on |
Argumente | Bedeutung |
|---|---|---|
OnStateChangedAsync |
newState |
neuer Konversationszustand |
OnPositionChangedAsync |
position |
mitgeteilte Position im Wartefeld |
AddMessageAsync |
participant, htmlMessage |
Teilnehmerbezeichnung und Nachricht |
Verwenden Sie die Ereignisnamen einschließlich Async. Chat sendet beim
Zustandswechsel ein Argument; beim Callback sind es zwei.
Der Zustand wird mit der normalen JSON-Konfiguration als numerischer
ConversationState übertragen. Häufige Werte sind Inactive = 0,
Waiting = 1, Alerting = 2, Connected = 3, Disconnected = 13 und
OnHold = 14; Finalized = -1. Behandeln Sie auch weitere Werte, beispielsweise
Schließungs- und Fehlerzustände, statt einen unbekannten Wert als verbunden
anzuzeigen. Der Flow bestimmt den tatsächlichen Ablauf.
htmlMessage kann HTML enthalten. Setzen Sie es nicht ungeprüft mit
innerHTML ein. Die Chat-Anleitung zeigt eine Anzeige als Text;
wenn Formatierung benötigt wird, muss die Website erlaubtes HTML gezielt filtern.
Verbindung beenden
connection.stop() beendet die Verbindung. Der Hub meldet den zugehörigen
Chat beim Trennen ab. Es gibt hier keine eigene Hub-Methode zum Fortsetzen
eines Chats mit einer neuen Verbindungs-ID. Registrieren Sie nach einem
Neuaufbau nicht unbemerkt eine zweite Anfrage.