

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 depuis et AppInstanceBot pour la messagerie du SDK Amazon Chime
<a name="process-response"></a>

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](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html#lexv2-runtime_RecognizeText-response-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 le `Content` champ et doit être coché pour analyser le `Content` champ.   
Le bot Lex V2 utilise un autre`ContentType`.
`ContentType`est défini sur `application/amz-chime-lex-msgs` une réponse réussie ou une réponse `application/amz-chime-lex-error` d'échec.

**MessageAttribute**  
A *MessageAttribute*est 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**— Le nom de l'intention du bot Lex à laquelle la demande a tenté de répondre.
+ **CHIME.LEX.sessionState.intent.state**— L'état actuel de l'intention. Les valeurs possibles sont les suivantes : `Fulfilled``InProgress`, et`Failed`. 
+ **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 [https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_SessionState.html](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_SessionState.html)à la *référence des API Amazon Lex* et à la [gestion des sessions](https://docs.aws.amazon.com/lexv2/latest/dg/using-sessions.html) *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](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_Operations_Amazon_Lex_Runtime_V2.html).