

Aviso de fim do suporte: em 15 de setembro de 2025, o suporte para o Amazon Lex V1 AWS será interrompido. Após 15 de setembro de 2025, você não poderá mais acessar o console do Amazon Lex V1 nem os respectivos recursos. Se você estiver usando o Amazon Lex V2, consulte o [guia do Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html) em vez disso. 

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á.

# Etapa 2b (opcional): revisar os detalhes do fluxo de informações digitado (console)
<a name="gs-bp-details-part1"></a>

Esta seção explica o fluxo de informações entre o cliente e o Amazon Lex, em que o cliente usa a API `PostText` para enviar solicitações. Para obter mais informações, consulte [PostText](API_runtime_PostText.md). 

1. O usuário digita: Eu gostaria de encomendar flores.

   1. O cliente (console) envia a seguinte solicitação [PostText](API_runtime_PostText.md) para o Amazon Lex: 

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "I would like to order some flowers",
          "sessionAttributes": {}
      }
      ```

      O URI de solicitação e o corpo fornecem informações ao Amazon Lex:
      + URI de solicitação: fornece o nome do bot (`OrderFlowers`), o alias do bot (`$LATEST`) e o nome do usuário (uma string aleatória que identifica o usuário). O `text` final indica que esta é uma solicitação de API `PostText` (e não `PostContent`).

         
      + Corpo da solicitação: inclui a entrada do usuário (`inputText`) e `sessionAttributes` vazio. Quando o cliente faz a primeira solicitação, não há atributos de sessão. A função do Lambda as inicia posteriormente.

   1. A partir de `inputText`, o Amazon Lex detecta a intenção (`OrderFlowers`). Essa intenção não tem nenhum hook de código (ou seja, as funções do Lambda) para inicialização e validação do atendimento ou da entrada do usuário. 

      O Amazon Lex escolhe um dos slots (`FlowerType`) da intenção para obter o valor. Ele também seleciona uma das solicitações de escolha de valor para o slot (tudo parte da configuração de intenção) e, em seguida, envia a resposta a seguir de volta para o cliente. O console exibe a mensagem na resposta para o usuário.  
![\[\]](http://docs.aws.amazon.com/pt_br/lex/latest/dg/images/gs-1-details-10.png)

      O cliente exibe a mensagem na resposta.

1. O usuário digita: rosas

   1. O cliente (console) envia a seguinte solicitação [PostText](API_runtime_PostText.md) para o Amazon Lex: 

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "roses",
          "sessionAttributes": {}
      }
      ```

      O `inputText` no corpo da solicitação fornece entradas do usuário. O `sessionAttributes` permanece vazio.

   1. Primeiro, o Amazon Lex interpreta o `inputText` no contexto da intenção atual (o serviço lembra que pediu ao usuário específico informações sobre o slot `FlowerType`). O Amazon Lex atualiza o valor de slot para a intenção atual e escolhe outro slot (`PickupDate`) junto com um de seus prompts de mensagens, “Em que dia você deseja que as rosas sejam entregues?”, `` para o slot.

      Em seguida, o Amazon Lex retorna a seguinte resposta:  
