HTTP Request

O node mais poderoso do N8N - conecte com QUALQUER API do mundo

REST APIs GraphQL Webhooks Autenticacao

Por Que HTTP Request?

O N8N tem +400 nodes nativos, mas nem toda API tem node dedicado. O HTTP Request permite conectar com qualquer servico que tenha uma API REST, GraphQL ou webhook.

APIs sem Node

Integre com servicos que nao tem node nativo no N8N

Funcoes Avancadas

Acesse endpoints que nodes nativos nao suportam

APIs Proprias

Conecte com backends e microservicos internos

Webhooks

Dispare webhooks em servicos externos

1

Metodos HTTP

Entenda quando usar cada metodo

GET

Buscar dados

Ler recursos. Nao modifica nada. Parametros vao na URL.

POST

Criar dados

Criar novo recurso. Dados vao no body.

PUT

Substituir dados

Substituir recurso completamente.

PATCH

Atualizar parcial

Modificar apenas campos especificos.

DELETE

Remover dados

Deletar recurso. Cuidado - geralmente irreversivel!

2

Tipos de Autenticacao

Como APIs verificam quem voce e

API Key

O mais comum. Uma chave secreta enviada em cada request.

// Via Header (mais comum):
Header Name: Authorization
Header Value: Bearer sk-xxxxxxxxxxxxx

// Ou:
Header Name: X-API-Key
Header Value: sua-api-key-aqui

// Via Query Parameter (menos seguro):
URL: https://api.exemplo.com/dados?api_key=xxxxx

Bearer Token

Token temporario obtido via login/OAuth.

Header Name: Authorization
Header Value: Bearer eyJhbGciOiJIUzI1NiIs...

Basic Auth

Usuario e senha codificados em base64.

// No N8N, selecione "Basic Auth" e preencha:
User: seu_usuario
Password: sua_senha

// Equivale ao header:
Authorization: Basic dXN1YXJpbzpzZW5oYQ==

OAuth 2.0

Autorizacao delegada (Google, Facebook, etc).

// Use "Generic OAuth2 API" credential no N8N
Client ID: seu-client-id
Client Secret: seu-client-secret
Authorization URL: https://api.exemplo.com/oauth/authorize
Token URL: https://api.exemplo.com/oauth/token
Scope: read write
3

Tipos de Body

Formatos para enviar dados

JSON (application/json)

O mais comum para APIs modernas.

Content-Type: application/json

{
  "nome": "{{ $json.nome }}",
  "email": "{{ $json.email }}",
  "dados": {
    "plano": "pro"
  }
}

Form URL-Encoded (application/x-www-form-urlencoded)

Formato de formularios HTML tradicionais.

Content-Type: application/x-www-form-urlencoded

// No N8N, use "Form URL-Encoded" body type
nome=Joao&email=joao@email.com&plano=pro

Multipart Form Data (multipart/form-data)

Para upload de arquivos.

Content-Type: multipart/form-data

// No N8N, selecione "Multipart Form Data"
// e configure o campo de arquivo com binary data
file: [binary data from previous node]
description: "Meu arquivo"

Raw (text/plain, text/xml, etc)

Texto puro, XML, ou outros formatos.

// XML exemplo:
Content-Type: text/xml

<request>
  <nome>{{ $json.nome }}</nome>
  <email>{{ $json.email }}</email>
</request>

Exemplos Praticos

1. Buscar CEP (GET simples)

GET https://viacep.com.br/ws/01310100/json/

// Resposta:
{
  "cep": "01310-100",
  "logradouro": "Avenida Paulista",
  "bairro": "Bela Vista",
  "localidade": "Sao Paulo",
  "uf": "SP"
}

2. Criar registro no Supabase (POST + Bearer)

POST https://xxx.supabase.co/rest/v1/usuarios

// Headers:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
apikey: sua-anon-key
Content-Type: application/json
Prefer: return=representation

// Body (JSON):
{
  "nome": "{{ $json.nome }}",
  "email": "{{ $json.email }}",
  "criado_em": "{{ $now.toISO() }}"
}

