0% acharam este documento útil (0 voto)
64 visualizações11 páginas

Dominando o HTTP Request No n8n

O documento é um guia abrangente sobre o uso do nó HTTP Request na ferramenta de automação n8n, abordando desde os fundamentos do HTTP até técnicas avançadas. Ele inclui exemplos práticos de requisições GET e POST, autenticação, tratamento de respostas e boas práticas de otimização. O guia também apresenta projetos práticos para integrar APIs e automatizar processos de negócios.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
64 visualizações11 páginas

Dominando o HTTP Request No n8n

O documento é um guia abrangente sobre o uso do nó HTTP Request na ferramenta de automação n8n, abordando desde os fundamentos do HTTP até técnicas avançadas. Ele inclui exemplos práticos de requisições GET e POST, autenticação, tratamento de respostas e boas práticas de otimização. O guia também apresenta projetos práticos para integrar APIs e automatizar processos de negócios.
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 11

# Dominando o HTTP Request no n8n

Um guia completo para iniciantes e profissionais

Por Professor Dr. Alex Techguru


20 anos de experiência em Automação e Integração de Sistemas

## Índice

1. Introdução
1.1 O que é o n8n?
1.2 Importância do HTTP Request

2. Fundamentos do HTTP Request


2.1 Métodos HTTP
2.2 Estrutura de uma requisição
2.3 Códigos de status HTTP

3. Configurando o Nó HTTP Request no n8n


3.1 Localizando e adicionando o nó
3.2 Interface do nó HTTP Request
3.3 Configurações básicas

4. Requisições GET
4.1 Estrutura básica
4.2 Adicionando parâmetros de consulta
4.3 Exemplo prático: API do GitHub

5. Requisições POST
5.1 Enviando dados no corpo da requisição
5.2 Formatos de dados: JSON e Form-Data
5.3 Exemplo prático: Criando recursos

6. Autenticação em Requisições
6.1 API Key
6.2 Basic Auth
6.3 Bearer Token
6.4 OAuth 2.0 (visão geral)

7. Headers Personalizados
7.1 Importância dos headers
7.2 Headers comuns e seus usos
7.3 Configurando headers no n8n

8. Tratamento de Respostas
8.1 Acessando dados da resposta
8.2 Manipulando JSON
8.3 Lidando com erros

9. Técnicas Avançadas
9.1 Requisições em lote
9.2 Paginação
9.3 Encadeamento de requisições
10. Otimização e Boas Práticas
10.1 Melhorando o desempenho
10.2 Segurança em requisições
10.3 Depuração e solução de problemas

11. Projetos Práticos


11.1 Integrando múltiplas APIs
11.2 Construindo um dashboard de dados
11.3 Automação de processos de negócios

12. Conclusão e Próximos Passos

## 1. Introdução

### 1.1 O que é o n8n?

O n8n é uma poderosa ferramenta de automação de fluxo de trabalho que permite


conectar diferentes aplicativos e serviços sem a necessidade de codificação
complexa. É uma plataforma de código aberto que oferece uma interface visual
intuitiva para criar, testar e implantar automações.

### 1.2 Importância do HTTP Request

O nó HTTP Request é um componente fundamental no n8n, atuando como uma ponte


entre sua automação e o vasto mundo das APIs web. Ele permite que você interaja
com praticamente qualquer serviço online que ofereça uma API, desde recuperar
dados até enviar informações e acionar ações em sistemas externos.

## 2. Fundamentos do HTTP Request

### 2.1 Métodos HTTP

Os métodos HTTP mais comuns são:

- GET: Recupera dados


- POST: Envia dados para criar um novo recurso
- PUT: Atualiza um recurso existente
- DELETE: Remove um recurso
- PATCH: Atualiza parcialmente um recurso

### 2.2 Estrutura de uma requisição

Uma requisição HTTP típica inclui:

- URL: O endereço do recurso


- Método: GET, POST, etc.
- Headers: Metadados da requisição
- Body: Dados enviados (para POST, PUT, etc.)

### 2.3 Códigos de status HTTP