![\[\]](http://docs.aws.amazon.com/pt_br/lex/latest/dg/images/gs-1-details-20.png)

      O cliente exibe a mensagem na resposta.

1. O usuário digita: amanhã

   1. O cliente (console) envia a seguinte solicitação [PostText](API_runtime_PostText.md) para o Amazon Lex: 

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "tomorrow",
          "sessionAttributes": {}
      }
      ```

      O `inputText` no corpo da solicitação fornece entradas do usuário. O `sessionAttributes` permanece vazio.

   1. Primeiro, o Amazon Lex interpreta o `inputText` no contexto da intenção atual (o serviço lembra que pediu ao usuário específico informações sobre o slot `PickupDate`). O Amazon Lex atualiza o valor de slot (`PickupDate`) para a intenção atual. Ele escolhe outro slot para obter o valor para (`PickupTime`). Ele retorna uma das solicitações de escolha de valor, “Entregar as rosas a que horas em 05/01/2017?” `` para o cliente.

      Em seguida, o Amazon Lex retorna a seguinte resposta:  
![\[\]](http://docs.aws.amazon.com/pt_br/lex/latest/dg/images/gs-1-details-30.png)

      O cliente exibe a mensagem na resposta.

1. O usuário digita: 18h

   1. O cliente (console) envia a seguinte solicitação [PostText](API_runtime_PostText.md) para o Amazon Lex: 

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "6 pm",
          "sessionAttributes": {}
      }
      ```

      O `inputText` no corpo da solicitação fornece entradas do usuário. O `sessionAttributes` permanece vazio.

   1. Primeiro, o Amazon Lex interpreta o `inputText` no contexto da intenção atual (o serviço lembra que pediu ao usuário específico informações sobre o slot `PickupTime`). Primeiro, o Amazon Lex atualiza o valor de slot para a intenção atual. Agora, o Amazon Lex detecta que tem informações de todos os slots. 

      A intenção `OrderFlowers` é configurada com uma mensagem de confirmação. Portanto, o Amazon Lex precisa de uma confirmação explícita do usuário para poder prosseguir para o atendimento da intenção. O Amazon Lex envia a seguinte mensagem para o cliente solicitando confirmação antes de encomendar as flores:  
![\[\]](http://docs.aws.amazon.com/pt_br/lex/latest/dg/images/gs-1-details-40.png)

      O cliente exibe a mensagem na resposta.

1. O usuário digita: Sim

   1. O cliente (console) envia a seguinte solicitação [PostText](API_runtime_PostText.md) para o Amazon Lex: 

      ```
      POST /bot/OrderFlowers/alias/$LATEST/user/4o9wwdhx6nlheferh6a73fujd3118f5w/text
      "Content-Type":"application/json"
      "Content-Encoding":"amz-1.0"
      
      {
          "inputText": "Yes",
          "sessionAttributes": {}
      }
      ```

      O `inputText` no corpo da solicitação fornece entradas do usuário. O `sessionAttributes` permanece vazio.

   1. O Amazon Lex interpreta o `inputText` no contexto de confirmação da intenção atual. Ele entende que o usuário deseja prosseguir com o pedido. A intenção `OrderFlowers` é configurada com `ReturnIntent` como a atividade de cumprimento (não há função do Lambda para cumprir a intenção). Portanto, o Amazon Lex retorna os dados do slot ao cliente.   
![\[\]](http://docs.aws.amazon.com/pt_br/lex/latest/dg/images/gs-1-details-50.png)

      O Amazon Lex definiu `dialogState` como `ReadyForFulfillment`. O cliente pode, então, cumprir a intenção.

1. Agora teste o bot novamente. Para isso, selecione o link **Clear** no console para estabelecer um novo contexto (de usuário). Agora, conforme você fornece dados para a intenção de encomenda de flores, tente fornecer dados inválidos. Por exemplo: 
   + Jasmim como o tipo de flor (não é um dos tipos de flor suportados).
   + Ontem como o dia em que você deseja receber as flores.

   Observe que o bot aceita esses valores porque você não tem nenhum código para os dados initialize/validate do usuário. Na próxima seção, adicione uma função do Lambda para fazer isso. Observe o seguinte sobre a função do Lambda:
   + A função do Lambda valida os dados do slot depois de cada entrada do usuário. Ela cumpre a intenção no final. Ou seja, o bot processa o pedido de flores e retorna uma mensagem para o usuário, em vez de simplesmente retornar dados de slot para o cliente. Para obter mais informações, consulte [Uso de funções do Lambda](using-lambda.md).
   + A função do Lambda também define os atributos da sessão. Para mais informações sobre atributos de sessão, consulte [PostText](API_runtime_PostText.md). 

      Ao concluir a seção Conceitos básicos, você pode fazer os exercícios adicionais ([Exemplos adicionais: criação de bots do Amazon Lex](additional-exercises.md)). O [Reservar uma viagem](ex-book-trip.md) usa atributos de sessão para compartilhar informações entre intenções para iniciar uma conversa dinâmica com o usuário.

**Próxima etapa**  
[Etapa 3: Crie uma função do Lambda (console)](gs-bp-create-lambda-function.md)