Traitement des réponses d'un AppInstanceBot - Amazon Chime SDK

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-arn channel_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'RecognizeTextAPI 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 le Content champ et doit être coché pour analyser le Content champ.

Note

Le bot Lex V2 utilise un autreContentType.

ContentTypeest défini sur application/amz-chime-lex-msgs pour une réponse réussie ou application/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 : FulfilledInProgress, 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.