Developers

API x Webhook: qual a diferença e em quais casos usar?

18/10/2023
3min

Neste post, mostraremos a diferença entre um webhook e uma API e como os conceitos e as tecnologias estão relacionados.

Se você é um profissional não técnico, um estudante ou apenas uma mente curiosa que percebeu que tanto webhooks quanto APIs são elementos-chave na jornada de automação, você encontrará neste artigo um recurso claro para entendê-los.  

Então, vamos começar com o primeiro esclarecimento importante sobre webhooks e APIs: estes não são conceitos concorrentes ou opostos, mas sim complementares.

Não são “webhooks de equipe” versus “APIs de equipe”. Não há rivalidade e, na maioria dos casos, não há necessidade de escolher entre um ou outro.

Em segundo lugar, vamos abordar a diferença mais importante entre webhooks e APIs, que está em seu princípio central de funcionamento.

As APIs operam pesquisando dados, o que significa que elas verificam novos dados e os recuperam quando encontram algo.

Por outro lado, os webhooks são baseados em eventos. Isso significa que sempre que um evento ocorre, o webhook é acionado e envia dados em tempo real para o URL predefinido do webhook (e geralmente para outro aplicativo depois disso).

Em outras palavras, os webhooks enviam dados de um aplicativo, enquanto as APIs extraem dados de um aplicativo.

Mas não vamos nos precipitar e começar este artigo aprendendo a definição de webhooks e APIs.

O que é um webhook?  

Um webhook é uma forma de um aplicativo fornecer a outro aplicativo informações em tempo real sobre um evento online.

Você pode pensar em um webhook como uma pequena ratoeira para eventos online. Quando uma ratoeira detecta pressão, ela é acionada.

De maneira semelhante, quando um webhook capta um evento online, ele é acionado e envia as informações sobre esse evento para outro aplicativo.

A definição técnica de webhooks é um pouco mais abstrata, mas ainda relevante: webhooks são retornos de chamada HTTP definidos pelo usuário que enviam dados ou informações sobre um evento para uma URL configurada para o webhook.

A carga útil de um webhook são dados de eventos arbitrários (por exemplo, respostas a um formulário da web), que são enviados para uma URL configurada para recebê-los.

O que é um exemplo de webhook?

Vamos imaginar que você construiu um formulário com Typeform para obter respostas para um projeto.

Você espera muitas respostas, mas não quer gastar muito tempo coletando e organizando-as, e é aqui que os webhooks entram em ação.

Como assim? Simples: o webhook que você configurou “escuta” as respostas enviadas ao seu formulário e envia esses dados para o URL dedicado do webhook (e, se desejar, para outro aplicativo depois disso, como uma planilha).

Podemos concluir que Webhook é um mecanismo que permite que uma aplicação envie uma notificação para outra aplicação quando algum evento específico ocorre. Diferentemente de uma API, onde é necessário que o usuário faça uma requisição para obter os dados, um Webhook envia os dados automaticamente sem que seja necessária uma solicitação. Ou seja, é um recurso que atua de forma mais independente.

Por exemplo, imagine que você tem um aplicativo de gerenciamento de tarefas e deseja receber uma notificação sempre que uma tarefa é concluída. Em vez de sua aplicação verificar constantemente o estado das tarefas, você pode configurar um Webhook para que a outra aplicação envie uma notificação sempre que uma tarefa é concluída. Assim, sua aplicação só será notificada quando houver uma atualização real, economizando recursos e tempo.

A Integração através de Webhooks é um tipo de comunicação entre sistemas que ocorre baseado em eventos. Ela é muito importante, pois o seu disparo de informações é automático e em tempo real.

No Mambo WiFi, o envio das informações são baseados em três eventos: novo cadastro de visitante, nova conexão e desconexão, e funciona como um gatilho que dispara essas informações para o sistema que recebe esses dados. O recurso permite popular os dados de Business Inteligence, com plataformas de comunicação (SMS, E-mail, Whatsapp) ou integração com ERPs e CRMs.

Todos os aplicativos oferecem suporte a webhooks?

Não, nem todos os aplicativos oferecem suporte a webhooks. Na verdade, alguns aplicativos oferecem uma API pública, mas ao mesmo tempo não oferecem suporte a webhooks.

Agora que cobrimos o básico sobre webhooks, vamos passar para as APIs.


O que é uma API?

API significa interface de programação de aplicativos.

