Présentation du développement de la discussion Web

Si vous maîtrisez le code JavaScript, vous pouvez personnaliser et étendre la discussion Web à l'aide de l'API de discussion Web. Vous pouvez également utiliser un WebView pour incorporer la discussion Web dans votre application mobile.

Pour des informations de référence détaillées sur l'API de discussion Web, voir la documentation destinée aux développeursde discussion Web.

Pour ajouter le widget de discussion Web à votre site Web ou à une WebView dans votre application mobile, vous n'avez qu'à imbriquer un élément de script généré dans votre source HTML (pour plus d'informations sur le script d'imbrication, voir Intégration de la discussion Web sur votre page). Dans ce script d'imbrication, vous pouvez utiliser l'API de discussion Web pour personnaliser ou étendre la discussion Web.

L'API de discussion Web se compose de plusieurs éléments :

  • Objet de configuration : Le script incorporé définit un objet de configuration nommé watsonAssistantChatOptions, qui indique les objets de configuration du widget de discussion Web. En éditant l'objet de configuration, vous pouvez personnaliser l'apparence et le comportement de la discussion Web avant qu'elle ne soit rendue. Pour plus d'informations sur les options de configuration disponibles, voir Objet Options de configuration dans la référence d'API Web.
  • Méthodes d'instance : Les méthodes de l'instance de discussion Web fournissent un contrôle de bas niveau du widget de discussion Web. Vous pouvez utiliser les méthodes d'instance pour implémenter un comportement personnalisé, tel que la modification du mode d'ouverture du widget de discussion Web, l'affichage et masquage du contenu et la définition des informations d'identité. Pour plus d'informations sur les méthodes d'instance disponibles, voir Liste des méthodes et des propriétés dans la référence de l'API de discussion Web.
  • Événements : Le système d'événements de discussion Web permet à votre site Web de répondre aux événements de discussion Web (tels que l'ouverture ou la fermeture de la fenêtre de discussion Web et l'envoi ou la réception de messages). En vous abonnant aux événements, vous pouvez implémenter un comportement personnalisé ou même intercepter et modifier le contenu des messages. Pour plus d'informations sur le système d'événements, voir Evénements dans la référence de l'API de discussion Web.

Si vous souhaitez utiliser l'API de discussion Web pour personnaliser votre implémentation de discussion Web, vous n'avez pas besoin de partir de zéro. Des tutoriels sont disponibles pour montrer des exemples de personnalisations de discussion Web communes. Pour plus d'informations, voir Tutoriels de développement de discussion Web.

Tâches de développement

Vous pouvez utiliser l'API de discussion Web pour personnaliser et étendre la discussion Web comme suit:

Style et contenu de la discussion Web
Ouverture, fermeture et affichage de la fenêtre de discussion Web
Personnalisation de la conversation
Gestion des données
Sécurité et administration

Pour d'autres exemples d'intégrations de discussion Web, voir ici.

Style et contenu de la discussion Web

Personnalisation de l'apparence de la discussion Web

Si vous souhaitez personnaliser le style et l'apparence de la discussion Web au-delà des options disponibles dans l'onglet Style des paramètres de discussion Web, vous pouvez le faire en choisissant un thème Carbon Design différent.

Les thèmes pris en charge sont les thèmes de couleur définis par IBM Carbon Design. Pour définir le thème Carbon, utilisez l'option de configuration carbonTheme.

Vous pouvez également définir des variables individuelles dans le thème pour personnaliser des éléments d'interface utilisateur spécifiques. Par exemple, le texte affiché dans la fenêtre de discussion utilise les policesIBMPlexSans, Arial, Helvetica, sans-serif. Si vous souhaitez utiliser une autre police, vous pouvez la spécifier à l'aide de la méthode d'instance updateCSSVariables().

Personnalisation de l'écran d'accueil

L'écran d'accueil accueille le client et affiche éventuellement une liste de suggestions de départ de conversation. Vous pouvez personnaliser le style et le contenu de l'écran d'accueil :

Personnalisation des chaînes

Vous pouvez personnaliser les chaînes qui définissent les différents libellés et les phrases codées en dur affichées par la discussion Web. Pour personnaliser des chaînes, utilisez la méthode d'instance updateLanguagePack() pour remplacer des chaînes dans le module linguistique en cours. Pour plus d'informations, voir Langues.

Soutenir les audiences mondiales

Par défaut, les chaînes affichées par la discussion Web sont en anglais. Pour changer de langue, utilisez la méthode d'instance updateLanguagePack() pour remplacer le module de langue en cours par l'un des modules de langue traduits disponibles. Pour plus d'informations, voir Prise en charge d'audiences mondiales dans la discussion Web.

Ouverture, fermeture et affichage de la fenêtre de discussion Web

Remplacement du lanceur par défaut

Pour une meilleure intégration à votre site Web, vous pouvez remplacer l'icône de lancement intégrée par un mécanisme différent pour l'ouverture de la discussion Web. Pour masquer le programme de lancement par défaut, définissez l'option de configuration showLauncher sur false. Pour ouvrir la discussion Web en fonction d'une autre interaction, utilisez la méthode d'instance openWindow.

icône de développement Tutoriel: Pour un tutoriel qui vous montre comment implémenter un lanceur personnalisé, voir Utilisation d'un lanceur personnalisé.

Maintien de la discussion Web toujours ouverte

