> ## Documentation Index
> Fetch the complete documentation index at: https://docs.datacrazy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação e Credenciais

> Configure autenticação e variáveis reutilizáveis para a Conexão Universal

A Conexão Universal oferece uma seção de **Autenticação** para adicionar headers de autenticação automaticamente, e uma seção de **Credenciais** para armazenar valores sensíveis como tokens e chaves de API.

## Autenticação

Na seção **Autenticação** da aba **Envio**, selecione o **Tipo de Autenticação** no dropdown. As opções disponíveis são:

| Tipo                     | Descrição                                            |
| ------------------------ | ---------------------------------------------------- |
| **Nenhuma**              | Sem autenticação automática                          |
| **Bearer Token**         | Token Bearer no header `Authorization`               |
| **API Key**              | Chave de API em header customizável                  |
| **Basic Auth**           | HTTP Basic Auth (usuário e senha em Base64)          |
| **Headers Customizados** | Headers personalizados com interpolação de variáveis |

***

### Nenhuma

Nenhum header de autenticação é adicionado automaticamente. Útil quando a autenticação é feita via URL (como no Telegram) ou quando o serviço não exige autenticação.

***

### Bearer Token

Adiciona automaticamente o header `Authorization: Bearer {token}` em todas as requisições.

| Campo                     | Descrição                                               |
| ------------------------- | ------------------------------------------------------- |
| **Chave do Bearer Token** | Nome da credencial que contém o token (padrão: `token`) |

Ao selecionar esta opção, crie uma credencial com a chave correspondente. Por exemplo, se a **Chave do Bearer Token** for `token`, adicione uma credencial com o nome `token` e o valor do seu token.

**Header gerado automaticamente:**

```http theme={null}
Authorization: Bearer sk_live_abc123def456
```

***

### API Key

Adiciona a chave de API em um header customizável.

| Campo                 | Descrição                                                 |
| --------------------- | --------------------------------------------------------- |
| **Header da API Key** | Nome do header que receberá a chave (padrão: `X-API-Key`) |
| **Chave da API Key**  | Nome da credencial que contém o valor (padrão: `apiKey`)  |

**Header gerado automaticamente:**

```http theme={null}
X-API-Key: minha-chave-secreta
```

***

### Basic Auth

Adiciona o header `Authorization` com usuário e senha codificados em Base64.

| Campo                | Descrição                                          |
| -------------------- | -------------------------------------------------- |
| **Chave do Usuário** | Nome da credencial do usuário (padrão: `username`) |
| **Chave da Senha**   | Nome da credencial da senha (padrão: `password`)   |

Crie duas credenciais com os nomes correspondentes e seus respectivos valores.

**Header gerado automaticamente:**

```http theme={null}
Authorization: Basic bWV1X3VzdWFyaW86bWluaGFfc2VuaGE=
```

***

### Headers Customizados

Permite definir headers personalizados com suporte a interpolação de variáveis. Use esta opção quando a API exige um esquema de autenticação não padrão.

Clique em **Adicionar Header** para adicionar pares de **Chave** e **Valor**. Os valores suportam variáveis de credenciais com a sintaxe `${credentials.xxx}`.

**Exemplo:**

| Chave          | Valor                      |
| -------------- | -------------------------- |
| `X-Token`      | `${credentials.apiToken}`  |
| `X-Account-ID` | `${credentials.accountId}` |

***

## Credenciais

A seção **Credenciais** (na aba **Envio**) permite armazenar pares chave-valor de forma segura. Clique em **Adicionar Credencial** para criar uma nova entrada com **Nome da variável** e **Valor**.

As credenciais podem ser referenciadas em **qualquer campo** da configuração usando a sintaxe `${credentials.nomeDaChave}`.

### Onde usar credenciais

| Local                    | Exemplo                                   |
| ------------------------ | ----------------------------------------- |
| **Caminho** da URL       | `/bot${credentials.botToken}/sendMessage` |
| **Template do Body**     | `{ "token": "${credentials.apiKey}" }`    |
| **Parâmetros de Query**  | `api_key=${credentials.apiKey}`           |
| **Headers** customizados | `${credentials.apiToken}`                 |

***

## Credenciais vs Autenticação

A **autenticação** e as **credenciais** resolvem problemas diferentes:

|                 | Autenticação                                    | Credenciais                                                          |
| --------------- | ----------------------------------------------- | -------------------------------------------------------------------- |
| **O que faz**   | Adiciona headers automaticamente                | Armazena variáveis reutilizáveis                                     |
| **Onde atua**   | Apenas em headers HTTP                          | Em qualquer campo (URL, body, query, headers)                        |
| **Quando usar** | Quando o serviço aceita autenticação via header | Quando o token precisa estar na URL, no body, ou em múltiplos locais |

**Exemplo prático:** A API do Telegram exige o token no **caminho da URL** (`/bot{TOKEN}/sendMessage`), não em headers. Nesse caso, o tipo de autenticação é **Nenhuma** e o token é armazenado como credencial para ser usado no campo **Caminho**: `/bot${credentials.botToken}/sendMessage`.

***

## Segurança

* Headers sensíveis (`authorization`, `x-api-key`, `token`, `secret`) são **mascarados automaticamente** nos logs de atividade
* Utilize sempre **HTTPS** na URL Base para garantir que as credenciais trafeguem de forma segura
* Rotacione tokens e chaves periodicamente
