API x Webhook
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ística | API | Webhook |
|---|---|---|
| **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 chamar | O 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 API | Receber 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. |