Ajout de flux de dialogue personnalisés pour les intégrations

Utilisez l'éditeur JSON dans un dialogue pour accéder aux informations soumises depuis l'intégration de discussion Web.

A compter de la version d'API 2020-04-01, l'objet context qui est transmis dans le cadre de la demande d'API /message v2 contient un objet integrations. Cet objet permet de transmettre des informations spécifiques à un seul type d'intégration dans le contexte. Pour plus d'informations, voir Variables contextuelles.

L'objet integrations est disponible uniquement dans l'API v2 de la version 2020-04-01 ou ultérieure.

Pour tirer parti de l'objet context.integrations, vous pouvez créer des variables de contexte nommées comme suit pour obtenir et définir des valeurs pour différentes intégrations :

Variables de contexte spécifiques à l'intégration
Type d'intégration Syntaxe de la variable de contexte
Téléphone $integrations.voice_telephony
Centre de services Salesforce à partir de la discussion Web $integrations.salesforce
SMS avec Twilio $integrations.text_messaging
Discussion Web (et aperçu de l'assistant) $integrations.chat
Centre de services Zendesk à partir de la discussion Web $integrations.zendesk

Génération d'un flux de dialogue spécifique à l'intégration

Créez une boîte de dialogue unique optimisée pour utiliser les meilleures fonctions offertes par chaque canal ou interface client dans lequel elle est déployée.

Vous pouvez personnaliser la conversation comme suit :

  • Pour ajouter une branche de dialogue entière qui n'est traitée que par un type d'intégration spécifique, ajoutez la variable contextuelle de type d'intégration appropriée, telle que $integrations.chat, à la zone If assistant recognizes du noeud racine de dialogue.

  • Pour ajouter un seul noeud de dialogue qui n'est traité que par un type d’intégration spécifique, ajoutez la variable contextuelle de type d'intégration appropriée, telle que $integrations.zendesk, à la zone If assistant recognizes du noeud enfant de dialogue.

  • Pour ajouter des réponses légèrement différentes pour un seul noeud de dialogue en fonction du type d'intégration, procédez comme suit :

    • Dans la vue d'édition du noeud, cliquez sur Customize, puis définissez le commutateur Multiple conditioned responses sur On. Cliquez sur Appliquer.

    • Dans la section de réponse du noeud de dialogue, ajoutez la condition appropriée et la réponse correspondante pour chaque type de réponse personnalisé.

      Les exemples suivants montrent comment spécifier un lien hypertexte dans le meilleur format pour l'intégration dans laquelle la réponse textuelle est affichée. Pour l'intégration de discussion Web, qui prend en charge le formatage Markdown, vous pouvez inclure un libellé de lien dans le texte de réponse pour rendre la réponse plus agréable. Pour l'intégration SMS avec Twilio, vous pouvez ignorer le formatage logique sur une page Web et ajouter l'URL directe.

      Réponses conditionnées personnalisées
      Type d'intégration Condition Exemple de réponse textuelle
      SMS avec Twilio $integrations.text_messaging For more information, go to https://www.ibm.com.
      Discussion Web $integrations.chat For more information, go to [the ibm.com site](https://www.ibm.com).
      Réponse à afficher si aucune autre condition n'est remplie. true For more information, go to ibm.com.

Les types de réponses riches se comportent souvent différemment lorsqu'ils sont affichés dans différentes intégrations intégrées ou dans l'aperçu de l'assistant.

Si vous devez fournir des réponses personnalisées pour différents canaux, et que vous n'avez pas besoin de modifier votre flux de dialogue en fonction de l'intégration utilisée, vous pouvez également utiliser le channels tableau pour cibler vos réponses à des intégrations spécifiques.

Discussion Web : Accès aux données sensibles

Si vous activez la sécurité pour la discussion Web, vous pouvez configurer votre implémentation de discussion Web afin d'envoyer des données chiffrées au dialogue. Les données utiles qui sont envoyées à partir de la discussion Web sont stockées dans une variable contextuelle privée nommée context.integrations.chat.private.user_payload. Aucune variable privée n'est envoyée depuis le dialogue vers des intégrations. Pour plus d'informations sur la transmission de données, voir Chiffrement de données sensibles dans la discussion Web.

Pour accéder aux données de contenu, vous pouvez faire référence à l'objet context.integrations.chat.private.user_payload de la condition de noeud de dialogue.

Vous devez connaître la structure de l'objet JSON qui est envoyé dans le contenu.

Par exemple, si vous avez transmis la valeur "mvp:true" dans le contenu JSON, vous pouvez ajouter un flux de dialogues qui recherche cette valeur afin de définir une réponse destinée uniquement aux clients VIP. Ajoutez un noeud de dialogue avec une condition semblable à la suivante :

Variable privée en tant que condition de noeud
Zone Valeur
If assistant recognizes $integrations.chat.private.user_payload.mvp
Assistant responds I can help you reserve box seats at the upcoming conference!

Discussion Web : accès aux informations du navigateur Web

Lorsque vous utilisez l'intégration de discussion Web, les informations relatives au navigateur Web que votre client utilise pour accéder à la discussion Web sont automatiquement collectées et stockées. Les informations sont stockées dans l'objet context.integrations.chat.browser_info.

Vous pouvez concevoir votre dialogue pour tirer parti des détails sur le navigateur Web en cours d'utilisation. Les propriétés suivantes proviennent de l'objet window qui représente la fenêtre dans laquelle la discussion Web est en cours d'exécution :

  • browser_name : nom du navigateur, par exemple chrome, edge ou firefox.
  • browser_version : version du navigateur, par exemple 80.0.0.
  • browser_OS : système d'exploitation de l'ordinateur du client, par exemple Mac OS.
  • language : code de l'environnement local par défaut du navigateur, par exemple en-US.
  • page_url : URL complète de la page Web sur laquelle la discussion Web est intégrée. Par exemple : https://www.example.com/products
  • screen_resolution : hauteur et largeur de la fenêtre du navigateur dans laquelle la page Web s'affiche. Par exemple : width: 1440, height: 900
  • user_agent : contenu de l'en-tête de la demande d'agent utilisateur. Par exemple : Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:80.0) Gecko/20100101 Firefox/80.0
  • client_ip_address : adresse IP de l'ordinateur du client. Par exemple : 183.49.92.42

Exemple : utilisation des informations d'URL de la page dans votre dialogue

Vous pouvez intégrer la discussion Web sur plusieurs pages de votre site Web. Vous souhaitez peut-être router les transferts de discussion depuis la discussion Web vers différents agents Salesforce en fonction de la page à partir de laquelle le client demande à parler à quelqu'un. Si le client se trouve sur la page des régimes d'assurance de votre site Web (https://www.example.com/insurance.html), vous souhaitez le diriger vers des agents de votre entreprise qui sont experts en régimes d'assurance. Si le client se trouve sur la page Web des investissements (https://www.example.com/invest.html), vous souhaitez le diriger vers des agents de votre entreprise qui sont experts en opportunités d'investissement. Vous pouvez ajouter plusieurs réponses conditionnées au noeud de dialogue dans lequel le transfert a lieu et ajouter une logique telle que la suivante :

Réponse conditionnée 1

  • Condition : $integrations.chat.browser_info.page_url.contains('insurance.html')
  • Type de réponse : Connect to human agent
  • ID bouton : Z23453e25vv (bouton de redirection vers la file d'attente des agents experts en assurance)

Réponse conditionnée 2

  • Condition : $integrations.chat.browser_info.page_url.contains('invest.html')
  • Type de réponse : Connect to human agent
  • ID bouton : Z23453j24ty (bouton de redirection vers la file d'attente des agents experts en investissement)

Discussion Web : réutilisation du jeton JWT pour l'authentification par webhook

Vous pouvez utiliser le même jeton Web JSON (JWT) que celui que vous avez utilisé pour sécuriser votre discussion Web afin d'authentifier les appels de webhook. Si vous spécifiez un jeton dans la propriété identityToken lorsque vous ajoutez la discussion Web à votre page Web, le jeton est stocké dans une variable privée nommée context.integrations.chat.private.jwt. Pour plus d'informations sur la transmission d'un jeton JWT, voir Activation de la sécurité de la discussion Web.

  1. Dans votre boîte de dialogue, ouvrez Webhooks.

  2. Cliquez sur Ajouter un en-tête.

  3. Dans Nom d'en-tête, entrez un nom, tel que JWT.

  4. Dans la zone Header value, ajoutez $integrations.chat.private.jwt.