Extrait de code État de la session du bot

Les informations contenues dans cette page d’aide s’appliquent à la fois à Studio et à Desktop Studio.

L'extrait de code Bot Session State est requis dans votre script lorsque vous utilisez des actions qui ont la propriété botSessionState. Cela inclut des actions telles que Textbot Exchange et Voicebot Exchange (à partir de maintenant, les deux actions sont simplement appelées Exchange). La propriété doit être configurée correctement pour que les botSessionStateagents virtuelsFermé Une application logicielle qui traite les interactions avec les clients à la place d’un agent en chair et en os. fonctionnent comme prévu. Pour ce faire, vous devez créer cet extrait dans votre script et configurer correctement les actions comme indiqué dans les sections suivantes.

La propriété botSessionState doit être configurée avec la variable qui contient l'identifiant unique de la conversation entre le contact et l'agent virtuel. Il est automatiquement attribué par le fournisseur d’agent virtuel. L’identifiant permet d’éviter la création d’une nouvelle session à chaque tour de conversation et aide l’agent virtuel à maintenir le contexte entre les tours de conversation.

Le fournisseur crée l'identifiant lorsque la conversation commence et le passe au script avec la première réponse. Le script stocke l'identifiant dans la variable nommée dans la propriété botSessionStateVarName (out) de l'action Exchange.. Enfin, le script transmet l’identifiant de la propriété botSessionStateVarName (out) du tour précédent à la propriété botSessionState.

Vos scripts ne doivent jamais écrire dans cette propriété ou dans sa variable. Votre script doit être correctement configuré pour utiliser l’identifiant de l’état de la session du robot.

Cet extrait est obligatoire, sauf si vous utilisez Google Dialogflow CX, où vous pouvez définir un ID de conversation personnalisé dans l'extrait Charge utile personnalisée extrait qui sert le même objectif que l'extrait État de session du bot. Un ID de conversation personnalisé est utilisé lors du transfert de contacts d'une instance Dialogflow CX à une autre. Si vous n'utilisez aucun des deux identifiants, un nouvel ID de session est généré à chaque tour de conversation et votre agent virtuel ne conservera pas le contexte de la conversation. Si cela se produit, aucune erreur n’est générée, mais le système ne fonctionnera pas comme prévu.

Configuration du script

Lorsque vous utilisez une action Exchange, un minimum de deux instances de l’action est nécessaire dans votre script. La propriété botSessionState de chacune des actions Exchange doit être configurée différemment :

  • La première instance de l’action Exchange se trouve juste après l’action Begin au début du script. Configurez-la comme suit :
    • botSessionState : Ce champ doit être vide.
    • botSessionStateVarName (out) : Indiquez le nom de la variable dans laquelle vous souhaitez que le script stocke l’identifiant.
  • La deuxième action Exchange se trouve plus loin dans le script. Configurez-la comme suit :
    • botSessionState : Indiquez la variable utilisée dans botSessionStateVarName (out) dans la première instance de l’action Exchange. La variable doit contenir l’identifiant d’état de la session du robot au format JSON.
    • botSessionStateVarName (out) : Indiquez le nom de la variable dans laquelle vous souhaitez que le script stocke l’identifiant.
  • La troisième instance et toutes les instances suivantes de l’action Exchange sont facultatives. Si votre script inclut ces instances, configurez-les comme suit :
    • botSessionState : Indiquez la variable utilisée dans botSessionStateVarName (out) dans l’instance précédente de l’action Exchange. La variable doit contenir l’identifiant d’état de la session du robot au format JSON. L’identifiant d’état de la session du robot ne change généralement pas d’un tour à l’autre. Toutefois, en cas de changement, l’action doit être configurée de manière à prendre en compte ce changement.
    • botSessionStateVarName (out) : Indiquez le nom de la variable dans laquelle vous souhaitez que le script stocke l’identifiant.

Cette configuration est requise pour tous les agents virtuels.

Vérifiez que la propriété botSessionState est correctement configurée

Vous pouvez utiliser une trace de script pour confirmer que cette propriété est correctement configurée.

  1. Exécutez un script de trace sur une interaction entre l'agent virtuel et un contact. Vous pouvez utiliser une trace continue ou capturer une trace d'un ANI ou DNIS spécifique(uniquement pour les interactions vocales).
  2. Dans la fenêtre de trace, cliquez sur la ligne qui correspond à la première action Virtual Agent Hub (Voicebot Exchange ou Textbot Exchange).
  3. Dans la liste des variables, vérifiez la variable botSessionState. Sa valeur doit être nulle (vide).
  4. Dans la fenêtre de trace, cliquez sur la ligne suivante de la trace après la première action Virtual Agent Hub.
  5. Notez la valeur de la variable botSessionState.
  6. Dans la fenêtre de trace, cliquez sur la ligne de la trace qui correspond à toute action Virtual Agent Hub ultérieure.
  7. Vérifiez la valeur de la variable botSessionState. Cela doit être le même qu'à l'étape 5.

Convertir l’identifiant d’état de la session du bot en JSON

Le contenu de la variable utilisée dans la propriété botSessionStateVarName (out) doit être converti en JSON et transmis dans la propriété botSessionState de la deuxième action Exchange de votre script. Pour ce faire, vous pouvez inclure du code dans une action Snippet ou configurer la propriété directement. Les deux approches sont acceptables. Cependant, l’avantage de créer une variable dans Snippet pour contenir l’objet converti est qu’il est plus facile de voir où la conversion a lieu.

Utiliser une action Snippet

  1. Configurez la propriété botSessionStateVarName (out) de l’action Exchange avec le nom de la variable devant contenir l’identifiant de l’état de la session. Par exemple, botSessionState.
  2. Ajoutez la ligne suivante à une Snippet située avant l’action Exchange dans votre script :

    ASSIGN botSessionStateOut = botSessionStateOut.asJSON()

    Utilisez le nom de la variable que vous utilisez dans votre script.

  3. Configurez la propriété botSessionState dans l’action Exchange avec le nom de la variable que vous avez utilisée dans l’instruction ASSIGN. Par exemple, botSessionStateOut.

Convertir dans la propriété

Si vous convertissez la variable dans la propriété botSessionState, utilisez la variable botSessionStateVarName (out) avec la fonction asJSON(). Par exemple :

  • botSessionStateVarName (out) :botSessionState
  • botSessionState :botSessionState.asJSON()

Transférer des contacts d'un agent virtuel à un autre

Pour configurer le transfert de contacts entre les agents virtuels, vous devez configurer correctement les ID d'état de session du bot. Chaque agent virtuel doit avoir son propre ID d'état de session de bot unique. Cela aide les agents virtuels individuels à conserver le contexte de la conversation à laquelle ils participent.

  • Agent virtuel 1 : configurez les variables d'état de session du bot comme décrit précédemment sur cette page.

  • Agent virtuel 2 : configuré de la même manière, en utilisant une variable différente dans botSessionStateVarName (out) pour contenir l'ID d'état de session du bot. Assurez-vous que lors du premier appel à cet agent virtuel, la propriété botSessionState est vide.  Le premier tour de la conversation retourne un ID d'état de session de bot unique à la variable dans botSessionStateVarName (out).
  • Tous les agents virtuels suivants : configurez la même chose que pour l'agent virtuel 2, en utilisant une variable unique pour l'ID d'état de session du bot.

Cette méthode fonctionne pour tous les fournisseurs d'agents virtuels pris en charge, sauf si vous transférez entre deux Google Dialogflow CX agents virtuels. Dans ce cas, une méthode différente est requise.