# REST V2

## **Visão geral**

O REST V2 realiza chamadas a endpoints HTTP, suportando ações como `GET`, `POST`, `PUT` e `DELETE`. Em comparação com a V1 (descontinuada), ele utiliza expressões em Double Braces para compor a URL, headers, query parameters e o corpo da mensagem, permitindo acesso direto aos dados do pipeline.

Você pode configurar o conector manualmente ou importar suas configurações diretamente a partir de um comando cURL ou de uma especificação OpenAPI, reduzindo o tempo de configuração e evitando erros.

## **Importando a partir de cURL ou OpenAPI**

Quando você precisa integrar uma API externa, é possível importar seu contrato diretamente no conector REST V2 em vez de configurar cada campo manualmente. O conector suporta dois formatos de importação:

* **cURL**: Uma ferramenta de linha de comando usada para fazer requisições HTTP. Se você já tiver um comando cURL para a API que deseja chamar, pode colá-lo diretamente no conector.
* **OpenAPI**: Um formato de especificação padrão (JSON ou YAML) que descreve os endpoints, métodos, parâmetros e a estrutura de requisição de uma API. A maioria das APIs publica uma especificação OpenAPI em sua documentação para desenvolvedores.

Para importar uma configuração:

1. Na página de configuração do conector REST V2, clique em **Importar** no canto superior direito e selecione **cURL** ou **OpenAPI**.
2. Forneça o input:
   * Para **cURL**: Cole seu comando cURL. O conector suporta as flags `-X`, `-H`, `-d`, `-u` e `-b`.
   * Para **OpenAPI**: Insira seu contrato OpenAPI no formato JSON ou YAML.
3. Clique em **Aplicar**.

<figure><img src="/files/QYH20Z0Dl9GtvRVGkKZW" alt=""><figcaption></figcaption></figure>

A Digibee faz o parse do input e preenche automaticamente os seguintes campos:

* **URL**: A URL base e o path.
* **Verb**: O método HTTP (`GET`, `POST`, `PUT`, `DELETE`, `PATCH` e `HEAD`).
* **Headers**: Todos os headers definidos no contrato.
* **Query Params**: Os query parameters definidos na especificação.
* **Body**: A estrutura do corpo da requisição.

{% hint style="warning" %}
A importação irá sobrescrever todos os campos atuais do conector.
{% endhint %}

Após importar, revise os campos preenchidos e configure os valores dinâmicos que o pipeline precisar usando [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md).

## **Parâmetros**

A tabela abaixo lista todos os parâmetros de configuração do conector. Parâmetros que suportam [expressões Double Braces](/documentation/connectors-and-triggers/pt-br/double-braces/overview.md) estão marcados com ✅ na coluna **Suporta DB**.

A coluna **Visível quando** indica os parâmetros que só aparecem na interface após uma condição ser atendida; parâmetros sempre visíveis são indicados com —.

{% hint style="info" %}
Este conector suporta [**Alias**](/documentation/connectors-and-triggers/pt-br/double-braces/how-to-reference-data-using-double-braces/previous-steps-access.md), um parâmetro que salva a saída do conector para que ela possa ser referenciada posteriormente no pipeline por meio de expressões Double Braces.
{% endhint %}

