IBM Cloud Docs
Fonctionnement de la discussion Web

Fonctionnement de la discussion Web

La discussion Web fournit une interface d'agent conversationnel facile à utiliser que vous pouvez ajouter à votre site Web sans écrire de code.

Après avoir ajouté le script de chat Web à votre site Web, vos clients voient une icône de lancement sur laquelle ils peuvent cliquer pour ouvrir la fenêtre de chat et entamer une conversation avec l'assistant. L'apparence de l'icône du programme de lancement s'adapte aux navigateurs mobiles et de bureau.

Lorsqu'un client clique sur le programme de lancement, la fenêtre de discussion Web s'ouvre et affiche initialement le fichier écran d'accueil. L'écran d'accueil affiche un message d'accueil et une série de suggestions de sujets de conversation pour les questions et problèmes courants. Le client peut soit cliquer sur un module de démarrage de la conversation, soit entrer un message dans la zone de saisie pour démarrer la conversation avec l'assistant.

L'apparence et le comportement de l'icône du lanceur, de l'écran d'accueil et de la plupart des autres aspects du chat web peuvent être configurés et personnalisés pour correspondre au style et à l'image de marque de votre site web. Pour plus d'informations, voir Configuration de la discussion Web.

Apparition et comportement du programme de lancement

Le lanceur de discussion Web accueille les clients afin qu'ils sachent où trouver de l'aide s'ils en ont besoin. Par défaut, le lanceur de chat web s'affiche sous la forme d'un cercle. Exemple du lanceur initial dans le coin inférieur droit :

Au bout de 15 secondes, le lanceur se développe pour afficher un message de message d'accueil à l'utilisateur. Dans cet état développé, un client peut toujours cliquer sur le programme de lancement pour ouvrir la discussion Web. (Si le client recharge la page ou navigue vers une autre page avant que le lanceur ne se développe, le compte à rebours de 15 secondes recommence.)

L'apparence de cet état développé diffère légèrement selon que le client utilise un navigateur mobile ou un navigateur de bureau :

  • Pour les navigateurs de bureau, le programme de lancement développé affiche deux boutons principaux que le client peut cliquer pour ouvrir la discussion Web et un bouton Fermer qui ferme le programme de lancement.

    Exemple de programme de lancement de bureau

    Le lanceur développé reste à l'état développé même si le client recharge la page ou navigue sur une autre page. Il reste dans son état déployé jusqu'à ce que le client l'ouvre. Le client peut l'ouvrir en cliquant sur l'un des deux boutons principaux. Lorsque le client le ferme, il revient à son petit format initial pour le reste de la session.

  • Pour les navigateurs mobiles, le programme de lancement n'affiche qu'un seul bouton principal.

    Exemple de programme de lancement mobile

    Le client peut fermer le lanceur en faisant défiler la page, en glissant à droite sur le lanceur développé, ou en attente de 10 secondes, au moment où le lanceur développé rétrécit automatiquement son petit état initial. Si l'utilisateur recharge la page ou navigue vers une autre page alors que le lanceur est développé, il reste dans son état développé et le compte à rebours de 10 secondes redémarre.

Après l'actualisation de la page suivante, si le programme de lancement reste dans son petit état sans être cliqué, il rebondit de haut en bas pour attirer l'attention du client. Le premier rebond se produit 15 secondes après l'actualisation de la page. Si le client ne clique toujours pas sur le programme de lancement, celui-ci rebondit à nouveau 60 secondes plus tard. (Le moment du deuxième rebond peut être affecté si l'utilisateur actualise la page ou navigue sur une autre page). Si l'utilisateur ne clique toujours pas sur le programme de lancement, il n'y aura pas de nouveau rebond.

La langue du texte par défaut qui s'affiche dans le lanceur dépend des paramètres régionaux configurés pour le chat web. Si vous personnalisez le texte de message d'accueil, le texte que vous fournissez est utilisé quel que soit le paramètre d'environnement local.

Vous pouvez configurer la couleur du lanceur et le texte du message d'accueil dans les paramètres du chat web. Pour plus d'informations, voir Configuration de la discussion Web.

