Point de terminaison : /chatHub. La connexion appartient à la session
du navigateur ; le Routing Service utilise son identifiant SignalR pour
identifier le chat.
Méthodes du site web
Méthode pour connection.invoke |
Arguments dans cet ordre | Retour |
|---|---|---|
Register |
customerName (texte), skill (texte), language (texte) |
booléen |
AddMessage |
message (texte) |
aucun accusé de réception métier |
Register déclenche le traitement d’une nouvelle demande de chat. skill
et language doivent correspondre à une affectation de flow de chat
configurée. true signifie que la méthode du hub s’est exécutée sans
erreur propre. Le traitement ultérieur peut néanmoins échouer. Aucun
identifiant de conversation n’est renvoyé au site.
Appelez AddMessage uniquement pour un chat enregistré. Si aucun chat
n’existe pour la connexion, le serveur journalise l’erreur et ne traite
pas le message. Un appel invoke terminé n’est donc pas une confirmation
de livraison.
Événements serveur
Nom pour connection.on |
Arguments | Signification |
|---|---|---|
OnStateChangedAsync |
newState |
nouvel état de conversation |
OnPositionChangedAsync |
position |
position communiquée dans la file |
AddMessageAsync |
participant, htmlMessage |
nom du participant et message |
Utilisez les noms avec Async. Le chat transmet un argument lors
d’un changement d’état ; le callback en transmet deux.
Avec la configuration JSON normale, l’état est un ConversationState
numérique. Les valeurs courantes sont Inactive = 0, Waiting = 1,
Alerting = 2, Connected = 3, Disconnected = 13 et OnHold = 14 ;
Finalized = -1. Traitez aussi les autres valeurs, notamment les états
de fermeture et d’erreur, sans afficher un état inconnu comme connecté.
Le flow détermine le déroulement réel.
htmlMessage peut contenir du HTML. Ne l’insérez pas avec innerHTML
sans contrôle. Le guide du chat affiche du texte brut ; pour
conserver la mise en forme, le site doit filtrer explicitement le HTML autorisé.
Fermer la connexion
connection.stop() ferme la connexion. Le hub désenregistre le chat
associé lors de la déconnexion. Il n’existe pas de méthode permettant
de reprendre un chat avec un nouvel identifiant de connexion. Après une
reconnexion, n’enregistrez pas une deuxième demande à l’insu du client.