### **Conexão**

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th><th>Visível quando</th></tr></thead><tbody><tr><td><strong>URL</strong></td><td>Endereço que receberá a chamada HTTP. Suporta Double Braces, mas a referência a informações de conta não é permitida.</td><td>String</td><td>✅</td><td><code>https://viacep.com.br/ws/{{ DEFAULT(message.$.cep, "04547-130") }}/json/</code></td><td>—</td></tr><tr><td><strong>Headers</strong></td><td>Todos os headers necessários para a chamada (por exemplo, <code>Content-Type: application/json</code>). Suporta Double Braces para os campos key e value. A referência a informações de conta é permitida apenas para os campos de value.</td><td>Pares de chave-valor</td><td>✅</td><td><code>Content-Type: application/json</code></td><td>—</td></tr><tr><td><strong>Query Params</strong></td><td>Query parameters necessários para a chamada. Suporta Double Braces apenas para campos de value.</td><td>Pares de chave-valor</td><td>✅ (apenas values)</td><td>N/A</td><td>—</td></tr><tr><td><strong>Verb</strong></td><td>O método HTTP (<code>GET</code>, <code>POST</code>, <code>PUT</code>, <code>DELETE</code>, <code>PATCH</code> e <code>HEAD</code>).</td><td>String</td><td>❌</td><td><code>GET</code></td><td>—</td></tr><tr><td><strong>Send A File</strong></td><td>Quando ativado, envia um arquivo no lugar do body.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td><strong>Verb</strong> é <code>POST</code>, <code>PUT</code>, <code>DELETE</code> ou <code>PATCH</code></td></tr><tr><td><strong>File Name</strong></td><td>Nome do arquivo ou caminho completo do arquivo (por exemplo, <code>tmp/processed/file.txt</code>).</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Send A File</strong> está ativado</td></tr><tr><td><strong>Body</strong></td><td>O corpo da requisição. Clique em <strong>Escreva com IA</strong> para obter suporte de IA.</td><td>JSON</td><td>✅</td><td>N/A</td><td><strong>Verb</strong> é <code>POST</code>, <code>PUT</code>, <code>DELETE</code> ou <code>PATCH</code></td></tr></tbody></table>

### **Autenticação**

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th><th>Visível quando</th></tr></thead><tbody><tr><td><strong>Use Dynamic Account</strong></td><td>Quando ativado, usa a conta dinamicamente; caso contrário, usa estaticamente.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Scoped</strong></td><td>Quando ativado, isola a conta armazenada de outros sub-processos. Não suportado para contas usadas em headers ou body. Para saber mais, leia a <a href="/spaces/cO0A6g1dOsu8BiHYqO67/pages/FrKJOmsImCRBImMPMsU2">documentação de Credenciais Dinâmicas</a>.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td><strong>Use Dynamic Account</strong> está ativado</td></tr><tr><td><strong>Account Name</strong></td><td>Nome da conta gerado dinamicamente pelo conector <a href="/pages/iulYYuz29bvfGjceZb4e"><strong>Store Account</strong></a>.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está ativado</td></tr><tr><td><strong>Account</strong></td><td>Conta utilizada pelo conector. Saiba mais na seção <a href="#usando-contas"><strong>Usando contas</strong></a>.</td><td>String</td><td>❌</td><td>N/A</td><td><strong>Use Dynamic Account</strong> está desativado</td></tr><tr><td><strong>Custom Account #1</strong></td><td>Conta cujas credenciais podem ser referenciadas em qualquer campo que suporte Double Braces por meio de <code>{{ account.custom-1.&#x3C;field> }}</code>. Saiba mais na seção <a href="#usando-custom-accounts"><strong>Usando custom accounts</strong></a>.</td><td>String</td><td>❌</td><td>N/A</td><td>—</td></tr><tr><td><strong>Custom Account #2</strong></td><td>Conta cujas credenciais podem ser referenciadas em qualquer campo que suporte Double Braces por meio de <code>{{ account.custom-1.&#x3C;field> }}</code>. Saiba mais na seção <a href="#usando-custom-accounts"><strong>Usando custom accounts</strong></a>.</td><td>String</td><td>❌</td><td>N/A</td><td>—</td></tr></tbody></table>

### **Timeouts**