Sortie de l'assistant de rendu

En plus du texte en clair, watsonx Assistant prend en charge de nombreux types de réponse qui peuvent être utilisés pour générer des éléments multimédias et interactifs. La discussion Web inclut une prise en charge intégrée pour une grande variété de types de réponse :

  • Mise en forme du texte: Le chat en ligne prend en charge la mise en forme du texte qui utilise soit l' Markdown, soit le HTML. Pour plus d'informations, voir Mise en forme deMarkdown.
  • Adresses URL : Les URL valides (telles que http://example.com) sont automatiquement rendues sous forme de liens cliquables. Lorsqu'un client clique sur un lien dans la discussion Web, le site Web cible s'ouvre dans un nouvel onglet du navigateur.
  • Options : Les réponses des options (lorsque l'assistant demande au client de choisir parmi un ensemble de choix) sont automatiquement rendues sous forme d'éléments interactifs. (Par défaut, un ensemble de moins de cinq options est affiché sous la forme d'un ensemble de boutons cliquables ; cinq options ou plus sont affichées sous forme de liste déroulante).
  • Dates : Lorsque l'assistant demande au client d'indiquer une date, la discussion Web affiche un sélecteur de date interactif. Le client peut indiquer la date en cliquant sur le sélecteur de date ou en entrant une valeur de date valide dans la zone de saisie.
  • Réponses multimédias : La discussion Web prend en charge tous les types de réponse multimédia (audio, image et video).
  • iframe : La discussion Web prend en charge le type de réponse iframe, qui intègre le contenu HTML (tel qu'un formulaire ou une mappe interactive) directement dans la fenêtre de discussion Web.

Pour plus d'informations sur la façon dont la discussion Web gère des types de réponse spécifiques, voir la Référence des types de réponse.

Formatage Markdown

Dans les réponses textuelles de l'assistant, vous pouvez utiliser le formatage Markdown pour appliquer une mise en évidence telle que l'italique ou pour inclure des éléments tels que des paragraphes et des en-têtes. Voici quelques exemples courants de formatage Markdown:

  • En-têtes:

    # First-level heading
    
    ## Second-level heading
    
  • Mise en évidence:

    This text includes *italic* and **bold** highlighting, as well as a `code` snippet.
    
  • Listes:

    1. ordered
    2. list
    
    - bulleted
    - list
    
  • Tables :

    | Column 1 | Column 2 |
    |----------|----------|
    | Row      | One      |
    | Row      | Two      |
    
  • Liens :

    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html) opens in a new tab.
    
    [This link](https://www.ibm.com/products/watson-assistant/demos/lendyr/demo.html){{target=\"_self\" rel=\"noopener noreferrer\"}} opens in the same tab.
    

Pour plus d'informations sur le format Markdown, voir la spécificationCommonMark.

Transfert d'agent actif

Le chat en ligne permet de transférer le client à un humain dans les situations que l'assistant ne peut pas gérer. Si vous configurez l'une des intégrations de centre de contact prises en charge, le chat Web peut ouvrir une fenêtre de chat distincte dans laquelle le client peut communiquer avec un agent en direct.

Votre assistant peut alors initier un transfert dans les situations où il n'est pas capable de traiter les demandes d'un client. (Pour plus d'informations sur le lancement d'un transfert, voir Connexion à un agent actif.)

Pour plus d'informations sur l'ajout d'une intégration de centre d'appel à la discussion Web, voir Ajout du support de centre d'appel.

Détails techniques

Le chat en ligne est affiché sur votre site web par un court extrait de code d' JavaScript, qui appelle un code d' JavaScript s supplémentaire hébergé par IBM Cloud. Le code hébergé est automatiquement mis à jour avec les nouvelles fonctionnalités et corrections, de sorte que vous disposez toujours de la dernière version par défaut. (Vous pouvez éventuellement verrouiller une version spécifique si vous préférez contrôler vous-même les mises à niveau).

Le fragment de code qui crée le widget de discussion Web inclut un objet de configuration que vous pouvez modifier pour changer l'apparence et le comportement de la discussion Web. L'objet de configuration spécifie également des détails qui permettent à la discussion Web de se connecter à votre assistant. Si vous êtes à l'aise avec l'écriture de code d' JavaScript, vous pouvez personnaliser le chat web en modifiant l'extrait de code et en utilisant l'API du chat web.

La discussion Web utilise l'API avec état watsonx Assistant v2 pour communiquer avec l'assistant. Par défaut, la session se termine et la conversation se termine après 5 minutes d'inactivité. Cela signifie que si un utilisateur cesse d'interagir avec l'assistant, au bout de 5 minutes, toutes les valeurs des variables de contexte qui ont été définies lors de la conversation précédente sont mises à zéro ou reviennent à leurs valeurs initiales. Vous pouvez modifier le paramètre de délai d'inactivité dans les paramètres de l'assistant (si votre plan l'autorise).

Accessibilité

IBM s'efforce de concevoir des produits accessibles à tous les utilisateurs, quels que soient leur âge et leurs qualifications.

L'intégration de la discussion Web est conforme à la norme Web Content Accessibility 2.1 Level AA. Il est testé avec des lecteurs d'écran et des outils automatisés sur une base continue.

Facturation

watsonx Assistant des frais basés sur le nombre d'utilisateurs actifs uniques par mois (MAU).

Par défaut, la discussion Web crée un ID unique et anonyme la première fois qu'un nouvel utilisateur démarre une session. Cet identificateur est stocké dans un cookie interne, qui reste actif pendant 45 jours. Si le même utilisateur revient à votre site et discute à nouveau avec votre assistant alors que ce cookie est toujours actif, l'intégration de discussion Web reconnaît l'utilisateur et utilise le même ID utilisateur. Vous n'êtes facturé qu'une seule fois par mois pour le même utilisateur anonyme.

Sur les périphériques Apple, le dispositif Intelligent Tracking Prevention supprime automatiquement tout cookie côté client après 7 jours. Si un client anonyme accède à votre site web puis le visite à nouveau deux semaines plus tard, les deux visites sont considérées comme deux MAU différentes. Pour plus d'informations sur la manière d'éviter ce problème, voir Gestion des informations d'identité de l'utilisateur dans la discussion Web.

Pour plus d'informations sur la personnalisation du traitement des informations d'identité d'utilisateur à des fins de facturation, voir Gestion des informations d'identité d'utilisateur dans la discussion Web.

L'utilisation est mesurée différemment selon le type de plan. Pour les plans Lite, l'utilisation est mesurée par le nombre d'appels /message (API) envoyés à l'assistant à partir de l'intégration de discussion Web. Pour tous les autres plans, l'utilisation est mesurée par le nombre d'utilisateurs actifs mensuels (MAU) avec lesquels la discussion Web chat interagit. Le nombre maximal de MAU autorisés varie selon votre type de plan watsonx Assistant.

Détails du plan
Plan Utilisation maximale
Entreprise MAU illimité
Premium (existant) MAU illimité
Plus MAU illimité
Essai 5 000 MAU
Lite 10 000 API (environ 1 000 MAU)

Support de navigateur

La discussion Web prend en charge divers appareils et plateformes. En général, si les deux dernières versions d'un navigateur représentent plus de 1 % de l'ensemble du trafic sur ordinateur de bureau ou mobile, le chat en ligne prend en charge ce navigateur.

La liste suivante indique le logiciel de navigation minimum requis pour la discussion Web (y compris les deux versions les plus récentes, sauf indication contraire) :

  • Apple Safari
  • Apple Safari Mobile
  • Google Chrome
  • Google Chrome pour Android
  • Microsoft Edge (Chromium et non-Chromium)
  • Mozilla Firefox
  • Mozilla Firefox RSA (RSA le plus récent uniquement)
  • Mozilla Firefox Mobile
  • Opéra
  • Navigateur Samsung Mobile
  • Navigateur UC pour Android

Pour un rendu optimal du chat web sur les appareils mobiles, l'élément <head> de votre page web doit inclure l'élément de métadonnées suivant :

<meta name="viewport" content="width=device-width, initial-scale=1" />

Cookies et RGPD

La discussion Web stocke un ID permettant d'identifier la session en cours pour la durée d'ouverture du navigateur. Cela permet à la discussion Web de garder la session ouverte au fur et à mesure que les utilisateurs naviguent sur votre page. Une fois qu'un utilisateur ferme le navigateur, les informations sont supprimées.

  • Si vous fournissez une discussion Web avec un userID, les seules données ou cookies stockés sur le navigateur proviennent de la session en cours. Cet userID peut être utilisé pour supprimer les données de l'utilisateur sur demande, car il est également transmis en tant que partie customer_id de l'en-tête HTTP Watson. C'est pourquoi la syntaxe de l' userID doit répondre aux exigences des champs d'en-tête définies dans la RFC 7230 (tous les caractères ASCII visibles). Pour plus d'informations sur le retrait des données utilisateur, voir Sécurisation de votre assistant.

  • Si vous ne parvenez pas à fournir une discussion Web avec un userID unique, nous ajoutons un cookie de première partie avec un ID anonyme généré. Le cookie reste actif pendant 45 jours pour s'assurer que nous comptons un utilisateur une fois, même avec plusieurs visites au cours d'un même mois, et ne pollue pas les métriques de facturation.

La discussion Web permet d'analyser les fonctions utilisées afin d'améliorer en permanence l'expérience utilisateur. Aucune des données collectées n'identifie un utilisateur final auprès d' IBMet les utilisateurs ne sont pas suivis sur différents sites Web. Nous prenons note uniquement du comportement au sein de la discussion Web.

Support linguistique

Par défaut, le chat web affiche des étiquettes et des messages codés en dur en anglais, mais une assistance est intégrée pour toutes les langues prises en charge par watsonx Assistant. Vous pouvez également choisir parmi une large sélection d'environnements locaux pour personnaliser l'affichage des chaînes telles que les dates et les heures à l'intention d'une audience mondiale.

Quelle que soit la langue que vous utilisez, vous pouvez également personnaliser le texte de toutes les chaînes codées en dur.

Pour plus d'informations, voir Prise en charge d'audiences mondiales dans la discussion Web.

Sécurité

Par défaut, tous les messages envoyés entre la discussion Web et l'assistant sont chiffrés avec TLS (Transport Layer Security). Vous pouvez activer la fonction de sécurité de la discussion Web si vous avez besoin d'une protection plus robuste.

Le script d'imbrication de discussion Web que vous incluez sur votre site Web contient des identificateurs uniques (tels que l'ID d'intégration et l'ID d'instance de service) qui permettent à la discussion Web de se connecter à votre assistant. Ces identificateurs ne sont pas considérés comme secrets et sont visibles par toute personne ayant accès à votre site Web. Toute personne disposant de ces ID peut les utiliser pour envoyer des messages à votre assistant et recevoir ses réponses. Toutefois, ces ID ne peuvent pas être utilisés pour se connecter à votre compte, apporter des modifications à votre assistant ou extraire des journaux ou des informations d'analyse sur votre assistant.

Si vous êtes préoccupé par l'accès non autorisé à votre assistant, vous pouvez activer la fonction de sécurité de la discussion Web pour une sécurité supplémentaire, comme la vérification de l'origine des messages et l'authentification des utilisateurs. L'activation de la fonction de sécurité nécessite un travail de développement supplémentaire sur votre site Web. Pour plus d'informations, voir Sécurité de la discussion Web.

Mise à jour des règles de sécurité

Si votre site Web utilise une stratégie de sécurité de contenu (CSP), vous devez le mettre à jour pour accorder la permission à la discussion Web.

Tableau. Les propriétés CSP répertorient les valeurs à ajouter à votre CSP.

Propriétés CSP
Propriété Valeurs
default-src « self » *.watson.appdomain.cloud « unsafe-inline »
connect-src *.watson.appdomain.cloud

Pour default-src, si vous disposez d'un font-src distinct, vous devez ajouter *.watson.appdomain.cloud avec font-src.

L'exemple suivant montre une balise de métadonnées complète du fournisseur de service de cloud :

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'unsafe-inline';connect-src *.watson.appdomain.cloud" />
Autorisation d'éléments

Si votre CSP utilise un nonce pour ajouter des éléments tels que les balises <script> et <style> à une liste blanche, n'utilisez pas unsafe-inline pour autoriser tous ces éléments. À la place, fournissez une valeur nonce au widget de discussion Web en tant qu'option de configuration. Le chat web définit le nonce sur l'un des éléments <script> et <style> qu'il génère dynamiquement.

Un fournisseur de service de cloud qui transmet un nonce au widget de discussion Web peut ressembler à ceci :

<meta
  http-equiv="Content-Security-Policy"
  content="default-src 'self' *.watson.appdomain.cloud fonts.gstatic.com 'nonce-<server generated value>';connect-src *.watson.appdomain.cloud"
>

Vous pouvez transmettre le nonce à la discussion Web en éditant le script imbrique comme suit :

window.watsonAssistantChatOptions = {
  integrationID: "YOUR_INTEGRATION_ID",
  region: "YOUR_REGION",
  serviceInstanceID: "YOUR_SERVICE_INSTANCE",

  cspNonce: "<server generated value>",

  onLoad: function(instance) {
    instance.render();
  }
};

Accès aux hôtes de discussion Web

Si le système qui héberge votre site Web a un accès Internet limité (par exemple, si vous utilisez un proxy ou un pare-feu), assurez-vous que les URL suivantes sont accessibles :

  • https://web-chat.global.assistant.watson.appdomain.cloud: héberge le code du widget de discussion Web et est référencé par le script que vous imbrique sur votre site Web.
  • https://integrations.{location}.assistant.watson.appdomain.cloud: héberge le serveur de discussion Web, qui gère la communication avec votre assistant. Remplacez {location} par l'emplacement du centre de données où se trouve votre instance de service, qui fait partie de l'URL de nœud final de service. Pour plus d'informations, voir Recherche et mise à jour de l' URL du point final.

Vérification de la sécurité

L'intégration du chat en ligne est régulièrement testée et analysée afin de détecter et de résoudre les éventuels problèmes de sécurité, tels que les vulnérabilités de type cross-site scripting (XSS).

Assurez-vous d'exécuter vos propres vérifications de sécurité pour voir comment la discussion Web s'intègre à la structure et aux règles de votre site Web en cours. Le chat web est hébergé sur votre site et peut hériter des vulnérabilités que votre site a. Diffusez le contenu via HTTPS, utilisez une politique de sécurité de contenu (CSP) et mettez en œuvre d'autres précautions de base en matière de sécurité Web.

Copie de l'état de la session

L'intégration de discussion Web stocke l'état de la session en cours en tant que cache dans le navigateur Web de l'utilisateur. Lorsque l'utilisateur envoie une requête à l'assistant, celui-ci répond avec une copie de l'état en cours de la session. Lorsque la session de l'assistant expire sur le serveur en raison du délai d'inactivité, la discussion Web crée une nouvelle session et copie l'état de la session précédente dans la nouvelle session. Par conséquent, les utilisateurs obtiennent une conversation transparente de l'utilisateur si la session expire alors que l'utilisateur est au milieu d'une conversation. Cet état n'est conservé que tant que l'utilisateur conserve l'onglet du navigateur avec la discussion Web ouverte. Si l'utilisateur recharge la page, quitte la page ou ferme l'onglet, cet état de session est perdu et il obtient une nouvelle session avec un nouvel état lors de la prochaine ouverture de la discussion Web. Lorsque la session sur le serveur arrive à expiration, l'utilisateur est averti qu'il devra envoyer un message pour continuer la conversation.

L'état de session stocké par la discussion Web n'inclut pas de variables privées. Ces variables sont stockées uniquement sur le serveur. Lorsqu'un assistant copie l'état de l'ancienne session à partir du serveur dans une nouvelle session, qui a démarré après l'expiration de l'ancienne session de serveur, les variables privées définies à partir de l'ancienne session sont perdues.