3. Buscar todos registros com paginacao

// Use Loop Over Items ou recursao

// Primeira pagina:
GET https://api.exemplo.com/items?page=1&limit=100

// Resposta:
{
  "data": [...],
  "page": 1,
  "total_pages": 5,
  "next": "https://api.exemplo.com/items?page=2"
}

// No N8N: use Loop Until para iterar ate next == null

4. Query GraphQL (GitHub API)

POST https://api.github.com/graphql

// Headers:
Authorization: Bearer ghp_xxxxxxxxxxxx
Content-Type: application/json

// Body:
{
  "query": "query { viewer { login repositories(first: 10) { nodes { name stargazerCount } } } }"
}

5. Upload de arquivo

POST https://api.exemplo.com/upload

// Body Type: Multipart Form Data
// Configure no N8N:

Parameter Name: file
Input Data Field Name: data // nome do campo binario

// Campos adicionais:
description: "Arquivo enviado via N8N"

6. Disparar webhook externo (Zapier, Make, etc)

POST https://hooks.zapier.com/hooks/catch/xxxxx/yyyyyy

// Body:
{
  "evento": "nova_venda",
  "valor": {{ $json.valor }},
  "cliente": "{{ $json.email }}",
  "timestamp": "{{ $now.toISO() }}"
}

Opcoes Avancadas

Timeout

Tempo maximo de espera (ms). Padrao: 300000 (5 min). Aumente para APIs lentas.

Retry on Fail

Tentar novamente em caso de erro. Configure max retries e wait between.

Ignore SSL Issues

Ignorar erros de certificado SSL. Use apenas para APIs internas.

Proxy

Rotear requests atraves de proxy HTTP/HTTPS.

Response Format

Autodetect, JSON, Text, File (para downloads).

Full Response

Incluir headers, status code, e body na resposta.

Troubleshooting

401 Unauthorized

Credenciais incorretas ou expiradas. Verifique API key, token, ou usuario/senha.

403 Forbidden

Autenticado mas sem permissao. Verifique scopes, roles, ou IP whitelisting.

404 Not Found

URL incorreta ou recurso nao existe. Verifique a documentacao da API.

422 Unprocessable Entity

Dados invalidos no body. Verifique campos obrigatorios e tipos (string vs number).

429 Too Many Requests

Rate limit atingido. Adicione node Wait ou reduza frequencia das requisicoes.

500 Internal Server Error

Erro no servidor da API. Nao e problema seu - tente novamente mais tarde.

ETIMEDOUT / Timeout

API demorou demais. Aumente o timeout nas opcoes ou verifique conectividade.

ECONNREFUSED

Servidor recusou conexao. URL incorreta, servidor offline, ou firewall bloqueando.

Dicas Pro

Use Credentials Reutilizaveis

Crie uma "Header Auth" credential com sua API key e reutilize em multiplos nodes. Assim, quando trocar a chave, atualiza em um lugar so.

Teste no Postman/Insomnia Primeiro

Antes de configurar no N8N, teste a API em um cliente HTTP. Assim voce sabe exatamente o que funciona.

Sempre Leia a Documentacao

Cada API tem suas peculiaridades. Rate limits, formatos, autenticacao. 5 minutos lendo docs economiza horas de debug.

Use "Full Response" para Debug

Ative "Full Response" para ver headers e status code. Util para entender erros ou pegar headers de paginacao.

APIs Populares (Sem Node Nativo)

Estas APIs nao tem node nativo mas funcionam perfeitamente com HTTP Request:

Supabase - Backend as a Service
Firebase - Realtime Database
Twilio - SMS e Voz
SendGrid - Email transacional
Mailchimp - Email marketing
Intercom - Customer messaging
Zendesk - Suporte
HubSpot - CRM
Pipedrive - CRM de vendas
Shopify - E-commerce
WooCommerce - E-commerce WP
Mercado Pago - Pagamentos

Parabens!

Voce completou a Trilha Tecnico! Agora pode integrar qualquer API.

Ver Todas as Conexoes