Os programadores que fizerem uma solicitação para uma API receberão uma resposta. Por exemplo, usando a API da Web para enviar um email, você passaria o conteúdo do email com a solicitação. Se tudo der certo, você receberá uma resposta declarando êxito.
Para usar um webhook , você registra um URL na empresa que fornece o serviço. Esse URL é um local no seu aplicativo que aceita os dados e faz algo com eles. Em alguns casos, você pode informar ao provedor as situações em que deseja receber dados. Sempre que houver algo novo, o webhook o enviará para o seu URL.
Então, eles estão basicamente fazendo a mesma coisa.
Minha pergunta é a seguinte: Qual é a diferença entre webhook e api?
Não nos termos WEBHOOK IS ____ e API IS ______.
Eu sei o que eles são. Estou interessado nas principais diferenças e quando usar uma e quando usar outra.
A API está fazendo coisas quando você solicita, enquanto o Webhook faz coisas por conta própria quando determinados critérios correspondem.
via http://apidocs.teamwork.com/article/466-whats-the-difference-between-the-api-and-webhooks
via https://sendgrid.com/blog/webhook-vs-api-whats-difference/
fonte
Ilustrarei isso com um exemplo concreto: pagamentos com cartão de crédito.
Quando seu site deseja cobrar um cartão de crédito, você chama uma API no seu processador de cartão de crédito. O processador do cartão de crédito cobra o retorno do cartão de crédito com status de êxito ou falha para a chamada da API.
O processador do cartão de crédito pode precisar de alguma maneira de atualizar seu site sobre essa transação posteriormente. Por exemplo, a transação pode ser revertida na próxima semana. O processador do seu cartão de crédito pode enviar um e-mail sobre isso. Outra maneira de lidar com isso é webhooks . Você informa ao processador do cartão de crédito um URL no site que ele pode acessar e enviar dados. Quando a transação é revertida, um processador de cartão de crédito que suporta ganchos da Web entrará em contato com o site na URL que você fornecer e enviará dados em formato legível por máquina que você pode analisar e fazer com que seu aplicativo da Web lide automaticamente.
Um webhook é um mecanismo de retorno de chamada para uma API. Você basicamente implementa uma API para retornos de chamada assíncronos em conjunto com uma API que está chamando.
fonte
Aqui está um exemplo da diferença entre webhook e API no termo leigo:
Digamos que você tenha pedido algo on-line e a entrega seja hoje, mas você está no trabalho e disse à sua empregada que pegasse o pacote assim que ele chegasse. O objetivo é que você deve ser notificado se o pacote já chegou. É o que acontece em:
Webhook
API
A diferença está na API: você precisa de um gatilho para buscar dados como a chamada que você fez, enquanto o webhook o notifica automaticamente assim que um novo dado chega sem a necessidade de um gatilho.
fonte
Uma API é simplesmente um pequeno aplicativo usado para obter acesso a determinados recursos ou dados em qualquer plataforma de desenvolvimento a partir de uma plataforma já existente, por exemplo: você deseja usar o serviço de localização geográfica do Google (plataforma já existente) em seu site (desenvolvendo plataforma), em vez de reconstruir todo o sistema e começar a configurar seu próprio satélite, você usa uma pequena API para acessar esse recurso do google.
Embora o gancho da Web seja simplesmente um URL de retorno ou de retorno ao seu site ou plataforma, para onde a resposta e os dados solicitados usando a API são enviados e coletamos as informações que você procura.
fonte