Pierwszą i główną różnicą między nimi jest to, że w przypadku większości interfejsów API pojawia się żądanie, po którym następuje odpowiedź. Haczyk internetowy nie wymaga żadnego żądania, po prostu wysyła dane, gdy są dostępne.
Interfejs API jest interfejsem do twoich danych w example.com. Interfejs API jest używany z Twojego serwera na platformie przyklad.com i może być używany do wyświetlania, tworzenia, edytowania lub usuwania elementów.
Haki internetowe to zautomatyzowane połączenia z example.com na Twój serwer, uruchamiane, gdy określone zdarzenie nastąpi w example.com. Na przykład, gdy zadanie zostanie zakończone i chcesz o nim wiedzieć w czasie rzeczywistym, prześlemy żądanie POST na adres URL zarejestrowany dla haka EVENT.COMPLETED na Twoim przykładowym koncie.
W skrócie: API to miejsce, w którym opowiadasz przykładom.com, a Webhooks to miejsce, w którym przykład.com mówi ci rzeczy.
SaaS to koncepcja - idea oprogramowania, które istnieje w chmurze, a klient jest ogólnie przeglądarką. Aplikacja SaaS jest zdefiniowana przez funkcje, które może zapewnić użytkownikowi (na przykład Salesforce zapewnia bazę danych, która może służyć do przechowywania informacji o kliencie), dostępne funkcje są określone przez cel aplikacji (tj .: CRM, Email Blaster, CMS itp.).
Interfejs API to sposób na łączenie aplikacji SaaS z innymi aplikacjami za pomocą wspólnej metody komunikacji (ReST, SOAP, JSON itp.). Interfejs API nie może mówić bezpośrednio do innego interfejsu API. Interfejs API może być używany przez zakodowaną aplikację lub oprogramowanie pośrednie, które działa jako pomost między dwoma interfejsami API i uruchamia wątek wykonania. Na przykład - zarówno NetSuite, jak i Salesforce mają interfejs API SOAP, ale do komunikacji - chcesz użyć oprogramowania pośredniego, które może wchodzić w interakcje z oboma systemami i być skonfigurowane do pobierania nowych rekordów kontaktów za pośrednictwem interfejsu API Salesforce i przesyłania nowych rekordów do NetSuite za pośrednictwem to API co godzinę.
Webhooks to kolejny protokół komunikacyjny dla aplikacji SaaS, który pozwala na komunikację między aplikacjami, ale po prostu używa HTTP POSTS do kontrolowania wątku wykonania. Haki internetowe umożliwiają aplikacjom bezpośrednie komunikowanie się ze sobą, bez użycia oprogramowania pośredniego. Na przykład - po przesłaniu formularza do WuFoo można go skonfigurować w taki sposób, aby inicjował HTTP POST webhooks do innej usługi i przekazywał niektóre wartości pól z przesłanego formularza. Haczyków internetowych można również używać w połączeniu z interfejsem API - na przykład po powiadomieniu przez inną aplikację, że coś się stało, aby zarejestrować identyfikator X, ta aplikacja może użyć interfejsu API do komunikacji z usługą w celu sprawdzenia nowych wartości pól lub zmodyfikowania stanu nagranie.
Trudno mieć API lub webhooki bez aplikacji SaaS. Możesz jednak łatwo mieć aplikację SaaS, która nie korzysta z haków internetowych ani (publicznego) interfejsu API. Podobnie, w zależności od funkcji aplikacji SaaS, możesz zdecydować się na użycie haków internetowych LUB interfejsu API.
API robi rzeczy, kiedy o to poprosisz, podczas gdy Webhook robi rzeczy samodzielnie, gdy określone kryteria są zgodne.
przez http://apidocs.teamwork.com/article/466-whats-the-difference-between-the-api-and-webhooks
przez https://sendgrid.com/blog/webhook-vs-api-whats-difference/
źródło
Zilustruję to konkretnym przykładem: płatności kartą kredytową.
Gdy Twoja witryna chce obciążyć kartę kredytową, wywołujesz interfejs API w procesorze karty kredytowej. Następnie procesor karty kredytowej obciąża kartę kredytową zwrotem statusu powodzenia lub niepowodzenia tego połączenia API.
Procesor karty kredytowej może później potrzebować aktualizacji strony o tej transakcji. Na przykład transakcja może zostać odwrócona w przyszłym tygodniu. Twój procesor karty kredytowej może po prostu wysłać Ci wiadomość e-mail na ten temat. Innym sposobem radzenia sobie z tym są haki internetowe . Podajesz procesorowi karty kredytowej adres URL w swojej witrynie, aby mógł trafić i wysłać Ci dane. Gdy transakcja zostanie odwrócona, procesor karty kredytowej, który obsługuje przechwytywanie stron internetowych, skontaktuje się z Twoją witryną pod podanym adresem URL i wyśle dane w formacie odczytywalnym maszynowo, który można przeanalizować i automatycznie zająć się aplikacją internetową.
Webhook to mechanizm zwrotny dla interfejsu API. Zasadniczo implementujesz interfejs API dla asynchronicznych wywołań zwrotnych w połączeniu z wywoływanym interfejsem API.
źródło
Oto przykład różnicy między hakiem internetowym a interfejsem API w terminach laika:
Powiedzmy, że zamówiłeś coś przez Internet, a dostawa będzie dziś, ale jesteś w pracy, więc powiedziałeś swojej pokojówce, że dostanie paczkę, gdy tylko dotrze. Celem jest powiadomienie, jeśli paczka już dotarła. Tak dzieje się w:
Hak
API
Różnica polega na tym, że w interfejsie API potrzebujesz wyzwalacza, aby pobrać dane, takie jak wykonane połączenie, a webhook automatycznie powiadamia cię, gdy nowe dane dotrą bez potrzeby wyzwalania.
źródło
Api jest po prostu mała aplikacja, która służy do uzyskania dostępu do niektórych funkcji lub danych w dowolnej platformie rozwojowej z już istniejącej platformy, na przykład: chcesz użyć google usługi geolokalizacyjne (już istniejącej platformy) na swojej stronie internetowej (rozwój platforma), zamiast przebudowywać cały system i konfigurować własnego satelitę, używasz małego interfejsu API, aby uzyskać dostęp do tej funkcji z Google.
Podczas gdy hak internetowy jest po prostu zwrotnym lub rezerwowym adresem URL na twojej stronie internetowej lub platformie, na którą wysyłane są odpowiedzi i dane, o które prosiłeś za pomocą interfejsu API, i tam zbierasz poszukiwane informacje.
źródło