À propos des cookies sur ce site Pour fonctionner correctement, nos sites Internet nécessitent certains cookies (requis). En outre, d'autres cookies peuvent être utilisés avec votre consentement pour analyser l'utilisation d'un site, améliorer l'expérience des utilisateurs et à des fins publicitaires. Pour plus informations, passez en revue vos options de préférences en. En visitant notre site Web, vous acceptez que nous traitions les informations comme décrit dans ladéclaration de confidentialité d’IBM. Pour faciliter la navigation, vos préférences en matière de cookie seront partagées dans les domaines Web d'IBM énumérés ici.
Définir des réponses à l'aide de l'éditeur JSON
Dans certaines situations, vous devrez peut-être définir les réponses de votre assistant à l'aide de l'éditeur JSON. Pour plus d'informations, voir Ajout de réponses d'assistant.
Pour modifier une réponse à l'aide de l'éditeur JSON, cliquez sur l'icône Basculer vers l'éditeur JSON dans le champ Assistant says. L'éditeur JSON
montre comment la réponse est définie en arrière-plan et envoyée au canal.
Format JSON générique
Si vous ouvrez l'éditeur JSON sur une nouvelle réponse vide, la structure de base suivante s'affiche :
{
"generic": []
}
La propriété generic
définit un tableau de réponses qui sont envoyées au canal lorsque l'étape est exécutée. Le terme générique fait référence au fait que ces réponses sont définies en utilisant un format JSON générique
qui n'est pas spécifique à un canal. Ce format peut prendre en charge différents types de réponse pris en charge par plusieurs intégrations et peut également être implémenté par une application cent personnalisée qui utilise l'API REST.
Le tableau generic
d'une étape peut contenir plusieurs réponses et chaque réponse a un type de réponse. Une étape de base qui envoie une réponse textuelle simple n'inclut généralement qu'une seule réponse avec le type de
réponse text
. Cependant, de nombreux autres types de réponses sont disponibles, prenant en charge le contenu multimédia et interactif, ainsi que le contrôle du comportement de certaines intégrations de canaux.
Bien que le format generic
puisse être envoyé à n'importe quel canal d'intégration, tous les canaux ne prennent pas en charge tous les types de réponse, de sorte qu'une réponse particulière peut être ignorée ou traitée différemment
par certains canaux. Pour plus d'informations, voir la référence des types de réponses.
Au moment de l'exécution, les résultats comportant plusieurs réponses peuvent être divisés en plusieurs messages. L'intégration du canal envoie ces messages au canal dans l'ordre, mais c'est au canal qu'il incombe de délivrer ces messages à l'utilisateur, ce qui peut être affecté par des problèmes de réseau ou de serveur.
Ajout de réponses
Pour spécifier une réponse dans l'éditeur JSON, insérez les objets JSON appropriés dans la zone generic
de la réponse de l'étape. L'exemple suivant montre une sortie avec deux réponses de types différents (un texte et une image):
{
"generic":[
{
"response_type": "text",
"values": [
{
"text_expression": {
"concat": [
{
"scalar": "This is a text response."
}
]
}
}
]
},
{
"response_type": "image",
"source": "https://example.com/image.jpg",
"title": "Example image",
"description": "This is an image response."
}
]
}
Pour plus d'informations, voir Types de réponses.
Cibler des intégrations spécifiques
Si vous prévoyez de déployer votre assistant sur plusieurs canaux, vous pouvez envoyer différentes réponses à différentes intégrations en fonction des capacités de chaque canal. La propriété channels
de l'objet de réponse générique
fournit un moyen de le faire.
Ce mécanisme est utile si votre flux de conversation ne change pas en fonction de l'intégration utilisée et si vous ne pouvez pas savoir à l'avance à quelle intégration la réponse est envoyée au moment de l'exécution. En utilisant channels
,
vous pouvez définir une seule étape qui prend en charge toutes les intégrations, tout en personnalisant la sortie de chaque canal. Par exemple, vous souhaiterez peut-être personnaliser la mise en forme du texte, ou même envoyer différents
types de réponse, en fonction de ce que le canal prend en charge.
L'utilisation de channels
est utile avec le type de réponse channel_transfer
. Comme la sortie du message est traitée à la fois par le canal qui initie le transfer
et par le canal cible, vous pouvez utiliser
channels
pour définir des réponses qui sont traitées par l'un ou par l'autre.
Pour spécifier les intégrations pour lesquelles une réponse est destinée, incluons le tableau channels
facultatif dans le cadre de l'objet de réponse. Tous les types de réponse prennent en charge le tableau channels
.
Ce tableau contient un ou plusieurs objets en utilisant la syntaxe suivante :
{
"channel": "<channel_name>"
}
La valeur de <channel_name>
peut être l'une des chaînes suivantes:
chat
: discussion Webvoice_telephony
: Téléphonetext_messaging
: SMSslack
: Slackfacebook
: Facebook Messengerwhatsapp
: WhatsApp
L'exemple suivant montre une sortie d'étape de dialogue contenant deux réponses : l'une destinée à l'intégration de discussion Web et l'autre destinée aux intégrations Slack et Facebook.
{
"generic": [
{
"response_type": "text",
"channels": [
{
"channel": "chat"
}
],
"values": [
{
"text_expression": {
"concat": [
{
"scalar": "This output is intended for the <strong>web chat</strong>."
}
]
}
}
]
},
{
"response_type": "text",
"channels": [
{
"channel": "slack"
},
{
"channel": "facebook"
}
],
"values": [
{
"text_expression": {
"concat": [
{
"scalar": "This output is intended for either Slack or Facebook."
}
]
}
}
]
}
]
}
Si le tableau channels
est présent, il doit contenir au moins un objet de canal. Toute intégration non répertoriée ignore la réponse. Si le tableau channels
est absent, toutes les intégrations gèrent la réponse.
Types de réponse
Vous pouvez configurer différents types de réponse à l'aide de JSON. Pour en savoir plus sur les types de réponse et les intégrations prises en charge pour les types de réponse JSON, voir Response types reference.