Alura > Cursos de Programação > Cursos de Automação e Produtividade > Conteúdos de Automação e Produtividade > Primeiras aulas do curso Automação de processos com n8n: integração de APIs REST

Automação de processos com n8n: integração de APIs REST

Conexão com APIs próprias - Apresentação

Apresentando o curso e o instrutor

Bem-vindo a mais um curso de n8n aqui na Alura. Eu sou o Ricardo Bugan e serei seu instrutor.

Vamos abordar um problema que, talvez, após tantos cursos e fluxos de trabalho que já criamos, você já tenha encontrado: quando queremos criar uma automação e não temos nossa aplicação disponível entre as aplicações nativas do nosso n8n.

Estamos aqui, desejamos fazer nossa automação, entramos nas aplicações, procuramos nossa aplicação, seja pelo nome ou na lista disponível, e pode haver muitas, mas não encontramos a aplicação que desejamos.

Explorando a integração de aplicações proprietárias

O conteúdo incluso não estará aqui, pois trata-se de uma aplicação proprietária, um servidor que gerencia as informações da sua empresa. É um serviço exclusivo, algo proprietário, e por isso não está disponível publicamente, sendo apenas para vocês.

Como, então, integramos algo assim no n8n? É isso que vamos explorar. Observaremos este nó, que será repetido várias vezes: o nó de solicitação HTTP. Esse é o tipo de solicitação que faremos quando precisarmos acessar uma aplicação que não está na lista de aplicações nativas.

Configurando solicitações HTTP no n8n

No entanto, não se trata apenas de fazer uma solicitação ou de inserir o nome da aplicação desejada e enviá-la. Há uma série de configurações necessárias, e são essas configurações que ensinaremos a realizar, além de mostrar os padrões mais comuns encontrados nas documentações de serviços.

Conexão com APIs próprias - E se não existir conexão?

Explorando o uso do N8n para automação

Até agora, em nossa sequência de cursos sobre N8n, exploramos várias maneiras de utilizar a ferramenta para automação com outras ferramentas integradas. Criamos nosso chatbot, vimos um carregador de base de conhecimento, geração de relatórios de NPS, confirmação de entrega e envio de pedidos, tudo na parte de automação de tarefas.

Para isso, utilizamos uma série de credenciais para fazer tudo funcionar. Entre elas, Google Sheets, Slack, Notion e Gmail foram ferramentas que usamos para nossas integrações e fluxos, garantindo que nossas automações funcionassem. No entanto, há um detalhe que deixamos de lado ao discutir esses workflows.

Introduzindo novos desafios de integração

Se criarmos outro workflow, que será o foco deste curso, podemos, como já sabemos, utilizar vários gatilhos de diversas aplicações. Temos um gatilho do Active Campaign para um CRM, podemos ter do Agile CRM, e todas as ferramentas que já utilizamos, como Airtable, estão conectadas aqui.

Entretanto, haverá casos em que desejaremos conectar ou buscar dados que estão dentro do servidor da nossa empresa. A empresa possui esses dados em algum lugar, pois há um sistema do qual podemos acessá-los, mas não temos uma forma automática, por assim dizer, de uma aplicação já pré-conectada no N8n para extrair essa informação proprietária. Apenas a empresa possui esses dados, e somente o servidor do sistema terá essa informação, que não está em nenhum outro lugar nem integrada com outras ferramentas.

Explorando a manipulação de sistemas proprietários

Neste curso, queremos explorar esse cenário.

Como podemos, em uma automatização, manipular e buscar informações em sistemas proprietários, sistemas que pertencem à nossa empresa ou à empresa para a qual trabalhamos? Existe uma maneira de fazer isso, por exemplo, utilizando um disparador manual apenas para iniciar o processo, e então buscar a requisição HTTP. Assim, faremos uma requisição ao nosso servidor, ao nosso sistema. Vamos entender como isso funciona neste curso.