Em termos simples, APIs são infraestruturas digitais que permitem que diferentes aplicações troquem dados. Você pode considerá-los como gateways que conectam aplicativos de software.

Do ponto de vista técnico, uma API é um conjunto de funções de software para criar conexões entre aplicativos, para que estes possam trocar dados e informações.

Além disso, as APIs permitem que os desenvolvedores forneçam ao público acesso a determinados recursos de seus aplicativos. Isso cria a oportunidade de integrar diferentes aplicativos e automatizar fluxos de trabalho.  

O que é um exemplo de API?

A maneira mais simples de entender o que é uma API é pensar em um aplicativo da web popular - como o Shopify.

Embora o Shopify seja uma plataforma repleta de recursos, ainda existem muitos recursos que ele não oferece para cobrir todos os requisitos de administração de um negócio de comércio eletrônico.

Aspectos como comunicação da equipe, atendimento de pedidos e contabilidade (só para citar alguns exemplos) são frequentemente tratados por aplicativos de terceiros dedicados a fornecer esses serviços.

Portanto, os desenvolvedores do Shopify tiveram que criar uma maneira de permitir que os lojistas conectassem facilmente suas lojas com aplicativos de terceiros e trocassem dados entre eles.

Eles fizeram isso criando a API Shopify.

A API do Shopify é simplesmente uma coleção de endereços da web (também conhecidos como endpoints de API) para os quais solicitações HTTP podem ser feitas, a fim de recuperar dados ou uma ação a ser realizada dentro da loja.

Agora que cobrimos os fundamentos da API, vamos responder à questão central desta postagem, sobre as diferenças entre APIs e webhooks.

Todos os aplicativos possuem APIs?

Hoje em dia, a grande maioria dos aplicativos oferece uma API, mas ainda existem vários aplicativos sem APIs oficiais disponíveis.

Qual é a diferença entre webhooks e APIs?

Como mencionamos na seção de abertura, os webhooks enviam dados de um aplicativo, enquanto as APIs extraem dados de um aplicativo.

Por exemplo, se você deseja coletar automaticamente as respostas do formulário, pode fazê-lo via API ou via webhook.

Caso você siga o caminho da API, a API de formulários “verificará” as respostas em determinados intervalos de tempo (digamos, a cada 5 minutos). Se alguém enviar respostas durante o intervalo, a API irá recuperá-las e verificar novamente se há novas respostas em 5 minutos.

Caso você utilize um webhook, não haverá “verificações agendadas”. O webhook simplesmente pegará as novas respostas do formulário no momento em que forem enviadas e as enviará para o URL do webhook correspondente.

O que é melhor, um webhook ou uma API?

Como costuma acontecer com a tecnologia, a resposta é “depende”.

Supondo que as duas opções estejam disponíveis, a decisão de usar um webhook ou uma API para receber ou obter dados de um aplicativo geralmente depende de três fatores:

  • Tempo
  • Consumo de dados
  • Tipo de dados que você deseja obter ou receber

Em termos de tempo, os webhooks enviam eventos (e dados) para você no momento em que estão disponíveis, e isso pode ser um fator determinante em vários casos.

Por exemplo, algumas empresas valorizam fornecer respostas aos seus clientes o mais rápido possível . Nesse caso, os webhooks são a melhor opção, pois podem ser usados ​​para disparar respostas predeterminadas poucos segundos após o envio de uma consulta do cliente.

Além disso, as APIs tendem a consumir mais recursos e estão sujeitas a certas restrições impostas pelas empresas que as oferecem.

O Twitter, por exemplo, limita o número de chamadas de API para procurar tweets em 900 por janela de 15 minutos . Portanto, se você estiver usando a API do Twitter para recuperar tweets, estará limitado a 900 solicitações de API a cada 15 minutos.

Terceiro, há o tipo de dados que você pode obter de webhooks e APIs. Na maioria das vezes, as APIs permitem acessar uma variedade maior de dados, já que os webhooks são um tanto limitados nesse aspecto.

Como você pode ver, não há escolha real aqui - você só precisa usar o que precisa, quando precisar, e mudar sempre que a situação exigir.

Mais conteúdo para o seu negócio digital

Conteúdos ricos e inéditos, com estratégias e tutoriais para você levar o seu negócio para o próximo nível

14 dias para reembolso total

Você pode cancelar a QUALQUER MOMENTO sem nenhum aborrecimento ou pegadinha
Assinar um plano agora
Pagamento via boleto, pix ou cartão de crédito
Cancele aqualquer momento