

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

# PutSession
<a name="API_runtime_PutSession"></a>

Cria uma nova sessão ou modifica uma sessão existente com um bot do Amazon Lex. Use essa operação para permitir que seu aplicativo defina o estado do bot.

Para obter mais informações, consulte [Gerenciamento de sessões](https://docs.aws.amazon.com/lex/latest/dg/how-session-api.html).

## Sintaxe da Solicitação
<a name="API_runtime_PutSession_RequestSyntax"></a>

```
POST /bot/botName/alias/botAlias/user/userId/session HTTP/1.1
Accept: accept
Content-type: application/json

{
   "activeContexts": [ 
      { 
         "name": "string",
         "parameters": { 
            "string" : "string" 
         },
         "timeToLive": { 
            "timeToLiveInSeconds": number,
            "turnsToLive": number
         }
      }
   ],
   "dialogAction": { 
      "fulfillmentState": "string",
      "intentName": "string",
      "message": "string",
      "messageFormat": "string",
      "slots": { 
         "string" : "string" 
      },
      "slotToElicit": "string",
      "type": "string"
   },
   "recentIntentSummaryView": [ 
      { 
         "checkpointLabel": "string",
         "confirmationStatus": "string",
         "dialogActionType": "string",
         "fulfillmentState": "string",
         "intentName": "string",
         "slots": { 
            "string" : "string" 
         },
         "slotToElicit": "string"
      }
   ],
   "sessionAttributes": { 
      "string" : "string" 
   }
}
```

## Parâmetros da Solicitação de URI
<a name="API_runtime_PutSession_RequestParameters"></a>

A solicitação usa os seguintes parâmetros de URI:

 ** [accept](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-accept"></a>
A mensagem que o Amazon Lex retorna na resposta pode ser texto ou fala dependendo do valor deste campo.  
+ Se o valor for `text/plain; charset=utf-8`, o Amazon Lex retornará o texto na resposta.
+ Se o valor começar com `audio/`, o Amazon Lex retornará a fala na resposta. O Amazon Lex usa o Amazon Polly para gerar a fala na configuração que você especificar. Por exemplo, se você especificar `audio/mpeg` como valor, o Amazon Lex retornará a fala no formato MPEG.
+ Se o valor for `audio/pcm`, a fala será retornada como `audio/pcm` no formato little-endian de 16 bits.
+ Os valores aceitos são os seguintes:
  +  `audio/mpeg` 
  +  `audio/ogg` 
  +  `audio/pcm` 
  +  `audio/*` (o padrão é mpeg)
  +  `text/plain; charset=utf-8` 

 ** [botAlias](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-uri-botAlias"></a>
O alias em uso para o bot que contém os dados da sessão.  
Obrigatório: Sim

 ** [botName](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-uri-botName"></a>
O nome do bot que contém os dados da sessão.  
Obrigatório: Sim

 ** [userId](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-uri-userId"></a>
O ID do usuário do aplicativo cliente. O Amazon Lex usa isso para identificar a conversa de um usuário com seu bot.   
Restrições de tamanho: tamanho mínimo 2. Comprimento máximo de 100.  
Padrão: `[0-9a-zA-Z._:-]+`   
Obrigatório: Sim

## Corpo da Solicitação
<a name="API_runtime_PutSession_RequestBody"></a>

A solicitação aceita os dados a seguir no formato JSON.

 ** [activeContexts](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-activeContexts"></a>
Uma lista de contextos ativos para a solicitação. Um contexto pode ser ativado quando uma intenção anterior é atendida ou incluindo o contexto na solicitação,  
Se você não especificar uma lista de contextos, o Amazon Lex usará a lista atual de contextos para a sessão. Se você especificar uma lista vazia, todos os contextos da sessão serão apagados.  
Tipo: matriz de objetos [ActiveContext](API_runtime_ActiveContext.md)  
Membros da Matriz: número mínimo de 0 itens. Número máximo de 20 itens.  
Obrigatório: não

 ** [dialogAction](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-dialogAction"></a>
Define a próxima ação que o bot deve realizar para atender a conversa.  
Tipo: objeto [DialogAction](API_runtime_DialogAction.md)  
Obrigatório: Não

 ** [recentIntentSummaryView](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-recentIntentSummaryView"></a>
Um resumo das intenções recentes do bot. Você pode usar a visualização de resumo de intenções para definir um rótulo de ponto de verificação em uma intenção e modificar os atributos das intenções. Você também pode usá-la para remover ou adicionar objetos de resumo de intenção à lista.  
A intenção que você modifica ou adiciona à lista deve fazer sentido para o bot. Por exemplo, o nome da intenção deve ser válida para o bot. Você deve fornecer valores válidos para:  
+  `intentName` 
+ nomes de slot
+  `slotToElict` 
Se você enviar o parâmetro `recentIntentSummaryView` em uma solicitação `PutSession`, o conteúdo da nova visualização de resumo substituirá a antiga visualização de resumo. Por exemplo, se uma solicitação `GetSession` retornar três intenções na exibição de resumo e você chamar `PutSession` com uma intenção na visualização de resumo, a próxima chamada `GetSession` retornará apenas uma intenção.  
Tipo: matriz de objetos [IntentSummary](API_runtime_IntentSummary.md)  
Membros da Matriz: número mínimo de 0 itens. Número máximo de 3 itens.  
Obrigatório: não

 ** [sessionAttributes](#API_runtime_PutSession_RequestSyntax) **   <a name="lex-runtime_PutSession-request-sessionAttributes"></a>
Mapa de key/value pares representando as informações de contexto específicas da sessão. Ele contém informações do aplicativo passadas entre o Amazon Lex e um aplicativo cliente.  
Tipo: mapa de string para string  
Obrigatório: Não

## Sintaxe da resposta
<a name="API_runtime_PutSession_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-Type: contentType
x-amz-lex-intent-name: intentName
x-amz-lex-slots: slots
x-amz-lex-session-attributes: sessionAttributes
x-amz-lex-message: message
x-amz-lex-encoded-message: encodedMessage
x-amz-lex-message-format: messageFormat
x-amz-lex-dialog-state: dialogState
x-amz-lex-slot-to-elicit: slotToElicit
x-amz-lex-session-id: sessionId
x-amz-lex-active-contexts: activeContexts

audioStream
```

## Elementos de resposta
<a name="API_runtime_PutSession_ResponseElements"></a>

Se a ação for bem-sucedida, o serviço retornará uma resposta HTTP 200.

A resposta retorna os cabeçalhos HTTP a seguir.

 ** [activeContexts](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-activeContexts"></a>
Uma lista de contextos ativos para a sessão.

 ** [contentType](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-contentType"></a>
Tipo de conteúdo conforme especificado no cabeçalho HTTP `Accept` na solicitação.

 ** [dialogState](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-dialogState"></a>
  
+  `ConfirmIntent` - O Amazon Lex espera uma resposta “sim” ou “não” para confirmar a intenção antes de atendê-la.
+  `ElicitIntent` - O Amazon Lex quer obter a intenção do usuário.
+  `ElicitSlot` - O Amazon Lex espera o valor de um slot para a intenção atual.
+  `Failed` - Transmite que a conversa com o usuário falhou. Isso pode acontecer por vários motivos, incluindo o usuário não fornecer uma resposta adequada aos prompts do serviço ou a função do Lambda não atender a intenção.
+  `Fulfilled` - Transmite que a função do Lambda atendeu com sucesso a intenção.
+  `ReadyForFulfillment` - Transmite que o cliente deve atender à solicitação.
Valores válidos: `ElicitIntent | ConfirmIntent | ElicitSlot | Fulfilled | ReadyForFulfillment | Failed` 

 ** [encodedMessage](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-encodedMessage"></a>
A próxima mensagem que deve ser apresentada ao usuário.  
O campo `encodedMessage` é codificado em base 64. Você deve decodificar o campo antes de poder usar o valor.  
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 1.366.

 ** [intentName](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-intentName"></a>
O nome da intenção atual.

 ** [message](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-message"></a>
 *Esse cabeçalho foi descontinuado.*   
A próxima mensagem que deve ser apresentada ao usuário.  
Você só pode usar esse campo nas localidades de-DE, en-AU, en-GB, en-US, es-419, es-ES, es-US, fr-CA, fr-FR e it-IT. Em todas as outras localidades, o campo `message` é nulo. Em vez disso, use o campo `encodedMessage`.  
Restrições de comprimento: tamanho mínimo de 1. Tamanho máximo de 1.024.

 ** [messageFormat](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-messageFormat"></a>
O formato da mensagem de resposta. Um dos seguintes valores:  
+  `PlainText` - A mensagem contém texto sem formatação UTF-8.
+  `CustomPayload` - A mensagem é um formato personalizado para o cliente.
+  `SSML` - A mensagem contém texto formatado para saída de voz.
+  `Composite` - A mensagem contém um objeto JSON de escape que contém uma ou mais mensagens dos grupos aos quais as mensagens foram atribuídas quando a intenção foi criada.
Valores válidos: `PlainText | CustomPayload | SSML | Composite` 

 ** [sessionAttributes](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-sessionAttributes"></a>
Mapa de key/value pares representando informações de contexto específicas da sessão.

 ** [sessionId](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-sessionId"></a>
Um identificador exclusivo da sessão.

 ** [slots](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-slots"></a>
Mapa de zero ou mais slots de intenção do Amazon Lex detectados na entrada do usuário durante a conversação.  
O Amazon Lex cria uma lista de resolução que contém valores prováveis para um slot. O valor que ele retorna é determinado pelo `valueSelectionStrategy` selecionado quando o tipo de slot foi criado ou atualizado. Se `valueSelectionStrategy` for definido como `ORIGINAL_VALUE`, o valor fornecido pelo usuário será retornado, se o valor do usuário for semelhante ao valor de slot. Se `valueSelectionStrategy` estiver definido como `TOP_RESOLUTION`, o Amazon Lex retornará o primeiro valor na lista de resolução ou, se não houver lista de resolução, nulo. Se `valueSelectionStrategy` não for especificado, o padrão será `ORIGINAL_VALUE`. 

 ** [slotToElicit](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-slotToElicit"></a>
Se o `dialogState` for `ElicitSlot`, retornará o nome do slot para o qual o Amazon Lex está obtendo um valor.

A resposta retorna as informações a seguir como corpo HTTP.

 ** [audioStream](#API_runtime_PutSession_ResponseSyntax) **   <a name="lex-runtime_PutSession-response-audioStream"></a>
A versão em áudio da mensagem a ser transmitida ao usuário.

## Erros
<a name="API_runtime_PutSession_Errors"></a>

 ** BadGatewayException **   
Ou o bot do Amazon Lex ainda está sendo construído ou um dos serviços dependentes (Amazon Polly, AWS Lambda) falhou com um erro interno de serviço.  
Código de status HTTP: 502

 ** BadRequestException **   
 A validação da solicitação falhou, não há mensagem utilizável no contexto ou a compilação do bot falhou, ainda está em andamento ou contém alterações não criadas.   
Código de status HTTP: 400

 ** ConflictException **   
 Dois clientes estão usando a mesma conta da AWS, o bot do Amazon Lex e o mesmo ID de usuário.   
Código de Status HTTP: 409

 ** DependencyFailedException **   
 Uma das dependências, como AWS Lambda ou Amazon Polly, gerou uma exceção. Por exemplo,   
+ Se o Amazon Lex não tiver permissões suficientes para chamar uma função do Lambda.
+ Se uma função do Lambda levar mais de 30 segundos para ser executada.
+ Se uma função do Lambda de atendimento retornar uma ação `Delegate` de diálogo sem remover nenhum valor de slot.
Código de status HTTP: 424

 ** InternalFailureException **   
Erro de serviço interno. Tente a chamada novamente.  
Código de status HTTP: 500

 ** LimitExceededException **   
Excedeu um limite.  
Código de status HTTP: 429

 ** NotAcceptableException **   
O cabeçalho de aceitação na solicitação não tem um valor válido.  
Código de status HTTP: 406

 ** NotFoundException **   
O recurso (como o bot Amazon Lex ou um alias) mencionado não foi encontrado.  
Código de status HTTP: 404

## Consulte Também
<a name="API_runtime_PutSession_SeeAlso"></a>

Para obter mais informações sobre como usar essa API em uma das linguagens específicas AWS SDKs, consulte o seguinte:
+  [AWS Interface de linha de comando V2](https://docs.aws.amazon.com/goto/cli2/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para Python](https://docs.aws.amazon.com/goto/boto3/runtime.lex-2016-11-28/PutSession) 
+  [AWS SDK para Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/runtime.lex-2016-11-28/PutSession) 