HTTP Requests
Os nodes de HTTP Requests são fundamentais para integração com APIs e serviços externos no n8n. Eles permitem que você se comunique com qualquer sistema que tenha uma interface HTTP, seja para enviar dados ou receber notificações.
Nodes Disponíveis
O node HTTP Request é usado para enviar requisições HTTP para APIs e serviços externos. É o node mais versátil para integração com sistemas que não possuem nodes dedicados.
Principais funcionalidades:
- Suporte a todos os métodos HTTP (GET, POST, PUT, DELETE, etc.)
- Múltiplos tipos de autenticação
- Envio de dados em diferentes formatos (JSON, Form Data, etc.)
- Configuração de headers e parâmetros de query
- Paginação automática
- Tratamento de respostas
Casos de uso:
- Integrar com APIs REST
- Enviar dados para sistemas externos
- Fazer consultas a bancos de dados via API
- Upload de arquivos
- Automação de processos web
O node Webhook é usado para receber requisições HTTP de sistemas externos. É um node trigger que pode iniciar workflows baseado em eventos externos.
Principais funcionalidades:
- Receber dados de sistemas externos
- Suporte a diferentes métodos HTTP
- Autenticação configurável
- Respostas customizadas
- Parâmetros de rota dinâmicos
- Configuração de CORS
Casos de uso:
- Receber notificações de sistemas externos
- Criar endpoints de API
- Integração com webhooks de terceiros
- Automação baseada em eventos
- Construir APIs REST
Diferenças Principais
Aspecto | HTTP Request | Webhook |
---|---|---|
Direção | Enviar dados | Receber dados |
Tipo | Node de ação | Node trigger |
Inicia workflow | Não | Sim |
URL | Configurada pelo usuário | Gerada pelo n8n |
Uso principal | Integração com APIs | Receber notificações |
Fluxo de Trabalho
Receber Dados
Sistema Externo → Webhook → n8n Workflow
Processar Dados
n8n Workflow → Nodes de Processamento → Dados Transformados
Enviar Dados
n8n Workflow → HTTP Request → Sistema Externo
Exemplos de Integração
Exemplo 1: Pipeline de Notificações
- Webhook recebe notificação de novo usuário
- Set node processa os dados
- HTTP Request envia para Slack
- HTTP Request salva no banco de dados
Exemplo 2: API Gateway
- Webhook recebe requisição de API
- HTTP Request consulta banco de dados
- Set node formata resposta
- Webhook retorna dados formatados
Exemplo 3: Sincronização de Dados
- Schedule Trigger executa periodicamente
- HTTP Request busca dados da API A
- HTTP Request envia dados para API B
- HTTP Request registra log da operação
Configuração de Segurança
Autenticação
Ambos os nodes suportam múltiplos métodos de autenticação:
- Basic Auth: Usuário e senha
- Header Auth: Token no header
- OAuth2: Fluxo OAuth completo
- JWT: JSON Web Tokens
- Custom: Autenticação personalizada
Validação de Dados
Sempre valide os dados recebidos antes de processá-los:
// Exemplo de validação básica
if (!$json.email || !$json.nome) {
throw new Error('Dados obrigatórios não fornecidos');
}
// Validar formato de email
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
if (!emailRegex.test($json.email)) {
throw new Error('Email inválido');
}
Rate Limiting
Configure limites de taxa para evitar sobrecarga:
// Exemplo de rate limiting simples
const delay = 1000; // 1 segundo
await new Promise(resolve => setTimeout(resolve, delay));
Boas Práticas
Para HTTP Request
- Use credenciais predefinidas quando disponível
- Configure timeouts adequados para evitar travamentos
- Implemente retry logic para falhas temporárias
- Valide respostas antes de processar
- Use paginação para grandes volumes de dados
Para Webhook
- Sempre use autenticação em produção
- Configure lista branca de IPs quando possível
- Valide dados de entrada antes de processar
- Configure CORS adequadamente
- Monitore chamadas para detectar uso indevido
Para Ambos
- Use HTTPS para todas as comunicações
- Implemente logging para debug
- Configure tratamento de erros adequado
- Teste em ambiente de desenvolvimento primeiro
- Documente endpoints e formatos de dados
Troubleshooting
Problemas Comuns
HTTP Request timeout
- Aumente o timeout ou verifique a conectividade
- Autenticação: Verifique credenciais e formato
- Rate Limiting: Implemente delays entre requisições
- Formato de dados: Verifique Content-Type e estrutura
Webhook não recebe dados
- Verifique se o workflow está ativo
- Erro 403: Verifique autenticação e IPs permitidos
- Payload muito grande: Comprima dados ou aumente limite
- CORS: Configure origens permitidas
Debug
- Use o node Debug Helper para inspecionar dados
- Configure "Incluir Headers e Status" no HTTP Request
- Use URLs de teste para webhooks
- Monitore logs do n8n
- Teste com ferramentas externas (Postman, curl)
Próximos Passos
- Expressões n8n - Usar dados dinâmicos
- Tratamento de Erros - Lidar com falhas
- Credenciais - Configurar autenticação
- Nodes de Lógica - Controlar fluxo
- Nodes de Dados - Processar dados