Agent virtuel Fonctionnalités d’API disponibles dans la version Store 2.0.x

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 12 minutes de lecture
  • Agent virtuel La version 2.0.x de l’API permet d’accéder à d’autres fonctionnalités identiques à celles disponibles dans Agent virtuel et Messagerie instantanée d'agent, y compris la prise en charge des contrôles enrichis et les notifications.

    Prise en charge de contrôles enrichis supplémentaires

    Agent virtuel L’API prend désormais en charge les contrôles enrichis suivants.

    Contrôles booléens
    Les contrôles booléens renvoient des réponses sous forme de chaînes (soit Yes ou No) pour faciliter la localisation.

    Pour plus d’informations sur la localisation de rubriques, reportez-vous à la section Localisation des Agent virtuel conversations.

    Agent virtuel L’API envoie l’exemple de JSON suivant pour un contrôle booléen :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "7a36412253a13010ff59ddeeff7b12fb",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "Boolean",
          "group": "DefaultPicker",
          "required": true,
          "nluTextEnabled": false,
          "label": "Sample Response for boolean control",
          "options": [
            {
              "label": "Yes"
            },
            {
              "label": "No"
            }
          ]
        }
      ],
      "score": 1
    }
    Contrôles personnalisés
    Les rubriques qui utilisent des contrôles personnalisés sont désormais prises en charge. Pour plus d’informations sur les commandes personnalisées, reportez-vous à la section Personnalisation avec des Agent virtuel contrôles personnalisés.
    Contrôles de réponse du bot de table
    Les rubriques qui utilisent des contrôles de réponse de bot de table sont désormais prises en charge. Pour plus d'informations, consultez Contrôle de la réponse du bot de table.

    Tous les enregistrements sont renvoyés par l’API Agent virtuel en une seule fois. Agent virtuel attendra une réponse du client d’API pour envoyer le contrôle suivant. Utilisez la paginationBreak propriété pour afficher les enregistrements en blocs à l’utilisateur. Par exemple, si paginationBreak la valeur est définie sur 10, l’utilisateur verra 10 enregistrements à la fois. Lorsque le client est prêt à passer au contrôle suivant, il doit envoyer DONE.

    Agent virtuel L’API envoie l’exemple JSON suivant pour un contrôle de réponse de bot de table :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "Yes",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "OutputTable",
          "group": "DefaultOutputTable",
          "label": "Sample Table Rich control",
          "headers": [
            "Number",
            "Short description"
          ],
          "data": [
            [
              "INC0000005",
              "CPU load high for over 10 minutes"
            ],
            [
              "INC0000015",
              "I can't launch my VPN client since the last software update"
            ],
            [
              "INC0000025",
              "Need to add more memory to laptop"
            ],
            [
              "INC0000035",
              "Reset my password"
            ],
            [
              "INC0000055",
              "SAP Sales app is not accessible"
            ],
            [
              "INC0009005",
              "Email server is down."
            ]
          ],
          "paginationBreak": 10,
          "totalSearchResultsCount": 6,
          "navigationBtnLabel": "Click for more"
        }
      ],
      "score": 1
    }
    Contrôles de réponse du bot HTML
    Les rubriques qui utilisent des contrôles de réponse de bot HTML sont désormais prises en charge. Pour plus d'informations, consultez Contrôle de réponse du bot HTML.
    Agent virtuel L’API envoie l’exemple de JSON suivant pour un contrôle de réponse de bot HTML :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "Yes",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "OutputHtml",
          "group": "DefaultOutputHtml",
          "style": "inline",
          "height": 100,
          "width": 100,
          "value": "<html> <body> Sample Response for Html control </body> </html> ",
          "imageUrl": null,
          "imageHeight": 0,
          "imageWidth": 0,
          "links": null
        },
        {
          "uiType": "InputText",
          "group": "DefaultText",
          "required": true,
          "nluTextEnabled": false,
          "label": "some text",
          "maskType": "NONE"
        }
      ],
      "score": 1
    }
    Contrôles de réponse d’agent à réponses multiples
    Les rubriques qui utilisent des contrôles de réponse d’agent à réponses multiples sont désormais prises en charge. Pour plus d'informations, consultez Contrôle de la réponse du bot à réponses multiples.
    Agent virtuel L’API envoie l’exemple de JSON suivant pour un contrôle de réponse d’agent à réponses multiples :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "Done",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "MultiPartOutput",
          "group": "DefaultMultiPartOutput",
          "navigationBtnLabel": "Click for more",
          "content": {
            "uiType": "OutputText",
            "value": "Text response from multiflow control example",
            "maskType": "NONE"
          }
        }
      ],
      "score": 1
    }
    Prise en charge du texte enrichi
    Les rubriques qui utilisent du texte enrichi sont désormais prises en charge. Le texte enrichi comprend le texte en gras ou en italique, les liens hypertexte, les listes à puces et les emojis.

    Fonctionnalités Messagerie instantanée d'agent supplémentaires

    L’API Agent virtuel prend désormais en charge les fonctionnalités suivantes lors du transfert vers .Messagerie instantanée d'agent

    Transmettre le nom et l’avatar de l’agent
    Lorsque le bot principal transfère une messagerie instantanée à un agent actif, Agent virtuel il peut envoyer le nom et l’avatar de l’agent au bot principal. Pour l’activer, activez les noms et les avatars des agents dans les paramètres de Messagerie instantanée d’agent .
    Un exemple de charge utile de message pourrait ressembler à ceci :
    { 
    "requestId":"f42f3550-5b44-4cde-aa52-9b6756b3131c", 
    "clientSessionId":"U94CSJLEN", 
    "message":{ 
    "text":"Live Agent support.", 
    "typed":true 
    }, 
    "userId":"U94CSJLEN", 
    "body":[ 
    { 
    "uiType":"OutputText", 
    "group":"DefaultText", 
    "agentInfo":{ 
    "sentFromAgent":true, 
    "agentName":"Beth Anglin", 
    "agentAvatar":"ee4eebf30a0004d963b5c5ac0d734dc4.iix?t=small" 
    }, 
    "value":"Thank you for contacting support. I am looking into your question now and will be with you shortly." 
    } 
    ], 
    "agentChat":true, 
    "score":1 
    }

    Pour plus d’informations, voir Configurer la Messagerie instantanée d’agent.

    Temps d’attente de l’agent actif
    Lors du transfert vers un agent actif, le bot principal peut recevoir le temps d’attente et l’afficher à l’utilisateur. Pour activer cette option, sélectionnez Temps d’attente dans le champ État En attente de messagerie instantanée en direct dans les paramètres de Messagerie instantanée d’agent. La spinnerType valeur est définie sur wait_time. Si l’état d’attente de la messagerie instantanée en direct est défini sur Aucun, la spinnerType valeur est none.
    Agent virtuel L’API envoie l’exemple JSON suivant dans le body paramètre de la charge utile.
    {
    "uiType":"ActionMsg",
    "actionType":"StartSpinner",
    "spinnerType":"wait_time",
    "message":"Routing you to a live agent...",
    "waitTime":"8 Seconds"
    }
    

    Pour plus d’informations, voir Configurer la Messagerie instantanée d’agent.

    Envoyer l’historique de la messagerie instantanée du bot primaire à Agent virtuel
    Le bot principal peut transmettre l’historique de la messagerie instantanée à un agent en direct afin que celui-ci puisse voir le contexte de la conversation.
    Agent virtuel convertit l’historique des messages en HTML, puis en image.
    • L’image convertie est envoyée à l’agent actif comme premier message de la messagerie instantanée.
    • Le bot principal doit envoyer l’historique des messages dans la première demande. Dans toute autre demande postérieure à la première, la charge utile de l’historique des messages sera ignorée.
    • Seuls les messages texte sont pris en charge.
    • Le bot principal peut transmettre n’importe quelle URL comme valeur dans le message texte, mais l’agent actif ne peut l’afficher que dans le cadre de l’image. L’agent actif ne peut pas cliquer sur le lien.
    Exemple de charge utile du message :
    {​ 
          "value": "Help me with password reset",​ 
          "displayName": "able",​ 
          "type": "text"​ 
          "isBotMessage": false,​ 
        } 
    Remarque :
    Dans l’exemple précédent, type est sensible à la casse et doit avoir une valeur de text.

    Demandes enrichies du bot primaire

    L’API Agent virtuel prend désormais en charge les demandes suivantes du bot principal.

    Paramètres système et variables de contexte
    Le bot principal peut transmettre des paramètres système et des variables de contexte en entrée et Agent virtuel honorera ces paramètres. Les paramètres système tels que liveagent_devicetype, liveagent_requester_session_language, liveagent_topic, live_agent_onlytopic, , et liveagent_devicetimezone sont pris en charge. Les variables de contexte personnalisées et Messagerie instantanée d'agent les variables de contexte sont également prises en charge.
    Exemple de charge utile du message :
    {​ 
    "requestId": "f42f3550-5b44-4cde-aa52-xxxxxxxxxx",​ 
    "clientSessionId": "xxxxxxxxxx",​ 
    "token": "abcd",​ 
    "message": {​ 
        "text": "Test",​ 
        "typed": true​ 
    },​ 
    "contextVariables": {​ 
           "requester_session_language": "es"​ 
    },​ 
    "userId": ""abel.tuter",​ 
    "emailId": "abel.tuter@example.com"​ 
    }​ 
    

    Pour plus d'informations, consultez Variables de contexte de chat d’agent en direct et Configurer les variables de contexte pour le stockage des informations relatives à la messagerie instantanée.

    Fuseau horaire de l'utilisateur
    Définissez le fuseau horaire de l’utilisateur en le transmettant dans la charge utile de la demande. Une fois défini, ce paramètre de fuseau horaire est conservé jusqu’à ce qu’il soit réinitialisé.
    Exemple de charge utile du message :
    {​ 
    
        "requestId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxx",​ 
        "clientSessionId": "xxxxxxxx-xxxx",​ 
        "token": "xxxxx",​ 
        "action" : "SET_USER_TIMEZONE",​ 
        "userId": "able.tuter",​ 
        "emailId": "abel.tuter@example.com",​ 
         "timezone":"Asia/Kolkata"​ 
    } 
    Lors de l’utilisation de cette fonctionnalité, tenez compte des points suivants :
    • La conversation doit être ouverte (actuelle) afin de convertir la date et l’heure dans le fuseau horaire de l’utilisateur.
    • Le bot principal doit envoyer la date et l’heure dans l’un des formats suivants :
      • Nom du fuseau horaire. Par exemple, Asia/Kolkata ou America/New_York.
      • Date/Heure au format 24 heures. Par exemple : YYYY-MM-DD HH:MM:SS
    • L’API Agent virtuel utilise le fuseau horaire spécifié par le bot principal, même si le fuseau horaire qu’elle définit diffère de la valeur stockée dans la table [sys_user].
    • Pour définir le fuseau horaire de l’utilisateur, envoyez l’action SET_TIMEZONE . Si le nom du fuseau horaire n’est pas valide, la valeur par défaut du fuseau horaire est l’heure UTC. Par exemple, 2021-02-16 20:13:13.

    Prise en charge du saut de nœud

    Agent virtuel L’API prend en charge l’omission d’un nœud s’il est conçu pour le faire dans la rubrique. Par exemple, dans , vous Concepteur d'agent virtuelpouvez désigner un contrôle d’entrée utilisateur comme pouvant être ignoré dans l' Avancés > Masquer ou ignorer ce nœud zone de la feuille de propriétés.

    Figure 1. Condition ou script qui permet à l’utilisateur d’ignorer le nœud
    Dans cet exemple, l’option Script est sélectionnée et définit quand l’utilisateur peut ignorer le nœud.

    Pour plus d’informations sur la définition d’un nœud comme étant ignorable, reportez-vous à la section Concepteur d'agent virtuel Contrôles de saisie de l’utilisateur.

    Si un nœud est marqué comme ignorable, le bot présentera cette option à l’utilisateur. Si l’utilisateur l’ignore, le bot principal doit transmettre la commande skip comme illustré dans l’exemple suivant.
    {
    "requestId": "f42f3550-5b44-4cde-aa52-9b6756b3131c",
    "clientSessionId": "835607",
    "token": "snow",
    "message": {
    "text": "_skip_",
    "typed": false
    },
    "emailId": "beth.anglin@example.com",
    "userId": "beth.anglin"
    }

    Prise en charge de la poignée de main synchrone

    Remarque :
    Ces exigences s’appliquent à la version 2.0.x de l’API Agent virtuel . Pour une plus grande fonctionnalité de négociation synchrone, effectuez une mise à niveau vers la version 3.0.x, qui prend en charge le transfert d’agent actif et d’autres améliorations. Pour plus de détails, voir Améliorations de la poignée de main synchrone.
    Lorsqu’elle est activée, Agent virtuel elle remet les réponses au bot principal de façon synchrone. Si vous souhaitez activer la communication en Agent virtuel mode synchrone, vous devez désactiver manuellement les fonctions suivantes pour que l’établissement de liaison fonctionne :
    • Messagerie instantanée d'agent
    • Notifications
    • Indicateurs de frappe
    Remarque :
    Les rubriques qui utilisent les fonctionnalités suivantes ne sont pas prises en charge en mode synchrone : chargement de fichiers, bloc Utilitaire d'actionde rubriques et pause.
    Pour désactiver ces fonctionnalités et activer la prise en charge synchrone, procédez comme suit :
    1. Exclure le canal bot à bot de Messagerie instantanée d'agent.
      1. Accédez à Tous, puis saisissez sys_properties.list dans le filtre.
      2. Sélectionnez la com.glide.cs.exclude.liveagent.support propriété système pour l’ouvrir.
      3. Ajouter Bot To Bot au champ Valeur .
        Figure 2. Exclure le canal bot à bot de Messagerie instantanée d'agent
        Le champ Valeur de la propriété système contient « Alexa,Google Assistant,Bot to Bot ». Ces canaux sont exclus de la prise en charge Messagerie instantanée d'agentde .
      4. Cliquez sur Mettre à jour.
    2. Accédez à Tous, puis saisissez sys_cs_channel.list dans le filtre de navigation.
    3. Sélectionnez l’enregistrement Bot à bot.
    4. Décochez la case Activer les notifications pour la désactiver.
    5. Décochez la case Indicateur de frappe de support pour le désactiver.
    6. Cochez la case Synchrone .
      Figure 3. Canal bot à bot avec prise en charge synchrone activée
      La configuration du canal bot à bot pour le mode synchrone affiche les cases d’indicateur Activer les notifications et la prise en charge de la saisie comme désélectionnées. La case Synchrone est sélectionnée.
      Remarque :
      Si le champ Synchrone n’est pas visible, vous pouvez configurer la mise en page du formulaire pour l’afficher.
    7. Cliquez sur Mettre à jour.

    Prise en charge des notifications

    Utilisez Agent virtuel l’API pour envoyer les types de notifications suivants dans le canal Bot à bot lorsque celui-ci est activé en mode asynchrone :
    • Simple : notifications textuelles uniquement. Les notifications simples sont livrées dès qu’elles arrivent.
    • Carte d’image : image téléchargée sur le serveur ou spécifiée avec une URL.
    • Carte d’enregistrement : colonnes spécifiées à partir d’un enregistrement dans une table.
    • Actionnable : Donne à l’utilisateur la possibilité d’effectuer certaines actions. Les notifications exploitables sont mises en file d’attente. L’utilisateur peut les récupérer sur demande en envoyant la Show Notification commande.

    Pour plus d'informations, consultez Configuration des Agent virtuel notifications.

    Agent virtuel L’API envoie l’exemple de JSON suivant pour une notification simple :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "Done",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "OutputCard",
          "group": "DefaultOutputCard",
          "templateName": "Notification",
          "data": "{\"sys_id\":null,\"recordDisplayValue\":null,\"messageHeading\":\"[Heading]A notification has arrived. You can continue the conversation after viewing the notification.\",\"imageUrl\":null,\"tableLabel\":null,\"enableLink\":false,\"message\":\"[message]A notification has arrived. You can continue the conversation after viewing the notification.\",\"fields\":[],\"table_name\":null,\"url\":\"http://192.168.1.9:8080/null.do?sys_id=null\"}"
        }
      ],
      "completed": true,
      "score": 1
    }
    Agent virtuel L’API envoie l’exemple de JSON suivant pour une notification de carte d’image :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "Done",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "OutputCard",
          "group": "DefaultOutputCard",
          "templateName": "Notification",
          "data": "{\"sys_id\":null,\"recordDisplayValue\":null,\"messageHeading\":\"[Heading]A notification has arrived. You can continue the conversation after viewing the notification.\",\"imageUrl\":\"http://xxxxxx.service-now.com/2b2d0d2653a13010ff59ddeeff7b120d.iix\",\"tableLabel\":null,\"enableLink\":false,\"message\":\"[message]A notification has arrived. You can continue the conversation after viewing the notification.\",\"fields\":[],\"table_name\":null,\"url\":\"http://192.168.1.9:8080/null.do?sys_id=null\"}"
        }
      ],
      "completed": true,
      "score": 1
    }
    Agent virtuel L’API envoie l’exemple de JSON suivant pour une notification de carte d’enregistrement :
    {
      "requestId": "asd2423-wrr434-weruyt-1234567",
      "clientSessionId": "",
      "nowSessionId": "",
      "message": {
        "text": "Done",
        "typed": false,
        "clientMessageId": "ABC-123"
      },
      "userId": "beth.anglin",
      "body": [
        {
          "uiType": "OutputCard",
          "group": "DefaultOutputCard",
          "templateName": "Notification",
          "data": "{\"sys_id\":\"552c48888c033300964f4932b03eb092\",\"recordDisplayValue\":\"INC0010112\",\"messageHeading\":\"[Heading]A notification has arrived. You can continue the conversation after viewing the notification.\",\"imageUrl\":null,\"tableLabel\":\"Incident\",\"enableLink\":true,\"message\":\"[message]A notification has arrived. You can continue the conversation after viewing the notification.\",\"fields\":[{\"fieldLabel\":\"Number\",\"fieldValue\":\"INC0010112\"},{\"fieldLabel\":\"Short description\",\"fieldValue\":\"Assessment : ATF Assessor\"}],\"table_name\":\"incident\",\"url\":\"http://192.168.1.9:8080/incident.do?sys_id=552c48888c033300964f4932b03eb092\"}"
        }
      ],
      "completed": true,
      "score": 1
    }
    Les notifications pour le canal bot à bot sont désactivées par défaut. Pour les activer, procédez comme suit :
    1. Accédez à Tous, puis saisissez sys_cs_channel.list dans le filtre de navigation.
    2. Ouvrez l’enregistrement Bot à bot.

      Si vous y êtes invité, activez la modification sur l’enregistrement.

    3. Cochez la case Activer les notifications .
    4. Cliquez sur Mettre à jour.

    Les administrateurs peuvent limiter le nombre de destinataires par notification en modifiant la com.glide.cs.per_notification_user_limit propriété. La valeur par défaut est 1 000.

    Changement de rubrique à l’aide du nom de rubrique

    En plus d’utiliser l’ID de rubrique ou l’ID d’intention de rubrique pour changer de rubrique, vous pouvez utiliser la rubrique ou le nom de l’intention de rubrique. Il est recommandé de n’envoyer que l’ID ou le nom de la rubrique. Actuellement, si l’un ou l’autre est incorrect ou si le bot est déjà dans la rubrique spécifiée, Agent virtuel n’envoie aucune réponse. L’utilisation dépend du mode que vous utilisez, comme suit :
    • Découverte de rubrique NLU : utilisez le nom ou l’ID de l’intention de la rubrique.
    • Découverte de rubrique de mot clé : utilisez le nom ou l’ID de la rubrique.

    Le bot principal peut envoyer l’action SWITCH avec le nom de la rubrique pour passer directement à une rubrique particulière.

    Exemple de charge utile du message :
    {​ 
       "requestId": "xxxx-xxxx-xxxx-xxxx",
       "clientSessionId": "xxx-xxx-xxx-xxx",
       "action":"SWITCH",
       "topic":{
    ​      "name": "Topic Name"​
       },​
       "userId": "beth"​  
    } 

    Prise en charge de l’indicateur de frappe

    Vous pouvez activer les indicateurs de saisie pour les utilisateurs et les agents actifs. Actuellement, les indicateurs de saisie sont affichés comme suit :
    • Affiché à l’agent lorsque l’utilisateur tape
    • Affiché à l’utilisateur lorsque le bot prépare une réponse
    Lorsque l’indicateur de typage est activé, Agent virtuel l’API envoie les actions StartTypingIndicator et EndTypingIndicator dans la charge utile de la réponse. Par exemple :
    {​ 
            "uiType":"ActionMsg",​ 
            "actionType":"StartTypingIndicator"​ 
    } ​ 
    Pour envoyer l’indicateur de saisie de l’utilisateur à un agent actif, le client doit envoyer l’action TYPING. Lorsque l’utilisateur a fini de taper, le client doit envoyer l’actionVIEWING. Par exemple:
    {​ 
        "requestId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxx",​ 
        "clientSessionId": "xxxxxxxx-xxxx",​ 
        "action": "TYPING/VIEWING",​ 
        "userId": "able.tuter",​ 
        "emailId": "abel.tuter@example.com",​ 
        "timezone":"Asia/Kolkata"​ 
    }​ 
    Pour activer les indicateurs de saisie, procédez comme suit.
    1. Accédez à Tous, puis saisissez sys_cs_channel.list dans le filtre de navigation.
    2. Sélectionnez l’enregistrement Bot à bot.
    3. Cochez la case Indicateur de frappe de support .
    4. Cliquez sur Mettre à jour.