Node HTTP Request
O node HTTP Request é um dos nodes mais versáteis do n8n. Ele permite que você faça requisições HTTP para consultar dados de qualquer aplicação ou serviço que tenha uma API REST. Você pode usar este node como um node regular ou conectá-lo a um agente de IA para funcionar como uma ferramenta.
Quando você usa este node, está criando uma chamada de API REST. É importante ter um entendimento básico de terminologia e conceitos de API.
Existem duas formas de criar uma requisição HTTP: configurando os parâmetros do node ou importando um comando curl. Importar comando curl é uma forma rápida de configurar requisições HTTP a partir de comandos curl existentes.
Consulte Credenciais HTTP Request para orientações sobre como configurar autenticação quando usar o HTTP Request.
O node HTTP Request é ideal para:
- Integrar com APIs não suportadas - Conectar com serviços que não têm nodes específicos
- Automações customizadas - Criar integrações específicas para seu negócio
- Prototipagem rápida - Testar APIs antes de criar nodes dedicados
- Operações avançadas - Requisições complexas com headers e parâmetros customizados
Parâmetros do Node
Método
Selecione o método HTTP para a requisição:
- GET: Buscar dados (padrão)
- POST: Enviar dados
- PUT: Atualizar dados
- PATCH: Atualizar parcialmente
- DELETE: Remover dados
- HEAD: Obter apenas headers
- OPTIONS: Verificar opções disponíveis
URL
Digite o endpoint que você quer usar.
Exemplos:
https://api.exemplo.com/v1/usuarios
https://jsonplaceholder.typicode.com/posts
https://viacep.com.br/ws/01001000/json/
Autenticação
O n8n recomenda usar a opção Tipo de Credencial Predefinida quando disponível. Ela oferece uma forma mais fácil de configurar e gerenciar credenciais comparado a configurar credenciais genéricas.
Credenciais Predefinidas: Credenciais para integrações suportadas pelo n8n, incluindo nodes integrados e da comunidade. Use tipo de credencial predefinida para operações customizadas sem configuração extra.
Credenciais Genéricas: Credenciais para integrações não suportadas pelo n8n. Você precisará configurar manualmente o processo de autenticação, incluindo especificar os endpoints de API necessários, parâmetros obrigatórios e o método de autenticação.
Você pode selecionar um dos seguintes métodos:
- Basic Auth: Autenticação básica (usuário/senha)
- Custom Auth: Autenticação customizada
- Digest Auth: Autenticação digest
- Header Auth: Autenticação via headers
- OAuth1 API: Autenticação OAuth 1.0
- OAuth2 API: Autenticação OAuth 2.0
- Query Auth: Autenticação via parâmetros de query
Enviar Parâmetros de Query
Parâmetros de query atuam como filtros nas requisições HTTP. Se a API que você está interagindo suporta parâmetros de query e a requisição que você está fazendo precisa de um filtro, ative esta opção.
Especifique seus parâmetros de query usando uma das opções disponíveis:
Usando campos abaixo: Digite pares nome/valor de parâmetros de query. Para adicionar mais pares, selecione "Adicionar Parâmetro".
Usando JSON: Digite JSON para definir seus parâmetros de query.
Exemplo prático - ViaCEP:
- Nome:
cep
- Valor:
01001000
Enviar Headers
Use este parâmetro para enviar headers com sua requisição. Headers contêm metadados ou contexto sobre sua requisição.
Especifique headers usando uma das opções disponíveis:
Usando campos abaixo: Digite pares nome/valor de parâmetros de header.
Usando JSON: Digite JSON para definir seus parâmetros de header.
Exemplos comuns:
Content-Type: application/json
Authorization: Bearer seu-token-aqui
User-Agent: n8n-workflow-1.0
Enviar Body
Se você precisa enviar um body com sua requisição de API, ative esta opção. Depois, selecione o tipo de conteúdo do body que melhor corresponde ao formato do conteúdo que você deseja enviar.
Form-URLEncoded: Use esta opção para enviar seu body como
application/x-www-form-urlencoded
.
Especifique body usando uma das opções disponíveis:
Usando campos abaixo: Digite pares nome/valor de parâmetros do body.
Usando campo único: Digite seus pares nome/valor em um único parâmetro body com formato
campo1=valor1&campo2=valor2
.
Form-Data: Use esta opção para enviar seu body como
multipart/form-data
.
Configure seus parâmetros do body selecionando o tipo de parâmetro:
- Escolha Form Data para digitar pares nome/valor
- Escolha Arquivo Binário n8n para extrair o body de um arquivo que o node tem acesso
JSON: Use esta opção para enviar seu body como JSON.
Especifique body usando uma das opções disponíveis:
Usando campos abaixo: Digite pares nome/valor de parâmetros do body.
Usando JSON: Digite JSON para definir seu body.
Exemplo de JSON:
{
"nome": "João Silva",
"email": "joao@exemplo.com",
"idade": 30,
"ativo": true
}
Arquivo Binário n8n: Use esta opção para enviar o conteúdo de um arquivo armazenado no n8n como body. Digite o nome do campo de entrada que contém o arquivo como nome do campo de dados de entrada.
Raw: Use esta opção para enviar dados brutos no body.
- Content-Type: Digite o header Content-Type para usar no conteúdo do body
- Body: Digite o conteúdo do body bruto para enviar
Opções do Node
Selecione "Adicionar Opção" para visualizar e selecionar estas opções. As opções estão disponíveis para todos os parâmetros, a menos que seja observado o contrário.
Formato de Array em Parâmetros de Query
Esta opção está disponível quando você ativa "Enviar Parâmetros de Query".
Use esta opção para controlar o formato para arrays incluídos em parâmetros de query. Escolha entre estas opções:
- Sem colchetes: Arrays serão formatados como
para cada item no array. Por exemplo:nome=valor
foo=bar&foo=qux
- Apenas colchetes: O node adiciona colchetes após cada nome de array. Por exemplo:
foo[]=bar&foo[]=qux
- Colchetes com índices: O node adiciona colchetes com um valor de índice após cada nome de array. Por exemplo:
foo[0]=bar&foo[1]=qux
Batching (Processamento em Lotes)
Controle como processar grandes números de itens de entrada:
- Itens por lote: Digite o número de itens de entrada para incluir em cada lote
- Intervalo do lote: Digite o tempo para esperar entre cada lote de requisições em milissegundos. Digite 0 para nenhum intervalo
Ignorar Problemas SSL
Por padrão, o n8n só baixa a resposta se a validação do certificado SSL for bem-sucedida. Se você quiser baixar a resposta mesmo se a validação do certificado SSL falhar, ative esta opção.
Headers em Minúsculas
Escolha se deve colocar nomes de headers em minúsculas (ativado por padrão) ou não (desativado).
Redirecionamentos
Escolha se deve seguir redirecionamentos (ativado por padrão) ou não (desativado). Se ativado, digite o número máximo de redirecionamentos que a requisição deve seguir em Máximo de Redirecionamentos.
Resposta
Use esta opção para definir alguns detalhes sobre a resposta da API esperada, incluindo:
- Incluir Headers e Status da Resposta: Por padrão, o node retorna apenas o body. Ative esta opção para retornar a resposta completa (headers e código de status da resposta) além do body
- Nunca Erro: Por padrão, o node retorna sucesso apenas quando a resposta retorna com um código 2xx. Ative esta opção para retornar sucesso independentemente do código retornado
- Formato da Resposta: Selecione o formato em que os dados são retornados. Escolha entre:
- Autodetectar (padrão): O node detecta e formata a resposta baseado nos dados retornados
- Arquivo: Selecione esta opção para colocar a resposta em um arquivo
- JSON: Selecione esta opção para formatar a resposta como JSON
- Texto: Selecione esta opção para formatar a resposta como texto simples
Paginação
Use esta opção para paginar resultados, útil para lidar com resultados de query que são muito grandes para a API retornar em uma única chamada.
Antes de configurar paginação, execute o node uma vez para ver a estrutura dos dados retornados pela API. Isso ajudará você a entender como configurar a paginação corretamente.
Exemplos Práticos
Exemplo 1: Consultar CEP via ViaCEP
Configuração:
- Método: GET
- URL:
https://viacep.com.br/ws/{{$json.cep}}/json/
Resultado esperado:
{
"cep": "01001-000",
"logradouro": "Praça da Sé",
"complemento": "lado ímpar",
"bairro": "Sé",
"localidade": "São Paulo",
"uf": "SP",
"ibge": "3550308",
"gia": "1004",
"ddd": "11",
"siafi": "7107"
}
Exemplo 2: Enviar Dados para API REST
Configuração:
- Método: POST
- URL:
https://api.exemplo.com/usuarios
- Headers:
Content-Type: application/json
Authorization: Bearer {{$json.token}}
- Body (JSON):
{
"nome": "{{$json.nome}}",
"email": "{{$json.email}}",
"telefone": "{{$json.telefone}}"
}
Exemplo 3: Upload de Arquivo
Configuração:
- Método: POST
- URL:
https://api.exemplo.com/upload
- Body: Form-Data
- Parâmetros:
- Nome:
, Tipo:arquivo
Arquivo Binário n8n
- Nome:
, Tipo:descricao
, Valor:Form Data
{{$json.descricao}}
- Nome:
Troubleshooting
Problemas Comuns
Erro 401 - Não Autorizado
- Verifique se as credenciais estão configuradas corretamente
- Confirme se o token de autenticação não expirou
- Verifique se o header
está sendo enviadoAuthorization
Erro 404 - Não Encontrado
- Confirme se a URL está correta
- Verifique se o endpoint existe na API
- Teste a URL diretamente no navegador ou Postman
Erro 500 - Erro Interno do Servidor
- Verifique se o formato dos dados enviados está correto
- Confirme se todos os campos obrigatórios estão preenchidos
- Verifique a documentação da API para requisitos específicos
Dicas de Debug
- Use a opção "Incluir Headers e Status da Resposta" para ver detalhes completos
- Teste com "Nunca Erro" ativado para ver respostas de erro
- Use o node Debug Helper antes do HTTP Request para verificar os dados
- Execute manualmente para testar a configuração
Importar Comando cURL
Você pode importar comandos cURL diretamente no n8n para criar requisições HTTP automaticamente.
Como Importar
- Copie o comando cURL da documentação da API ou das ferramentas de desenvolvedor do navegador
- Abra o node HTTP Request
- Clique em "Importar cURL" (botão no topo do painel de configuração)
- Cole o comando e clique em "Importar"
- Revise os parâmetros gerados automaticamente
Exemplo de cURL
curl -X POST https://api.exemplo.com/v1/usuarios \
-H "Content-Type: application/json" \
-H "Authorization: Bearer seu-token" \
-d '{
"nome": "João Silva",
"email": "joao@exemplo.com"
}'
Quando importado, este comando cURL configura automaticamente:
- Método: POST
- URL: https://api.exemplo.com/v1/usuarios
- Headers: Content-Type e Authorization
- Body: JSON com os dados
Vantagens do cURL Import
- Rapidez: Configuração instantânea
- Precisão: Evita erros de digitação
- Compatibilidade: Funciona com qualquer comando cURL válido
- Produtividade: Acelera o desenvolvimento de integrações
Próximos Passos
- Node Webhook - Para receber requisições HTTP
- Credenciais HTTP Request - Configurar autenticação
- Expressões n8n - Usar dados dinâmicos nas requisições
- Tratamento de Erros - Lidar com falhas nas requisições