> For the complete documentation index, see [llms.txt](https://docs.hablla.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hablla.com/fluxos-de-automacoes/todos-os-componentes/triggers-and-http/http.md).

# HTTP

### Visão Geral

O **Componente de Requisição HTTP** é um nó de ação avançado projetado para realizar integrações estruturadas com sistemas externos (como CRMs proprietários, ERPs, gateways de pagamento ou plataformas de logística). Sua função principal é disparar chamadas síncronas para endpoints e webhooks de terceiros usando a arquitetura REST. Ele permite enviar payloads personalizados e capturar as respostas (*response status e body*) para condicionar e ramificar a jornada do usuário dentro do chatbot em tempo real.

### Parâmetros de Configuração

A parametrização do componente oferece controle completo sobre as camadas do protocolo HTTP:

* **Método:** Menu suspenso utilizado para selecionar o verbo HTTP da requisição de acordo com a operação desejada na API de destino. As opções incluem:
  * `GET`: Para leitura ou consulta de dados.<br>
  * `POST`: Para criação de novos registros.<br>
  * `PUT` / `PATCH`: Para atualização de dados existentes.<br>
  * `HEAD` / `OPTIONS` / `DELETE`: Para operações estruturais ou remoção de recursos.<br>
* **Autenticação:** Menu para carregar credenciais previamente salvas na plataforma (como *Bearer Tokens*, *Basic Auth* ou chaves de API).<br>
* **URL (\* Campo Obrigatório):** O endereço web ou endpoint de destino do serviço (ex: `https://api.sistema.com/v1/leads`).<br>
* **Enviar parâmetros de consulta (Chave de Alternância):** Quando ativa, abre a seção *Especificar parâmetros de consulta* com a opção `Usando campos` para montar pares de chave-valor que serão anexados à URL como *Query Strings* (ex: `?status=ativo`).<br>
* **Enviar cabeçalhos (Chave de Alternância):** Quando ativa, abre a seção *Specify Headers* e o repetidor *Parâmetros de cabeçalho* para injetar propriedades personalizadas nos metadados da requisição (como `Content-Type` ou tokens customizados).<br>
* **Enviar corpo (Chave de Alternância):** Destravado principalmente para métodos de escrita (`POST`, `PUT`, `PATCH`). Habilita o campo *Tipo de conteúdo do corpo* (como `JSON` ou `form-data`) para o preenchimento do payload principal.<br>
* **skipSslCertificateValidation (Chave de Alternância):** Quando ativada, instrui o motor da automação a ignorar erros de certificados SSL inválidos ou expirados no servidor de destino.<br>
* **Tempo limite da requisição:** Campo numérico para determinar a janela máxima de espera (*timeout*) em segundos antes do sistema abortar a tentativa.<br>

### Construtor Visual

A interface do construtor foi projetada sob uma lógica modular adaptativa (*accordion design*):

* **Expansão Condicional de Menus:** Conforme demonstrado na `image_452fc2.png`, a interface se expande de forma inteligente. Ao ligar as chaves de alternância (*toggles*), o painel libera os botões interativos **+ Adicionar parâmetro**, permitindo empilhar campos de chave-valor de forma organizada, ocultando-os quando desligados para manter a tela limpa.<br>
* **Validação de Destino:** O asterisco (`*`) no campo *URL* serve como uma trava sintática no editor. O fluxo de automação não pode ser publicado caso a rota HTTP esteja vazia.<br>

### Operadores Especiais

As propriedades lógicas deste componente lidam com requisições assíncronas e herança de payloads JSON:

* **Interpolação de Strings na URL e Body:** Todos os campos de texto do componente (URL, Parâmetros, Cabeçalhos e Corpo) suportam nativamente o uso de chaves duplas `{{...}}`. Isso permite construir chamadas dinâmicas injetando dados do contato coletados no fluxo (ex: `https://api.com/user/{{$data?.id_person}}`).<br>
* **Injeção de Objeto de Resposta no Escopo:** Ao concluir a requisição com sucesso, o motor da automação armazena o retorno no objeto local do contato (`$data`). O payload devolvido fica disponível para os próximos nós através de subvariáveis estruturadas:
  * `http.status`: Código numérico de retorno (ex: `200` para sucesso, `404` para não encontrado).<br>
  * `http.body`: O conteúdo retornado pelo servidor parceiro (geralmente estruturado em JSON ou XML).<br>

### Exemplos Práticos

A tabela abaixo demonstra cenários tradicionais de como preencher as propriedades do nó para conectar o fluxo com APIs externas:

| **Método Selecionado** | **URL Configurada**                        | **Chaves Ativadas**                                  | **Formato do Input**                                                                                                                               | **Caso de Uso Prático**                                                                                                                           |
| ---------------------- | ------------------------------------------ | ---------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| `GET`                  | `https://api.exemplo.com/v1/cliente`       | Enviar parâmetros de consulta                        | <p><strong>Chave:</strong> <code>cpf</code><br><br><br><br><strong>Valor:</strong> <code>{{$data?.cpf}}</code></p>                                 | Consultar a adimplência ou cadastro de um cliente em um banco de dados interno a partir do CPF coletado no chatbot.                               |
| `POST`                 | `https://api.gateway.com/v2/pix`           | <p>Enviar cabeçalhos<br><br><br><br>Enviar corpo</p> | <p><strong>Headers:</strong> <code>Authorization</code><br><br><br><br><strong>Corpo (JSON):</strong> <code>{"valor": {{$data?.total}}}</code></p> | Integrar o chatbot com uma API de pagamentos para gerar uma chave PIX dinâmica de cobrança e devolver o código copia e cola no chat.              |
| `PATCH`                | `https://meucrm.com/api/leads/{{lead_id}}` | Enviar corpo                                         | **Corpo (JSON):** `{"status": "Em atendimento"}`                                                                                                   | Atualizar o estágio de funil de um lead de forma automática dentro do CRM corporativo da empresa assim que o contato escolhe falar com um humano. |


---

# 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.hablla.com/fluxos-de-automacoes/todos-os-componentes/triggers-and-http/http.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.