Si vous souhaitez que la discussion Web reste toujours ouverte sur votre page, utilisez la configuration openChatByDefault ouverte pour rendre la page avec la fenêtre de discussion ouverte et l'option hideCloseButton pour empêcher les clients de la fermer.

Modification de la taille ou de la position de la discussion Web

La conception de votre site Web peut exiger que vous changiez où et comment la fenêtre de discussion Web s'affiche sur votre site Web. Par exemple, vous pouvez souhaiter qu'il apparaisse dans une position différente sur la page, à une taille différente, ou qu'il soit imbriqué dans un autre élément de la page.

Pour modifier la taille de la fenêtre de discussion Web, vous pouvez utiliser la méthode d'instance updateCSSVariables() pour modifier le style CSS.

Si vous devez modifier la position de la fenêtre de discussion Web ou si vous devez modifier la taille au-delà des limites autorisées dans la feuille de style en cascade, vous pouvez utiliser un élément DOM personnalisé pour contenir la fenêtre de discussion Web. Pour ce faire, utilisez l'option de configuration element.

icône de développement Tutoriel: Pour un tutoriel qui montre comment rendre la discussion Web dans un élément personnalisé, voir Tutoriel: Personnalisation de la taille et de la position de la discussion Web.

Ajout de la discussion Web à votre application mobile

Vous pouvez utiliser une WebView avec un pont JavaScript pour ajouter la discussion Web à votre application mobile. Pour plus d'informations, voir Ajout de la discussion Web à votre application mobile.

Personnalisation de la conversation

Interception et modification des messages

En s'abonnant à des événements, votre code peut intercepter les messages qui sont envoyés et reçus entre le client et l'assistant, et même modifier leur contenu.

Abonnez-vous à l'événement pre:receive si vous souhaitez intercepter le message d'un client avant qu'il ne soit envoyé à l'assistant. Par exemple, vous pouvez supprimer des informations identifiant la personne du texte du message ou ajouter des variables contextuelles à la charge du message.

Abonnez-vous à l'événement pre:send si vous souhaitez intercepter une réponse entrante de l'assistant avant qu'elle ne soit présentée au client. Par exemple, vous pouvez ajouter un formatage, des liens ou d'autres éléments spécifiques à la discussion Web.

icône de développement Tutoriel: Pour un tutoriel montrant comment utiliser l'événement pre:receive pour intercepter et modifier des messages entrants, voir Tutoriel: implémentation de boutons d'option personnalisés dans la discussion Web.

Affichage des types de réponse personnalisés

Si votre assistant envoie des réponses spécialisées à l'aide d'un type de réponse personnalisé (user_defined), vous pouvez implémenter une vue personnalisée pour afficher ces réponses dans la fenêtre de discussion Web. Pour ce faire, abonnez-vous à l'événement customResponse, qui est déclenché chaque fois qu'une réponse user_defined est reçue. Dans votre méthode de gestionnaire d'événements, vous pouvez ensuite lire le contenu de la réponse et afficher la sortie à l'aide de vos propres éléments.

icône de développement Tutoriel: Pour un tutoriel montrant comment afficher un type de réponse personnalisé en remplacement de la réponse d'options par défaut, voir Tutoriel: implémentation de boutons d'options personnalisés dans la discussion Web.

Implémentation d'une intégration de centre d'appel

Vous pouvez utiliser l'un des kits de démarrage de discussion Web pour l'intégration à une plateforme de centre d'appel (centre de services) autre que celles disponibles dans les intégrations watsonx Assistant intégrées. Des implémentations de référence entièrement fonctionnelles sont disponibles pour plusieurs plateformes de centre d'appel ; en outre, vous pouvez utiliser un kit de démarrage pour développer une intégration personnalisée avec la plateforme de votre choix.

Pour plus d'informations, voir Ajout d'un support de centre d'appel.

Gestion des données

Gestion des informations d'identité de l'utilisateur

La discussion Web associe un ID utilisateur à chaque message qu'elle envoie à l'assistant ; cet ID utilisateur est utilisé pour la facturation basée sur l'utilisateur et à d'autres fins. Vous pouvez autoriser la discussion Web à générer un ID anonyme pour chaque utilisateur ou vous pouvez contrôler l'ID utilisateur vous-même.

Selon que vous avez activé la sécurité pour la discussion Web, vous pouvez utiliser la méthode d'instance updateUserID ou la méthode updateIdentityToken pour spécifier les informations d'identité de l'utilisateur.

Pour plus d'informations sur la façon dont les informations d'identité de l'utilisateur sont spécifiées et utilisées, voir Gestion des informations d'identité de l'utilisateur dans la discussion Web.

Sécurité et administration

Sécurisation de la discussion Web

Pour sécuriser la discussion Web, vous pouvez utiliser le jeton Web JSON (JWT) pour authentifier les utilisateurs et chiffrer les données privées. Pour plus d'informations, voir Sécurisation de la discussion Web.

Contrôle de la version de discussion Web

Le code de discussion Web hébergé par IBM Cloud est régulièrement mis à jour avec des améliorations et de nouvelles fonctions. Par défaut, le script d'imbrication utilise automatiquement la dernière version de la discussion Web. Pour éviter les changements inattendus qui pourraient affecter votre site Web, vous pouvez décider quelle version de la discussion Web votre site Web utilise, ce qui vous donne la possibilité de tester chaque nouvelle version avant de la déployer dans la production, afin d'éviter les changements inattendus lors de la publication d'une nouvelle version.

Pour plus d'informations sur la gestion des versions de discussion Web, voir Contrôle de la version de discussion Web.