Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Traitement des réponses d'un AppInstanceBot
Lorsqu'un utilisateur envoie un message, il AppInstanceBot répond par un message de chaîne. Vous pouvez répertorier les messages des chaînes pour obtenir la réponse du bot.
L'exemple suivant montre comment utiliser la CLI pour répertorier les messages des canaux.
aws chime-sdk-messaging list-channel-messages \ --chime-bearer
caller_app_instance_user_arn
\ --channel-arnchannel_arn
Les réponses positives d'un an AppInstanceBot prennent le format suivant.
{ "MessageId": "
messageId
", "Content": "*{\"Messages
\":[{\"...\"}]}*", "ContentType": "application/amz-chime-lex-msgs
", "MessageAttributes": { "CHIME.LEX.sessionState.intent.name": { "StringValues": [ "lex_bot_intent_name
" ] }, "CHIME.LEX.sessionState.intent.state": { "StringValues": [ "lex_bot_intent_fullfilment_status
" ] }, "CHIME.LEX.sessionState.originatingRequestId": { "StringValues": [ "lex_bot_originating_request_id
" ] }, "CHIME.LEX.sessionState.sessionId": { "StringValues": [ "lex_bot_session_id
" ] } }, "Sender": { "Arn": "app_instance_bot_arn
", "Name": "app_instance_bot_name
" }, "Type": "STANDARD", }
- Content
-
Le
Content
champ contient une liste de messages provenant du bot Amazon Lex V2. Pour plus d'informations sur ces messages, reportez-vous aux messages de l'RecognizeText
API Amazon Lex V2.L'exemple suivant montre comment utiliser le
Content
champ dans un message de bienvenue.{ "Messages": [ { "Content": "
Hello!
", "ContentType": "PlainText
" }, { "ContentType": "ImageResponseCard", "ImageResponseCard": { "Title": "Hello! I'm BB, the Bank Bot.
", "Subtitle": "I can help you with the following transactions
", "Buttons": [ { "Text": "Check balance
", "Value": "Check balance
" }, { "Text": "Escalate to agent
", "Value": "Escalate to agent
" } ] } } ] }Pour une réponse en cas d'échec, le champ Contenu contient un message d'erreur et un code au format suivant :
{ "Code":
error_code
} - ContentType
-
Le
ContentType
fait référence au type de charge utile que contient leContent
champ et doit être coché pour analyser leContent
champ.Note
Le bot Lex V2 utilise un autre
ContentType
.ContentType
est défini surapplication/amz-chime-lex-msgs
pour une réponse réussie ouapplication/amz-chime-lex-error
une réponse d'échec. - MessageAttribute
-
A MessageAttributeest une carte entre les clés de chaîne et les valeurs de chaîne. Une réponse provenant d'un
AppInstanceBot
contient les attributs de message suivants mappés à une réponse d'un bot Amazon Lex.Chime.Lex.SessionState.Intent.name : nom de l'intention du bot Lex que la demande a tenté de satisfaire.
chime.lex.SessionState.Intent.State — État actuel de l'intention. Les valeurs possibles incluent :
Fulfilled
InProgress
, etFailed
.chime.lex. SessionState. originatingRequestId— Un identifiant unique pour une demande spécifique adressée au bot Amazon Lex. Ce paramètre est défini sur le
MessageId
message utilisateur d'origine qui a déclenché le AppInstanceBot.chime.lex.SessionState.SessionId — Identifiant unique pour une conversation entre l'utilisateur et le bot. Lorsqu'un utilisateur lance une discussion avec votre bot, Amazon Lex crée une session.
Pour plus d'informations sur les sessions et les états de session Amazon Lex, reportez-vous SessionStateà la référence des API Amazon Lex et à la gestion des sessions dans le guide du développeur Amazon Lex V2
Pour plus d'informations sur les attributs renvoyés par Amazon Lex V2, consultez les API Amazon Lex Runtime V2.