# Sessão

Os dados da sessão são onde armazenamos o estado da interação entre o bot e um usuário. Uma sessão pode abranger várias conversas.

{% hint style="info" %}
O tamanho máximo da sessão é 10MB
{% endhint %}

Nós excluímos automaticamente os dados da sessão após 30 dias de inatividade. Você pode configurar esse valor no bot [retenção de dados](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/bot-answers/data-retention) configurações.

## Dados de sessão padrão

A tabela a seguir mostra os campos de sessão que estão disponíveis em todas as sessões.&#x20;

Uma maneira fácil de visualizar esses dados é através do depurador na janela 'testar seu bot'.

### Dados de sessão somente leitura

Os dados de sessão internos são acessíveis usando `internal.[fieldName]` e devem ser tratados como somente leitura. Temos certos mecanismos em vigor para evitar a modificação deles. Se de alguma forma você conseguir alterar alguns campos, nós sobrescreveremos os valores.&#x20;

> [Todos os campos documentados abaixo são considerados estáveis. Se você vir outros campos em tempo de execução, pode usá-los por sua própria conta e risco e eles estão sujeitos a alterações a qualquer momento. Podem haver exceções a isso, então, em caso de dúvida, entre em contato com nosso suporte para esclarecimentos.](#user-content-fn-1)[^1]

| Nome do Campo       | Valor  | Descrição                                                                                                           |
| ------------------- | ------ | ------------------------------------------------------------------------------------------------------------------- |
| botId               | string | ID do bot                                                                                                           |
| sessionId           | string | ID da sessão                                                                                                        |
| version             | string | A versão do bot, pode ser DRAFT ou LIVE                                                                             |
| canal               | string | O canal da sessão                                                                                                   |
| usuário             | object | objeto contendo informações sobre o usuário                                                                         |
| idiomaPreferido     | string | O idioma preferido do usuário                                                                                       |
| locale              | string | O local preferido do usuário (por exemplo, para formatação de datas)                                                |
| nlp                 | object | Um objeto contendo dados sobre a última expressão, e qual intenção e entidades foram detectadas, com qual confiança |
| nlp.sentiment       | object | Mostra a pontuação da análise de sentimento da última expressão do usuário                                          |
| currentDialogstate  | object | Um objeto contendo o nome, id e tipo do último diálogo (ou bloco) do bot acionado                                   |
| previousDialogstate | object | <p>mostra o nome, id e tipo do diálogo anterior do bot  (ou </p><p>bloco)  acionado</p>                             |
| messageContent      | string | O conteúdo da última mensagem enviada pelo usuário.                                                                 |
| messageType         | string | O tipo da última mensagem enviada pelo usuário. Um dos `intro`, `postback`, `text` ou `upload`                      |

#### Exemplo de sessão interna&#x20;

```json
{
   "botId":"1457",
   "sessionId":"emulator-f28feb19-9d00-426a-ac65-539d5e1d3a73",
   "version":"DRAFT",
   "channel":"web",
   "user":{
      "firstName":"Guest"
   },
   "preferredLanguage":"en",
   "locale":"en-us",
   "nlp":{
      "expression":"hi",
      "intent":{
         "name":"Greeting",
         "score":1
      },
      "entities":[
         0
      ],
      "intents":[
         {
            "name":"Greeting",
            "score":1
         }
      ],
      "sentiment":{
         "name":"positive",
         "score":0.5183199216644359
   }
   "currentDialogstate":{
      "name":"introduction",
      "id":"25b838ca-0fea-4b97-b91e-31bd8d932cf9",
      "type":"MESSAGE"
   }
   "previousDialogstate":{
      "name":"introduction",
      "id":"25b838ca-0fea-4b97-b91e-31bd8d932cf9",
      "type":"MESSAGE"
   }
}
```

### Dados de sessão que o usuário pode alterar

O criador do bot pode criar e salvar [variáveis](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/settings/secure-variables-gdpr) na sessão do usuário. Esses dados podem ser criados pelo bot por meio de uma conversa, ou recuperados por meio de uma chamada de API. Objetos, assim como strings e outros tipos de valores, podem ser salvos na sessão do usuário.

[^1]:
