Pular para o conteúdo principal

Webhook x API

API e Webhook são frequentemente comparados, pois ambos são usados para comunicação entre sistemas, mas funcionam de maneiras diferentes.

API é utilizada para fazer uma requisição a outro sistema de forma ativa, enviando uma solicitação para um endpoint (URL) e recebendo uma resposta no momento da requisição.

Webhook é utilizado para notificar outro sistema automaticamente (via um endpoint/URL) quando um evento acontece, sem necessidade de uma requisição prévia.

API (Application Programming Interface)

🔑 É um conjunto de regras e definições que permite que um sistema se comunique com outro em um momento específico.

  • Funciona por meio de requisições e respostas (geralmente via HTTP).
  • O cliente (aplicação que deseja informações) precisa chamar a API para obter dados ou executar uma ação.
📌 Analogia

API é como um restaurante. Você (cliente) pede um prato (requisição) ao garçom e ele traz a comida (resposta).

Exemplos práticos de API
  • Um sistema externo chamar a nossa API para enviar uma mensagem de texto.
  • Um sistema externo consultar nossa API Status da Conexão para verificar o status dentro de nosso sistema.
  • Um sistema externo consultar nossa API de mensagens de um protocolo para fazer um resumo do atendimento.

Webhook

🔑 É um mecanismo de notificações automáticas enviadas de um sistema para outro quando um evento acontece.

  • Funciona via requisições HTTP POST para um endpoint previamente configurado.
  • Em vez de o cliente ficar chamando uma API para verificar se há novidades (polling), o webhook envia a informação assim que ela estiver disponível.
📌 Analogia

Webhook é como uma entrega de pizza. Você faz o pedido e apenas aguarda. Quando a pizza estiver pronta, o entregador vai até sua casa sem você precisar ficar ligando (polling) para perguntar.

Exemplos práticos de Webhook
  • Toda vez que um mensagem é enviada ou recebida, nosso Webhook dispara um aviso para uma URL externa definida no Menu Conexões.
  • O Asaas notificar nosso endpoint/url do webhook-trigger quando receber um pagamento, iniciando assim um fluxo do flowbuilder.
  • Uma plataforma de cursos notificar nosso endpoint/url do webhook-trigger quando o usuário completar uma aula ou módulo.

Principais Diferenças

CaracterísticaAPIWebhook
**Definição**É usada para **buscar ou enviar dados** de forma ativa para outro sistema.É usada para **receber dados automaticamente** quando um evento ocorre.
**Quem inicia?**O cliente precisa chamarO servidor envia automaticamente
**Como?**O sistema A faz uma requisição para o sistema B e aguarda a resposta.O sistema B **notifica automaticamente** o sistema A quando algo acontece.
**Quando?**Quando o sistema A solicita (ativa).Assim que um evento ocorre (passiva).
**Exemplo**Buscar preço do Bitcoin em uma APIReceber uma notificação quando o preço do Bitcoin mudar
**Analogia**Você liga para uma pizzaria e pede uma pizza.A pizzaria te liga quando a pizza sai para entrega.