DEV Community

Cover image for Webhook vs APIs
Suspir0n
Suspir0n

Posted on

3 1

Webhook vs APIs

Quer saber o que é um webhook e como funciona?

Imagine a facilidade e a praticidade que você terá usando o webhook, neste artigo iremos descrever o que webhook, como funciona e de bônus deixaremos um exemplo simples e prático usando python mas também pode ser utilizado em outras linguagens, deixarei referencias em outras linguagens para poder ajudar no seu estudo.

O que é Webhook?

De acordo com o blog do Vindi "Webhook é uma forma de recebimento de informações, passadas quando um evento acontece. Dessa forma, o webhook, na prática, é a forma de receber informações entre dois sistemas de uma forma passiva. Além disso, o webhook (também conhecido como retorno de chamada web ou HTTP e, ainda, impulso API) é uma maneira prática para um app ou sistema fornecer outras aplicações com informações em tempo real. Da mesma forma, ele fornece dados para outros aplicativos, e são muito eficientes tanto para o prestador de serviço, como para o consumidor."

Simplificando, webhooks são eventos que acionam uma ação.

webhook em ação

Como funciona Webhook?

Então, supondo que você esteja criando um bot para o telegram, e você acaba criando uma API para isso, nesta API você tem uma rota que executa uma determinada ação do bot, com isso você precisa fazer o set Webhook na API do telegram para que quando for requisitado aquele Webhook, ele ira acionar a ação daquele determinado evento.

webhook vs API

Observando está imagem acima, você percebe que Webhook e APIs são duas comunicações totalmente diferente, enquanto a API ele pega os dados de um servidor, o Webhook puxa os seus dados. APIs estão em constante votação para obter as assinaturas.

Diferença de votação

Webhook, na prática

Neste exemplo prático iremos utilizar:

Vamos começar criando um servidor para receber o webhook.

Servidor em Flask

Neste código, você observa que criamos apenas uma rota chamada '/webhook' do método do tipo 'POST', logo a nossa rota irá permitir requisição com este método. Com isso basta você executar dois comandos, o primeiro para escrever seu server como uma variável de ambiente e o outro para executar o server.

No windows:

  • set FLASK_APP='nomedoseuarquivo'.py
  • flask run

No Linux:

  • export FLASK_APP='nomedoseuarquivo'.py
  • flask run

Após você ter criado um server, vamos agora criar um arquivo onde você irar enviar o seu webhook, o código ficaria desta forma.

Send Webhooks

Neste código, fizemos um exemplo de requisição, fazendo o envio do nosso webhook, finalizando nosso exemplo nesta etapa.

Repare que neste exemplo, usamos localhost, caso você deseje aplicar esses conhecimentos utilizando a API do telegram, por exemplo, você pode usar o ngrok, pois o telegram não aceita localhost, então você pode utilizar o ngrok para isso, sendo que ele serve apenas para testar sua aplicação, não para ir em produção. Decorrerei sobre o ngrok em outro artigo, deixarei o link logo abaixo.

Este foi o diário de bordo #06 vamos nos despedindo por aqui. Voltaremos com mais um diário de bordo.

Este artigo foi útil para você?
Deixe um comentário abaixo.

Hostinger image

Get n8n VPS hosting 3x cheaper than a cloud solution

Get fast, easy, secure n8n VPS hosting from $4.99/mo at Hostinger. Automate any workflow using a pre-installed n8n application and no-code customization.

Start now

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay