Agent virtuel Fonctionnalités de l’API disponibles dans la version Store 2.0.x
Agent virtuelLa version 2.0.x de l’API permet d’accéder à un plus grand nombre des mêmes fonctionnalités que celles disponibles dans et Messagerie instantanée d'agent, y compris une prise en Agent virtuel charge approfondie du contrôle et des 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 en savoir plus sur la localisation de rubriques, reportez-vous à Localisation des Agent virtuel conversations.
Agent virtuel L’API envoie l’exemple 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 en savoir plus sur les contrôles personnalisés, reportez-vous à la section Personnalisation Agent virtuel avec des contrôles personnalisés.
- Contrôles de réponse d’agents de table
- Les rubriques qui utilisent des contrôles de réponse de l’agent de table sont désormais prises en charge. Pour plus d'informations, consultez Contrôle de réponse d’agent de table.
Tous les enregistrements sont renvoyés par l’API Agent virtuel en même temps. Agent virtuel attendra une réponse du client d’API pour envoyer le contrôle suivant. Utilisez la propriété pour afficher les paginationBreak enregistrements par 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 l’agent 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 des agents HTML
- Les rubriques qui utilisent des contrôles de réponse d’agent HTML sont désormais prises en charge. Pour plus d'informations, consultez Contrôle de réponse de l’agent HTML.Agent virtuel L’API envoie l’exemple JSON suivant pour un contrôle de réponse d’agent 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’agents à réponses multiples
- Les rubriques qui utilisent des contrôles de réponse bot à réponse multiple sont désormais prises en charge. Pour plus d'informations, consultez Contrôle de réponse de l’agent à réponse multiple.Agent virtuel L’API envoie l’exemple JSON suivant pour un contrôle de réponse bot à réponse multiple :
{ "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 du texte en gras ou en italique, des liens hypertexte, des listes à puces et des 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 activer cette option, activez les noms et avatars des agents dans les paramètres de la Messagerie instantanée d’agent.Voici un exemple de charge utile de message :
{ "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, consultez 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 d’attente du chat en direct dans les paramètres de Messagerie instantanée d’agent. La spinnerType valeur est définie sur wait_time. Si l’état en attente de messagerie instantanée est défini sur Aucun, la spinnerType valeur est none.Agent virtuel L’API envoie l’exemple JSON suivant dans le paramètre de la body charge utile.
{ "uiType":"ActionMsg", "actionType":"StartSpinner", "spinnerType":"wait_time", "message":"Routing you to a live agent...", "waitTime":"8 Seconds" }Pour plus d’informations, consultez Configurer la Messagerie instantanée d’agent.
- Envoyer l’historique de la messagerie instantanée depuis le bot primaire vers Agent virtuel
- Le bot principal peut transmettre l’historique de la messagerie instantanée à un agent actif afin que l’agent puisse voir le contexte de la conversation.Agent virtuel convertit l’historique du message en HTML, puis en image.
- L’image convertie est envoyée à l’agent actif en tant que premier message de la messagerie instantanée.
- Le bot primaire doit envoyer l’historique des messages lors de la première demande. Dans toute autre demande postérieure à la première demande, la charge utile de l’historique des messages est ignorée.
- Seuls les messages texte sont pris en charge.
- Le bot principal peut transmettre n’importe quelle URL sous forme de valeur dans le message texte, mais l’agent actif ne peut l’afficher que dans le cadre de l’image. L’agent actif ne sera pas en mesure de 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 à partir du bot principal
L’API Agent virtuel prend désormais en charge les requêtes suivantes provenant du bot principal.
- Paramètres système et variables contextuelles
- Le bot principal peut transmettre des paramètres système et des variables contextuelles en tant qu’entrée, et Agent virtuel respectera ces paramètres. Les paramètres système tels que liveagent_devicetype, liveagent_requester_session_language, , live_agent_onlytopicliveagent_topic, 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 actif et Configurer des 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 : 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 du fuseau horaire est UTC par défaut. Par exemple, 2021-02-16 20:13:13.
Prise en charge de l’omission de nœud
Agent virtuel L’API prend en charge l’omission d’un nœud si elle est conçue pour le faire dans la rubrique. Par exemple, dans Concepteur d'agent virtuel, vous pouvez désigner un contrôle d’entrée utilisateur comme pouvant être ignoré dans le zone de la feuille de propriétés.
Pour plus d’informations sur la définition d’un nœud comme ignorable, reportez-vous à la section Concepteur d'agent virtuel Contrôles d’entrée de l’utilisateur.
{
"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 l’établissement de liaison synchrone
- Messagerie instantanée d'agent
- Notifications
- Indicateurs de frappe
- Exclure le canal bot à bot de .Messagerie instantanée d'agent
- Accédez à Tous, puis entrez sys_properties.list dans le filtre.
- Sélectionnez la com.glide.cs.exclude.liveagent.support propriété système pour l’ouvrir.
- Ajouter Bot To Bot au champ Valeur .
Figure 2. Exclure le canal bot vers bot de Messagerie instantanée d'agent - Cliquez sur Mettre à jour.
- Accédez à Tout, puis entrez sys_cs_channel.list dans le filtre de navigation.
- Sélectionnez l’enregistrement bot à bot.
- Décochez la case Activer les notifications pour le désactiver.
- Décochez la case Indicateur de prise en charge de la saisie pour le désactiver.
- Sélectionnez la case à cocher Synchrone .
Figure 3. Canal bot à bot avec prise en charge synchrone activée Remarque :Si le champ Synchrone n’est pas visible, vous pouvez configurer la mise en page du formulaire pour l’afficher. - Cliquez sur Mettre à jour.
Prise en charge des notifications
- Simple : notifications sous forme de texte uniquement. Des notifications simples sont délivrées dès leur arrivée.
- 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 : fournit à 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.
{
"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
}{
"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
}{
"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
}- Accédez à Tout, puis entrez sys_cs_channel.list dans le filtre de navigation.
- Ouvrez l’enregistrement bot vers bot.
Si vous y êtes invité, activez la modification de l’enregistrement.
- Cochez la case Activer les notifications .
- 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 la rubrique
- Découverte de rubrique NLU : utilisez le nom ou l’ID de l’intention de la rubrique.
- Découverte de rubrique par 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 basculer directement vers une rubrique particulière.
{
"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
- Affiché à l’agent lorsque l’utilisateur tape
- Affiché à l’utilisateur lorsque le bot prépare une réponse
{
"uiType":"ActionMsg",
"actionType":"StartTypingIndicator"
} {
"requestId": "xxxxxx-xxxxxx-xxxx-xxxx-xxxxxxxxxx",
"clientSessionId": "xxxxxxxx-xxxx",
"action": "TYPING/VIEWING",
"userId": "able.tuter",
"emailId": "abel.tuter@example.com",
"timezone":"Asia/Kolkata"
} - Accédez à Tout, puis entrez sys_cs_channel.list dans le filtre de navigation.
- Sélectionnez l’enregistrement bot à bot.
- Cochez la case Indicateur de prise en charge de la saisie .
- Cliquez sur Mettre à jour.