Os códigos de status HTTP indicam o resultado de uma requisição:

- 2xx: Sucesso (ex: 200 OK)


- 3xx: Redirecionamento
- 4xx: Erro do cliente (ex: 404 Not Found)
- 5xx: Erro do servidor

## 3. Configurando o Nó HTTP Request no n8n

### 3.1 Localizando e adicionando o nó

1. No seu fluxo de trabalho, clique no botão "+"


2. Pesquise por "HTTP Request"
3. Clique no nó para adicioná-lo ao seu fluxo

### 3.2 Interface do nó HTTP Request

A interface do nó inclui campos para:

- Método HTTP
- URL
- Headers
- Query Parameters
- Body
- Autenticação

### 3.3 Configurações básicas

Exemplo de configuração básica (GET request):

```json
{
"parameters": {
"method": "GET",
"url": "https://api.example.com/data",
"authentication": "none",
"options": {}
}
}
4. Requisições GET
4.1 Estrutura básica
Exemplo de uma requisição GET simples:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.github.com/users/octocat",
"authentication": "none",
"options": {}
}
}
4.2 Adicionando parâmetros de consulta
Exemplo com parâmetros de consulta:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.github.com/search/repositories",
"authentication": "none",
"options": {},
"queryParameters": {
"q": "node.js",
"sort": "stars",
"order": "desc"
}
}
}
4.3 Exemplo prático: API do GitHub
Buscar informações de um usuário do GitHub:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.github.com/users/octocat",
"authentication": "none",
"options": {}
}
}
5. Requisições POST
5.1 Enviando dados no corpo da requisição
Exemplo de uma requisição POST:

json
Copiar
{
"parameters": {
"method": "POST",
"url": "https://jsonplaceholder.typicode.com/posts",
"authentication": "none",
"options": {},
"body": {
"title": "Teste do n8n",
"body": "Este é um post de teste criado via n8n",
"userId": 1
}
}
}
5.2 Formatos de dados: JSON e Form-Data
Para Form-Data:

json
Copiar
{
"parameters": {
"method": "POST",
"url": "https://api.example.com/submit-form",
"authentication": "none",
"options": {},
"bodyFormData": {
"name": "John Doe",
"email": "[email protected]"
}
}
}
5.3 Exemplo prático: Criando recursos
Criar um novo post usando JSONPlaceholder:

json
Copiar
{
"parameters": {
"method": "POST",
"url": "https://jsonplaceholder.typicode.com/posts",
"authentication": "none",
"options": {},
"body": {
"title": "Novo Post via n8n",
"body": "Este é o conteúdo do novo post criado usando o n8n.",
"userId": 1
}
}
}
6. Autenticação em Requisições
6.1 API Key
Exemplo de autenticação com API Key:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.openweathermap.org/data/2.5/weather",
"authentication": "queryAuth",
"options": {},
"queryParameters": {
"q": "London",
"units": "metric",
"appid": "YOUR_API_KEY_HERE"
}
}
}
6.2 Basic Auth
Exemplo de Basic Auth:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.example.com/secure-data",
"authentication": "basicAuth",
"options": {},
"username": "your_username",
"password": "your_password"
}
}
6.3 Bearer Token
Exemplo de autenticação com Bearer Token:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.spotify.com/v1/me",
"authentication": "headerAuth",
"options": {},
"headers": {
"Authorization": "Bearer YOUR_ACCESS_TOKEN_HERE"
}
}
}
6.4 OAuth 2.0 (visão geral)
OAuth 2.0 é um protocolo de autorização mais complexo que geralmente envolve
vários passos. No n8n, você pode configurar a autenticação OAuth 2.0 nas
credenciais do nó. O processo geralmente inclui:

Registrar sua aplicação com o provedor de serviços


Obter um Client ID e Client Secret
Configurar as credenciais OAuth 2.0 no n8n
Autorizar o n8n a acessar o serviço em seu nome
7. Headers Personalizados
7.1 Importância dos headers
Headers fornecem metadados cruciais sobre a requisição ou resposta HTTP. Eles
são essenciais para controlar vários aspectos da comunicação entre cliente e
servidor.

7.2 Headers comuns e seus usos


Content-Type: Especifica o tipo de mídia do corpo da requisição/resposta
Accept: Indica os tipos de mídia aceitáveis para a resposta
Authorization: Contém credenciais para autenticação
User-Agent: Identifica o cliente fazendo a requisição
Cache-Control: Diretivas para mecanismos de cache
7.3 Configurando headers no n8n
Exemplo de configuração de headers personalizados:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.example.com/data",
"authentication": "none",
"options": {},
"headers": {
"Content-Type": "application/json",
"Accept": "application/json",
"X-Custom-Header": "CustomValue"
}
}
}
8. Tratamento de Respostas
8.1 Acessando dados da resposta
Para acessar dados da resposta em nós subsequentes:

Corpo da resposta: {{ $node["HTTP Request"].json.propertyName }}


Headers da resposta: {{ $node["HTTP Request"].headers.headerName }}
Código de status: {{ $node["HTTP Request"].statusCode }}
8.2 Manipulando JSON
Exemplo de manipulação de resposta JSON:

json
Copiar
{
"parameters": {
"keepOnlySet": true,
"values": {
"processedData": "={{ $json.items.map(item => ({ id: item.id, name:
item.name })) }}"
}
}
}
8.3 Lidando com erros
Exemplo de tratamento de erro usando um nó IF:

json
Copiar
{
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $node[\"HTTP Request\"].statusCode }}",
"operation": "equal",
"value2": 200
}
]
}
}
}
9. Técnicas Avançadas
9.1 Requisições em lote
Exemplo de configuração para requisições em lote:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "=https://api.github.com/users/{{ $item.username }}",
"authentication": "none",
"options": {}
}
}
9.2 Paginação
Exemplo de configuração para paginação:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "https://api.github.com/users/octocat/repos",
"authentication": "none",
"options": {},
"queryParameters": {
"page": "={{ $runIndex }}",
"per_page": 30
}
}
}
9.3 Encadeamento de requisições
Usar dados de uma requisição em outra:

json
Copiar
{
"parameters": {
"method": "GET",
"url": "=https://api.github.com/repos/{{ $node[\"Previous
Request\"].json.full_name }}/issues",
"authentication": "none",
"options": {}
}
}
10. Otimização e Boas Práticas
10.1 Melhorando o desempenho
Use caching quando apropriado para reduzir o número de chamadas à API
Minimize o número de requisições agrupando dados quando possível
Utilize requisições em lote para processar múltiplos itens de uma vez
Implemente paginação para lidar com grandes conjuntos de dados eficientemente
10.2 Segurança em requisições
Nunca exponha chaves API ou tokens diretamente no fluxo de trabalho
Use variáveis de ambiente para armazenar dados sensíveis
Implemente rate limiting para evitar sobrecarga de APIs
Use HTTPS para todas as requisições que envolvem dados sensíveis
Valide e sanitize todos os dados de entrada antes de enviá-los em requisições
10.3 Depuração e solução de problemas
Use o modo de depuração do n8n para inspecionar requisições e respostas
Verifique logs de erro para informações detalhadas
Teste suas requisições com ferramentas como Postman antes de implementá-las no
n8n
Implemente tratamento de erros robusto para lidar com falhas de API
graciosamente
11. Projetos Práticos
11.1 Integrando múltiplas APIs
Exemplo: Buscar dados meteorológicos e enviar para o Slack

json
Copiar
[
{
"name": "HTTP Request",
"parameters": {
"method": "GET",
"url": "http://api.openweathermap.org/data/2.5/weather",
"authentication": "queryAuth",
"options": {},
"queryParameters": {
"q": "London",
"units": "metric",
"appid": "YOUR_API_KEY_HERE"
}
}
},
{
"name": "Slack",
"parameters": {
"channel": "weather-updates",
"text
"text": "=Temperatura atual em Londres: {{ $node[\"HTTP
Request\"].json.main.temp }}°C"
}
}
]
11.2 Construindo um dashboard de dados
Exemplo: Coletar dados de várias fontes e consolidar

json
Copiar
[
{
"name": "GitHub API",
"parameters": {
"method": "GET",
"url": "https://api.github.com/repos/n8n-io/n8n",
"authentication": "none",
"options": {}
}
},
{
"name": "Twitter API",
"parameters": {
"method": "GET",
"url": "https://api.twitter.com/2/tweets/search/recent",
"authentication": "headerAuth",
"options": {},
"queryParameters": {
"query": "n8n"
},
"headers": {
"Authorization": "Bearer YOUR_TWITTER_TOKEN"
}
}
},
{
"name": "Consolidate Data",
"parameters": {
"keepOnlySet": true,
"values": {
"dashboardData": {
"githubStars": "={{ $node[\"GitHub API\"].json.stargazers_count }}",
"recentTweets": "={{ $node[\"Twitter API\"].json.data.length }}"
}
}
}
}
]
11.3 Automação de processos de negócios
Exemplo: Fluxo de trabalho para gerenciamento de leads

json
Copiar
[
{
"name": "Webhook",
"parameters": {
"path": "new-lead",
"responseMode": "lastNode",
"options": {}
}
},
{
"name": "CRM API",
"parameters": {
"method": "POST",
"url": "https://api.crm.com/leads",
"authentication": "headerAuth",
"options": {},
"headers": {
"Authorization": "Bearer YOUR_CRM_TOKEN"
},
"body": {
"name": "={{ $node[\"Webhook\"].json.name }}",
"email": "={{ $node[\"Webhook\"].json.email }}",
"source": "website"
}
}
},
{
"name": "Send Email",
"parameters": {
"to": "={{ $node[\"Webhook\"].json.email }}",
"subject": "Obrigado pelo seu interesse!",
"text": "=Olá {{ $node[\"Webhook\"].json.name }},\n\nObrigado por entrar
em contato. Nossa equipe entrará em contato em breve.\n\nAtenciosamente,\nEquipe
de Vendas"
}
}
]
12. Conclusão e Próximos Passos
Parabéns por concluir este guia abrangente sobre o uso do HTTP Request no n8n!
Você agora possui um conjunto sólido de habilidades para criar automações
poderosas e integrar diversos sistemas e APIs.

Recapitulação dos principais pontos:


O nó HTTP Request é fundamental para interagir com APIs externas no n8n.
Compreender os diferentes métodos HTTP e como usá-los apropriadamente.
A importância da autenticação e segurança ao fazer requisições.
Técnicas avançadas como paginação e requisições em lote para lidar com grandes
volumes de dados.
Boas práticas para otimização de desempenho e tratamento de erros.
Próximos passos para continuar seu aprendizado:
Explore a documentação oficial do n8n para descobrir recursos adicionais.
Pratique criando fluxos de trabalho mais complexos, combinando o HTTP Request
com outros nós do n8n.
Participe da comunidade n8n para compartilhar conhecimentos e aprender com
outros usuários.
Mantenha-se atualizado com as últimas tendências em APIs e integrações.
Considere contribuir para o projeto de código aberto do n8n.
Lembre-se, a automação de fluxos de trabalho é uma habilidade valiosa e em
constante evolução. Continue experimentando, aprendendo e construindo soluções
inovadoras com o n8n!

© 2024 Professor Dr. Alex Techguru. Todos os direitos reservados.

Este ebook é protegido por direitos autorais. Nenhuma parte desta publicação
pode ser reproduzida, distribuída ou transmitida de qualquer forma ou por
qualquer meio, incluindo fotocópia, gravação ou outros métodos eletrônicos ou
mecânicos, sem a prévia autorização por escrito do autor, exceto no caso de
breves citações incorporadas em resenhas críticas e certos outros usos não
comerciais permitidos pela lei de direitos autorais.

Para permissões, entre em contato com o autor em: [email protected]

Primeira edição, Janeiro 2024

ISBN: 978-0-1234567-8-9

Você também pode gostar