Saiba mais na seção [**Configurando os timeouts**](#configurando-os-timeouts).

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th></tr></thead><tbody><tr><td><strong>Connect Timeout</strong></td><td>Tempo máximo para estabelecer uma conexão com o servidor, em milissegundos (inclui DNS, handshake TCP e TLS quando aplicável).</td><td>Inteiro</td><td>❌</td><td><code>30000</code></td></tr><tr><td><strong>Read Timeout</strong></td><td>Tempo máximo de espera para receber uma resposta após a conexão ser estabelecida, em milissegundos.</td><td>Inteiro</td><td>❌</td><td><code>30000</code></td></tr><tr><td><strong>Write Timeout</strong></td><td>Tempo máximo para enviar o corpo da requisição ao servidor, em milissegundos.</td><td>Inteiro</td><td>❌</td><td><code>30000</code></td></tr><tr><td><strong>Call Timeout</strong></td><td>Tempo total permitido para a requisição inteira (conexão, escrita, leitura), em milissegundos.</td><td>Inteiro</td><td>❌</td><td><code>30000</code></td></tr></tbody></table>

### **Tratamento de erros**

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th></tr></thead><tbody><tr><td><strong>Stop On Client Error</strong></td><td>Quando ativado, interrompe a execução do pipeline ao ocorrer um erro HTTP da família 4xx.</td><td>Booleano</td><td>❌</td><td><code>false</code></td></tr><tr><td><strong>Stop On Server Error</strong></td><td>Quando ativado, interrompe a execução do pipeline ao ocorrer um erro HTTP da família 5xx.</td><td>Booleano</td><td>❌</td><td><code>false</code></td></tr></tbody></table>

### **Resposta**

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th><th>Visível quando</th></tr></thead><tbody><tr><td><strong>Override Response Charset</strong></td><td>Quando ativado, substitui o charset retornado pelo endpoint pelo valor especificado em <strong>Response Charset</strong>.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Response Charset</strong></td><td>Charset a ser aplicado.</td><td>String</td><td>❌</td><td><code>UTF-8</code></td><td><strong>Override Response Charset</strong> está ativado</td></tr></tbody></table>

### **Avançado**

Estes parâmetros estão disponíveis apenas quando **Advanced Settings** estiver ativado.

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th><th>Visível quando</th></tr></thead><tbody><tr><td><strong>Raw Mode</strong></td><td>Quando ativado, recebe ou envia um payload que não é JSON.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Raw Mode As Base64</strong></td><td>Quando ativado, retorna o conteúdo da resposta em Base64.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td><strong>Raw Mode</strong> está ativado</td></tr><tr><td><strong>Save As Local File</strong></td><td>Quando ativado, salva o retorno como um arquivo no diretório local do pipeline.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Response File Name</strong></td><td>Nome do arquivo ou caminho completo do arquivo (por exemplo, <code>tmp/processed/file.txt</code>). Suporta Double Braces, mas a referência a informações de conta não é permitida.</td><td>String</td><td>✅</td><td>N/A</td><td><strong>Save As Local File</strong> está ativado</td></tr><tr><td><strong>Allow Insecure Endpoints</strong></td><td>Quando ativado, permite chamadas a endpoints HTTPS com certificados inválidos.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Enable Retries</strong></td><td>Quando ativado, realiza novas tentativas em caso de erros de servidor.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Number Of Retries</strong></td><td>Número máximo de tentativas antes de desistir da chamada.</td><td>Inteiro</td><td>❌</td><td><code>0</code></td><td><strong>Enable Retries</strong> está ativado</td></tr><tr><td><strong>Time To Wait Between Retries</strong></td><td>Tempo de espera entre as tentativas, em milissegundos.</td><td>Inteiro</td><td>❌</td><td><code>0</code></td><td><strong>Enable Retries</strong> está ativado</td></tr><tr><td><strong>Compress Body With GZIP</strong></td><td>Quando ativado, comprime o corpo da requisição usando GZIP.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Force HTTP 1.1</strong></td><td>Quando ativado, força a requisição a usar HTTP 1.1.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Disable Connection Pooling</strong></td><td>Quando ativado, não reutiliza conexões. Recomendado para endpoints com problemas de reutilização de conexão.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Invalidate SSL Sessions On Every Call</strong></td><td>Quando ativado, invalida sessões SSL em todas as chamadas. Recomendado para endpoints com problemas de reutilização de sessão SSL. Ativar essa opção torna o conector single-threaded.</td><td>Booleano</td><td>❌</td><td><code>false</code></td><td>—</td></tr><tr><td><strong>Enable Follow Redirect</strong></td><td>Quando ativado, segue automaticamente os redirecionamentos para respostas 302. Quando desativado, retorna a resposta original 302 para inspeção antes do redirecionamento.</td><td>Booleano</td><td>❌</td><td><code>true</code></td><td>—</td></tr></tbody></table>

### **Documentação**

<table data-header-hidden="false" data-header-sticky data-full-width="true"><thead><tr><th>Parâmetro</th><th>Descrição</th><th>Tipo de dado</th><th>Suporta DB</th><th>Valor padrão</th></tr></thead><tbody><tr><td><strong>Documentation</strong></td><td>Espaço para documentar informações sobre a configuração do conector e regras de negócio.</td><td>String</td><td>❌</td><td>N/A</td></tr></tbody></table>

## **Fluxo de mensagens**

### **Entrada**

O corpo da mensagem suporta valores estáticos e expressões Double Braces. Não se aplica ao verbo `GET`.

```json
{
    "id": {{ DEFAULT(message.customer.id, UUID()) }},
    "name": {{ message.customer.name }},
    "type": "1"
}
```

### **Saída**

{% tabs %}
{% tab title="Sucesso" %}
Resposta padrão quando a chamada é bem-sucedida.

```json
{
    status: 2xx,
    statusMessage: "STATUS_MESSAGE",
    body: {},
    headers: {}
}
```

{% endtab %}

{% tab title="Sucesso — Raw Mode as Base64" %}
Retornado quando **Raw Mode As Base64** está ativo. O corpo da resposta é codificado em Base64.

{% code overflow="wrap" %}

```json
{
    status: 2xx,
    statusMessage: "STATUS_MESSAGE",
    body: "content in base64 format",
    headers: {}
}

```

{% endcode %}
{% endtab %}

{% tab title="Sucesso — Save As Local File" %}
Retornado quando **Save As Local File** está ativado. O corpo da resposta contém o nome do arquivo salvo.

{% code overflow="wrap" %}

```json
{
    status: 2xx,
    statusMessage: "STATUS_MESSAGE",
    body: {
        file: "name of the file defined in the Response File Name property"
    },
    headers: {}
}
```

{% endcode %}
{% endtab %}

{% tab title="Erro" %}
Retornado quando a chamada HTTP falha.

{% code overflow="wrap" %}

```json
{
    error: "error message",
    code: XXX,
    body: {},
    headers: {}
}
```

{% endcode %}
{% endtab %}
{% endtabs %}

## **REST V2 em ação**

### **Configurando os timeouts**

#### **Connect Timeout**

Define o tempo máximo permitido para estabelecer uma conexão com o servidor. Se o servidor estiver lento para aceitar a conexão ou indisponível, a requisição falha após esse tempo.

**Exemplo:** O servidor demora mais de 10 segundos para completar o handshake. A conexão falha por timeout.

#### **Read Timeout**

Especifica o tempo máximo para aguardar uma resposta após o envio da requisição. Evita que o cliente fique esperando indefinidamente por dados.

**Exemplo:** O servidor aceitou a conexão, mas demora mais de 15 segundos para começar a responder. Um erro de timeout é retornado.

#### **Write Timeout**

Define o tempo máximo permitido para enviar o corpo da requisição ao servidor. Especialmente relevante para requisições com payloads grandes, como uploads de arquivos.

**Exemplo:** O upload de um arquivo leva mais de 30 segundos. A requisição falha por timeout na escrita.

#### **Call Timeout**

Define o timeout total para toda a chamada HTTP, incluindo conexão, envio e recebimento. Se a soma dos tempos ultrapassar esse valor, a requisição é abortada.

**Exemplo:** Você configura um timeout de 60 segundos para toda a operação. Se conectar, enviar e receber juntos ultrapassarem esse limite, a requisição é cancelada.

### **Enviando um arquivo binário**

Para enviar um arquivo binário pelo REST V2, informe:

* O endpoint de destino na **URL**
* O content type (MIME type do arquivo) no header, por exemplo, `application/pdf`
* O caminho onde o arquivo se encontra no campo **File Name**

### **Como fazer requisições usando content-type: multipart/form-data**

Especifique o header `Content-Type: multipart/form-data` no conector. Ao selecionar qualquer verbo HTTP, com exceção do `GET`, um campo será aberto para você especificar o corpo do payload a ser enviado.

Para especificar **campos**:

```json
{
  "fields": {
    "nome_do_campo1": "valor_do_campo_1",
    "nome_do_campo2": "valor_do_campo_2"
  }
}
```

Para especificar **arquivos**:

```json
{
  "files": {
    "nome_do_campo_do_arquivo1": "caminho_do_arquivo_1",
    "nome_do_campo_do_arquivo2": "caminho_do_arquivo_2"
  }
}
```

Você pode combinar ambas as estruturas e utilizar expressões Double Braces para valores dinâmicos.

### **Como fazer requisições usando content-type: application/x-www-form-urlencoded**

Especifique o header `Content-Type: application/x-www-form-urlencoded` no conector. Ao selecionar qualquer verbo HTTP, com exceção do `GET`, um campo será aberto para você especificar o corpo do payload a ser enviado.

Exemplo:

```json
{
  "nome_do_campo1": "valor_do_campo_1",
  "nome_do_campo2": "valor_do_campo_2"
}
```

### **Usando contas**

O REST V2 suporta três parâmetros de conta, cada um com um comportamento diferente:

* **Account**: O conector prepara automaticamente a requisição com as credenciais da conta de acordo com a tecnologia de autenticação.
* **Custom Account #1** e **Custom Account #2**: Podem ser usadas apenas para referenciar os valores das credenciais em outros campos por meio de Double Braces, por exemplo `{{ account.custom-1.value }}`.

{% hint style="info" %}
O parâmetro **Account** sempre tem precedência sobre as custom accounts.
{% endhint %}

A tabela abaixo descreve como o conector prepara a autorização para cada tipo de conta suportado.

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="251">Tipo de conta</th><th>Como o conector lida com a autorização</th></tr></thead><tbody><tr><td><strong>API Key</strong></td><td>Adiciona <code>URL-PARAM-NAME</code> e <code>API-KEY</code> como query parameters: <code>https://www.address.com?&#x3C;URL-PARAM-NAME>=&#x3C;API-KEY></code></td></tr><tr><td><strong>AWS V4</strong></td><td>Gera os headers de autenticação da AWS e assina a mensagem usando o algoritmo AWS Signature Version 4. Verifique a documentação do serviço AWS para identificar headers ou parâmetros adicionais necessários.</td></tr><tr><td><strong>Basic</strong></td><td>Codifica <code>USERNAME</code> e <code>PASSWORD</code> em Base64 e adiciona um header de autorização: <code>Authorization: Basic &#x3C;ENCODED-INFORMATION></code></td></tr><tr><td><strong>Certificate Chain</strong></td><td>Usa a cadeia fornecida para validar e estabelecer uma conexão segura com o servidor da API.</td></tr><tr><td><strong>Custom Auth Header</strong></td><td>Cria um header personalizado usando <code>HEADER-NAME</code> e <code>HEADER-VALUE</code>: <code>&#x3C;HEADER-NAME>: &#x3C;HEADER-VALUE></code></td></tr><tr><td><strong>Google Key</strong></td><td>Gera um token de autenticação do Google e adiciona um header de autorização: <code>Authorization: Bearer &#x3C;GOOGLE-JWT-TOKEN></code>. Verifique a documentação do serviço do Google para identificar headers ou parâmetros adicionais necessários.</td></tr><tr><td><strong>OAuth 2</strong></td><td>O comportamento varia por provedor. Para Microsoft e Google: <code>Authorization: Bearer &#x3C;PROVIDER_ACCESS_TOKEN></code>. Para Mercado Livre: <code>https://www.address.com?access_token=&#x3C;API-KEY></code></td></tr><tr><td><strong>OAuth Bearer Token</strong></td><td>Usa um token OAuth existente e adiciona um header de autorização: <code>Authorization: Bearer &#x3C;TOKEN></code></td></tr><tr><td><strong>NTLM</strong></td><td>Lida automaticamente com a autenticação NTLM usando as credenciais definidas na conta.</td></tr></tbody></table>

Para saber mais sobre tipos de conta e configuração, leia a [documentação de Contas](/documentation/developer-guide/pt-br/development-cycle/build-overview/accounts.md).

### **Usando custom accounts**

**Custom Account #1** e **Custom Account #2** permitem referenciar credenciais de contas diretamente em qualquer campo que suporte Double Braces, **exceto o campo URL**. Isso é útil quando você precisa usar os valores de uma conta de forma flexível, sem depender da autenticação automática gerenciada pelo parâmetro **Account**.

{% hint style="info" %}
As credenciais referenciadas por custom accounts não são expostas no output do conector. O comportamento é o mesmo das demais contas: os valores são utilizados internamente para realizar a chamada e não aparecem na resposta do pipeline.
{% endhint %}

Para usar uma custom account:

1. Selecione a conta desejada em **Custom Account #1** ou **Custom Account #2**.
2. Em qualquer campo que suporte Double Braces, referencie os valores da conta usando as expressões abaixo.

{% hint style="warning" %}
A conta **OAuth 2** não tem suporte para ser referenciada por custom accounts.
{% endhint %}

Os campos disponíveis dependem do tipo de conta selecionado:

<table data-header-hidden="false" data-header-sticky><thead><tr><th width="243">Tipo de conta</th><th>Campos disponíveis</th></tr></thead><tbody><tr><td><strong>API Key</strong></td><td><ul><li><code>{{ account.custom-1.url-param-name }}</code> </li><li><code>{{ account.custom-1.api-key }}</code></li></ul></td></tr><tr><td><strong>Basic</strong></td><td><ul><li><code>{{ account.custom-1.username }}</code> </li><li><code>{{ account.custom-1.password }}</code></li></ul></td></tr><tr><td><strong>Custom Auth Header</strong></td><td><ul><li><code>{{ account.custom-1.header-name }}</code> </li><li><code>{{ account.custom-1.header-value }}</code></li></ul></td></tr><tr><td><strong>OAuth Bearer Token</strong></td><td><ul><li><code>{{ account.custom-1.token }}</code></li></ul></td></tr><tr><td><strong>Certificate Chain</strong></td><td><ul><li><code>{{ account.custom-1.chain }}</code></li><li><code>{{ account.custom-1.password }}</code></li></ul></td></tr><tr><td><strong>Google Key</strong></td><td><ul><li><code>{{ account.custom-1.key }}</code> </li><li><code>{{ account.custom-1.scopes }}</code></li></ul></td></tr><tr><td><strong>AWS V4</strong></td><td><ul><li><code>{{ account.custom-1.service-name }}</code></li><li><code>{{ account.custom-1.access-key }}</code> </li><li><code>{{ account.custom-1.secret-key }}</code> </li><li><code>{{ account.custom-1.session-token }}</code> </li><li><code>{{ account.custom-1.region }}</code></li></ul></td></tr><tr><td><strong>NTLM</strong></td><td><ul><li><code>{{ account.custom-1.username }}</code> </li><li><code>{{ account.custom-1.password }}</code> </li><li><code>{{ account.custom-1.domain }}</code> </li><li><code>{{ account.custom-1.hostname }}</code></li></ul></td></tr></tbody></table>

{% hint style="info" %}
Substitua `custom-1` por `custom-2` ao referenciar a **Custom Account #2**.
{% endhint %}

**Exemplo:** Usando uma conta do tipo Basic para passar credenciais no corpo da requisição:

```json
{
    "username": "{{ account.custom-1.username }}",
    "password": "{{ account.custom-1.password }}"
}
```


---

# 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.digibee.com/documentation/connectors-and-triggers/pt-br/connectors/web-protocols/rest-v2.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.
