

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Processamento de respostas de um AppInstanceBot para mensagens do Amazon Chime SDK
<a name="process-response"></a>

Quando um usuário envia uma mensagem, ele AppInstanceBot responde com uma mensagem do canal. Você pode listar as mensagens do canal para obter a resposta do bot. 

O exemplo a seguir mostra como usar a CLI para listar mensagens do canal.

```
aws chime-sdk-messaging list-channel-messages \
--chime-bearer {{caller_app_instance_user_arn}} \
--channel-arn {{channel_arn}}
```

As respostas de sucesso de e AppInstanceBot assumem o seguinte formato. 

```
{
    "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**  
O campo `Content` contém uma lista de mensagens provenientes do bot do Amazon Lex V2. Para obter mais informações sobre essas mensagens, consulte as [mensagens](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_RecognizeText.html#lexv2-runtime_RecognizeText-response-messages) na API `RecognizeText` do Amazon Lex V2.  
O exemplo a seguir mostra como usar o campo `Content` em uma mensagem de boas-vindas.  

```
{
    "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}}"
                    }
                ]
            }
        }
    ]
}
```
Para uma resposta a falhas, o campo Conteúdo contém uma mensagem de erro e um código no seguinte formato:  

```
{
    "Code": {{error_code}}
}
```

**ContentType**  
O `ContentType` se refere ao tipo de carga útil que o campo `Content` contém e deve ser verificado para analisar o campo `Content`.   
O bot do Lex V2 usa um `ContentType` diferente.
`ContentType` está definido como `application/amz-chime-lex-msgs` para uma resposta bem-sucedida ou como `application/amz-chime-lex-error` para uma resposta de falha.

**MessageAttribute**  
A *MessageAttribute*é um mapa de chaves de string para valores de string. Uma resposta de um `AppInstanceBot` contém os seguintes atributos da mensagem associados a uma resposta de um bot do Amazon Lex.   
+ **CHIME.LEX.sessionState.intent.name**— O nome da intenção do bot Lex que a solicitação tentou atender.
+ **CHIME.LEX.sessionState.intent.state**— O estado atual da intenção. Os valores possíveis são: `Fulfilled`, `InProgress` e `Failed`. 
+ **CHIME.LEX.sessionState.originatingRequestId**— Um identificador exclusivo para uma solicitação específica para o bot Amazon Lex. Isso é definido como a mensagem `MessageId` do usuário de origem que acionou o. AppInstanceBot
+ **CHIME.LEX.sessionState.sessionId**— Um identificador exclusivo para uma conversa entre o usuário e o bot. Quando um usuário inicia um chat com seu bot, o Amazon Lex cria uma sessão.
Para ter mais informações sobre sessões e estados de sessão do Amazon Lex, consulte [https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_SessionState.html](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_runtime_SessionState.html) em *Amazon Lex API Reference* e [Managing sessions](https://docs.aws.amazon.com/lexv2/latest/dg/using-sessions.html) no *Guia do desenvolvedor do Amazon Lex V2*.  
Para obter mais informações sobre os atributos que o Amazon Lex V2 retorna, consulte as APIs de [Runtime do Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/APIReference/API_Operations_Amazon_Lex_Runtime_V2.html).