Fragment État de session du robot

Les informations sur cette page d’aide concernent à 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é botSessionState doit être configurée correctement pour que vos agents virtuelsFermé Une application logicielle qui gère les interactions avec les clients à la place d'un agent humain en direct. 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 de l'agent virtuel. L'identifiant empêche la création d'une nouvelle session à chaque tour de la conversation et aide l'agent virtuel à maintenir le contexte entre les tours.

Le fournisseur crée l'identifiant lorsque la conversation commence et le transmet 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 passe 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 configuré correctement pour utiliser l'identifiant de l'état de 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 ID, 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 dans chacune des actions Exchange doit être configurée différemment :

  • La première instance de l’action Exchange située juste après l’action Begin au début du script. Configurez-le comme suit : 
    • botSessionState : ce champ doit être vide.
    • botSessionStateVarName (out) : configurez avec le nom de la variable dans laquelle vous voulez que le script enregistre l'identifiant.
  • La deuxième action Exchange se trouve plus loin dans le script. Configurez-le comme suit : 
    • botSessionState : configurez avec la variable utilisée dans botSessionStateVarName (out) de la première instance de l'action Exchange. La variable doit contenir l'identifiant de l'état de session du robot au format JSON.
    • botSessionStateVarName (out) : configurez avec le nom de la variable dans laquelle vous voulez que le script enregistre 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 : configurez avec la variable utilisée dans botSessionStateVarName (out) de l’instance précédente de l'action Exchange. La variable doit contenir l'identifiant de l'état de session du robot au format JSON. L'identifiant de l'état de la session du bot ne change généralement pas d'un tour à l'autre. Cependant, s'il devait changer, l'action devrait être configurée pour capturer le changement.
    • botSessionStateVarName (out) : configurez avec le nom de la variable dans laquelle vous voulez que le script enregistre 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 une trace de script 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.

Conversion de l'identifiant de l'état de session du robot 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 directement la propriété. Les deux approches sont acceptables. Toutefois, la création d’une variable dans Snippet pour contenir l'objet converti offre l’avantage 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 session. Par exemple, botSessionState.
  2. Ajoutez la ligne suivante à un Snippet situé avant l’action Exchange dans votre script :

    ASSIGN botSessionStateOut = botSessionStateOut.asJSON()

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

  3. Configurez la propriété botSessionState dans l’action Exchange avec le nom de la variable vous avez utilisée dans la déclaration 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 renvoie 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 effectuez un transfert entre deux Google Dialogflow CX agents virtuels. Dans ce cas, une méthode différente est requise.