Compreendendo o uso de APIs e integrações

Vamos explorar mais, ver como isso funciona, entender um pouco o protocolo HTTP, como ele está estruturado para realizar algumas integrações. Isso será útil em qualquer caso. Vamos trazer o exemplo de um sistema proprietário, mas digamos que temos uma ferramenta que usamos e que não está integrada. Por exemplo, o Facebook. O Facebook, por sinal, possui uma API, a Graph API, e alguns disparadores. Portanto, o Facebook está integrado.

Vejamos o Instagram. O Instagram possui um nó de comunidade, mas não tem nada oficial. Assim, se quisermos fazer algo relacionado ao Instagram, precisamos entender como o sistema do Instagram funciona. Podemos buscar a API do Instagram. Ao fazer isso, teremos a documentação de como outro sistema pode se integrar ao próprio Instagram. Assim, podemos buscar informações, entender como funciona e quais webhooks existem.

Aplicando conhecimentos de integração em diferentes cenários

Dessa forma, temos uma maneira de entender como funciona a API do Instagram, caso queiramos fazer alguma integração com ele. Existe uma seção para desenvolvedores. Embora, neste curso, apresentemos o cenário de um servidor ou sistema proprietário, o que vamos estudar aqui funcionará para várias ferramentas que possuam uma API que possamos integrar. Assim, poderemos fazer a conexão com elas, independentemente de termos uma aplicação já pré-registrada.

Obviamente, ter a aplicação facilita muito, mas, em alguns cenários, não será possível. Precisaremos aprender a contornar isso para realizar nossas integrações.

Conexão com APIs próprias - Arquitetura Cliente-Servidor

Explicando a arquitetura cliente-servidor

Um dos primeiros casos que vamos entender aqui é como funciona essa arquitetura, como todo esse sistema entre o N8n e nossa aplicação, seja ela a API do Instagram, a API de outro serviço que utilizamos ou o servidor interno de nossa empresa. Precisamos compreender essa arquitetura cliente-servidor, que é basicamente como toda a internet é organizada.

Podemos pensar, como o próprio nome sugere, que temos dois lados. Um lado é o servidor. O servidor é qualquer sistema que tem a função de prover ou servir informações, documentos e acessos a quem os solicita, que, neste caso, é o cliente. Sempre que tivermos um servidor, teremos um endereço fixo ao qual podemos chamar para pedir essa informação. Essa parte do endereço é importante. Cada vez que formos chamar um servidor, teremos que fornecer um endereço. Enviaremos uma mensagem ao servidor dizendo que queremos obter alguma informação que ele possui, que sabemos que está naquele endereço, e pediremos para que ele nos devolva essa informação. O servidor cumprirá essa função, estando sempre no mesmo endereço, servindo a informação ou os documentos a quem os solicitar.

Definindo o papel do cliente na arquitetura

Do outro lado, temos o solicitante, o cliente. O cliente, nesta arquitetura, é qualquer ferramenta ou sistema que atuará em nome do usuário. O usuário somos nós, as pessoas aqui, que estão em frente ao computador, programando o N8n. O N8n é um sistema que atuará em nosso nome. Portanto, é o N8n que fará a chamada ao servidor. Por isso, o N8n será nosso cliente. Assim, o N8n será um cliente que pedirá a informação que está em nosso servidor e a receberá a partir do momento em que tiver acesso a esse servidor.

Normalmente, essa função do cliente é realizada pelo navegador. Como mencionado, a arquitetura cliente-servidor é a arquitetura com a qual a internet é organizada. Muitas vezes, temos o servidor em um lugar e o navegador, ou seja, nós, nosso navegador, quando acessamos o Google Chrome ou o Firefox, buscamos um site. O navegador cumpre essa função de cliente porque é ele quem, ao digitarmos o site, buscará o servidor desse site e devolverá a informação da página que estamos solicitando. Isso, como de costume, é feito de maneira automatizada. Não precisamos nos preocupar muito com como isso funciona quando o navegador faz isso. Apenas fornecemos o endereço, neste caso, o nome do site, e ele busca a informação por nós.

