> For the complete documentation index, see [llms.txt](https://docs.chatlayer.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.chatlayer.ai/chatlayer-documentation-pt-br/navegacao/settings/secure-variables-gdpr.md).

# Variáveis

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

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áveisL</p></figcaption></figure>

## Criar uma variável

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

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 na página de Variáveis</p></figcaption></figure>

2. Uma janela é exibida. 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, garantindo que o chatbot sempre possa buscar dados ou interagir corretamente com serviços externos.
{% endhint %}

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

* Limitados a tipos de dados string.
* Exportados com a exportação do bot. Isso significa que as 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, a publicação não o alterará. Caso contrário, o valor padrão da versão DRAFT será copiado para a versão LIVE.
* Se você usar uma [Limpar sessão](/chatlayer-documentation-pt-br/buildabot/flow-logic/dialog-state/action-bot-dialog.md#clear-session) ação, o valor de uma variável será redefinido para seu valor padrão se tiver sido modificado durante a sessão.
  {% endhint %}

<figure><img src="/files/b87c88cb3d543fd7af9e1ef5253e790ef763f0fa" alt=""><figcaption><p>Exemplo de uma variável com 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 informação sensível à GDPR.

{% hint style="danger" %}
Se você definir sua variável como sensível, o valor dela nunca será mostrado no Chatlayer. Em vez disso, os usuários verão um placeholder. O valor real da variável só pode ser recuperado por meio de uma [solicitaçã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 o **Sensível** switch se você não quiser que essa 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>Crie uma variável sensível na 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, pode seguir os passos abaixo:

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

Este método aumentará o valor de counter em 1 a cada vez, por exemplo quando um bloco específico for passado ou um botão for clicado.

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

### Alterar a capitalização

Variáveis e valores diferenciam maiúsculas de minúsculas.

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

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

Você pode transformar um valor de maiúsculas para minúsculas e vice-versa adicionando estes 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ê tenha a flexibilidade de usar funções de sintaxe de código no seu bot sem precisar de habilidades avançadas de programação.
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
