# Variáveis

Variáveis são usadas para armazenar qualquer informação que o bot sabe sobre um usuário. Isso pode ser o idioma preferido deles, ou o canal que estão usando, mas também informações provenientes de fontes de dados externas como, por exemplo, uma API.&#x20;

Todas as variáveis usadas em uma única conversa são armazenadas no que é chamado de [sessão do usuário](/chatlayer-documentation-pt-br/bot-answers/session.md).

<figure><img src="/files/5cbc43359b8fdf32a5c16e94f2a82e6f122595f3" alt=""><figcaption><p>A página de Variáveis</p></figcaption></figure>

## Criar uma variável

Para criar uma variável a partir da **página de Variáveis** :

1. Clique em **Criar variável** no canto superior direito da tela.

<figure><img src="/files/f1d81be0d65596b505e155495fb1e036afddd6d0" alt="" width="375"><figcaption><p>Criar uma variável a partir da página de Variáveis</p></figcaption></figure>

2. Uma janela aparece. Preencha o **Nome**, **Valor padrão** e **Descrição**.

{% hint style="info" %}
Por exemplo, um valor padrão pode ser usado para o caminho da URL para garantir que o chatbot sempre possa buscar dados ou interagir com serviços externos corretamente.
{% endhint %}

{% hint style="danger" %}
Observe que os valores padrão são:

* Limitados ao tipo de dado string.
* Exportados com a exportação do bot. Isso significa que variáveis juntamente com seus valores padrão serão sobrescritas na importação.
* Se uma variável tiver um valor padrão na versão LIVE, publicar não o alterará. Caso não tenha, o valor padrão da versão DRAFT será copiado para a versão LIVE.
* Se você usar uma [ação Limpar sessão](/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state/action-bot-dialog.md#clear-session) , o valor de uma variável será redefinido para seu valor padrão se tiver sido modificado durante a sessão.&#x20;
  {% endhint %}

<figure><img src="/files/b87c88cb3d543fd7af9e1ef5253e790ef763f0fa" alt=""><figcaption><p>Exemplo de uma variável com um valor padrão para chamar um endpoint de API.</p></figcaption></figure>

3. Clique em **Criar variável**.

## Definir uma variável como sensível

O Chatlayer permite que você garanta que algumas variáveis sejam processadas de forma diferente. Isso é útil quando a conversa entre um bot e um usuário contém **informações sensíveis**, como o número da conta bancária do usuário ou qualquer coisa sensível ao GDPR.

{% hint style="danger" %}
Se você definir sua variável como sensível, seu valor nunca será mostrado no Chatlayer. Em vez disso, os usuários verão um espaço reservado. O valor real da variável só pode ser recuperado por meio de uma [requisição de API](https://api.chatlayer.ai/v1/docs/#operation/getAllMessagesInConversation).
{% endhint %}

Para definir uma variável como sensível:

1. [Criar uma variável](#create-a-variable) ou edite-a usando o **Editar** botão.
2. Ative a **opção Sensível** se você não quiser que esta variável seja salva no histórico da conversa.
3. Clique em **Criar variável**.

<figure><img src="/files/b797ed596d1d0f53779585cfa96b312dee36785d" alt="" width="375"><figcaption><p>Criar uma variável sensível a partir da página de Variáveis.</p></figcaption></figure>

## Operações em variáveis

Você pode realizar operações em suas variáveis.

### Incrementar

Se você quiser aumentar incrementalmente o valor de uma variável, você pode usar os seguintes passos:

1. Defina uma variável, por exemplo `variableName`, e atribua a ela um valor numérico como `0`
2. No ponto do fluxo onde você quer incrementar o valor de `variableName`, insira variableName como a variável e `{variableName|increment}` como o valor

Este método aumentará o valor do contador em 1 a cada vez, por exemplo quando um bloco específico for percorrido ou um botão for clicado.&#x20;

{% hint style="info" %}
Incrementar uma variável pode ser tipicamente útil quando você deseja contar quantas vezes o usuário não foi compreendido pelo bot. Aprenda como construir um **Contador de Não Compreendidos** [aqui](https://docs.chatlayer.ai/tips-and-best-practices/not-understood-bot-dialog/not-understood-counter).
{% endhint %}

### Alterar a caixa (maiúsculas/minúsculas)

Variáveis e valores diferenciam maiúsculas de minúsculas.&#x20;

Por exemplo, `capitalVariable` será considerada como uma variável separada de`CapitalVariable`.

O mesmo vale para valores. Se você verificar em um [bloco de Condição](/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state/plugins.md) se um valor para `variableX` for igual a `valueY` ele não será acionado se o valor for `variableX` for igual a `valuey`

Você pode transformar um valor de maiúsculas para minúsculas e vice-versa adicionando esses modificadores ao nome do valor:

```
{name|toUpperCase}
{name|toLowerCase}
{name|capitalize}
```

{% hint style="warning" %}
Observe que [Sintaxe de Expressão \[Beta\]](/chatlayer-documentation-pt-br/integrateandcode/expression-syntax.md) permite que você obtenha a flexibilidade de usar funções de sintaxe de código em seu bot sem a necessidade de extensas habilidades de codificação.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/settings/secure-variables-gdpr.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