Comunicando-se através de protocolos e URLs

O servidor é essa camada superior que possui a informação que queremos, enquanto o cliente é o sistema que buscará essa informação, fornecendo os detalhes de qual informação deseja. Eles precisam se comunicar através de uma camada de mensagens. Existe uma forma estruturada para que se comuniquem, para que possamos entender.

Sempre que alguém chama um servidor, há um protocolo e uma forma padronizada de realizar essa chamada, com alguns passos a serem seguidos. Isso ocorre independentemente do cliente, seja nosso navegador, o N8n ou qualquer outra ferramenta que desempenhe o papel de cliente por nós. O cliente vai chamar o servidor utilizando um protocolo e uma forma de chamada que está padronizada. A URL é a direção do nosso servidor. Quando digitamos o nome do site, estamos inserindo a direção do servidor. Por exemplo, o nome alura.com é a direção do servidor da Alura. Sempre que digitamos alura.com, acessamos o servidor da Alura, pois essa é uma direção fixa.

Entendendo a função do DNS e a navegação por URLs

A direção pode ser tanto um texto, como alura.com.br, quanto um endereço IP. Ambos, IP e texto, cumprem a mesma função, permitindo chamadas tanto por nome quanto por IP. Por padrão, teremos apenas o IP. Existem algumas camadas de infraestrutura e tecnologia, como o servidor DNS, que está relacionado aos domínios. O DNS traduz o domínio, ou texto, como alura.com.br, para o IP de um servidor, pois na camada dos computadores, a comunicação é feita por meio de IPs. Sem essa camada de DNS, que faz a tradução entre texto e número, a comunicação seria mais complexa.

Se tivermos um servidor sem um domínio comprado, teremos apenas um IP para esse servidor. Nesse caso, podemos configurá-lo e chamá-lo mesmo sem um domínio. Podemos inserir a direção de qualquer uma das formas, seja por texto ou IP. Além da direção principal, também podemos solicitar recursos específicos. Ao acessar alura.com.br, chegamos à página principal da Alura, que é a entrada principal. No entanto, ao acessar cursos.alura.com.br/curso/Node.js-servico, estamos obtendo a página de um curso específico. Assim, mesmo com um servidor, há muitos recursos e documentos dentro dele, e podemos recuperar especificamente os documentos desejados. Nesse caso, essa URL é a de um curso específico, para a página principal de um curso específico dentro da Alura, enquanto alura.com.br é a página principal da plataforma como um todo.

Navegando e interagindo com servidores através do navegador

Como mencionado, o navegador navega e chama as páginas conforme necessário. Ao clicarmos na interface, ele chama o servidor solicitando o conteúdo de uma nova página. É assim que essa arquitetura funciona. Dentro do navegador, a interface gráfica e os botões em nossa página têm a função de fazer as requisições ao servidor quando necessário. Ao clicar em um botão, às vezes não é necessário chamar o servidor, mas ao navegar para outra página, essa função é executada. No nosso caso, o N8n realizará esse tipo de chamada, e para isso, precisaremos configurá-lo. Precisamos entrar em mais detalhes sobre como isso funciona.

Sobre o curso Automação de processos com n8n: integração de APIs REST

O curso Automação de processos com n8n: integração de APIs REST possui 89 minutos de vídeos, em um total de 36 atividades. Gostou? Conheça nossos outros cursos de Automação e Produtividade em Programação, ou leia nossos artigos de Programação.

Matricule-se e comece a estudar com a gente hoje! Conheça outros tópicos abordados durante o curso:

Aprenda Automação e Produtividade acessando integralmente esse e outros cursos, comece hoje!

Conheça os Planos para Empresas