Bir web kancası ve bir API arasındaki fark nedir?


15

Bir API için istekte bulunan programcılar daha sonra bir yanıt alır. Örneğin, bir e-posta göndermek için Web API'sini kullanarak e-posta içeriğini istekle birlikte iletirsiniz. Her şey yolunda giderse, başarılı olduğunu bildiren bir yanıt alırsınız.

Bir web kancasını kullanmak için , hizmeti sağlayan şirkete bir URL kaydedersiniz. Bu URL, uygulamanızda verileri kabul edecek ve onunla bir şeyler yapacak bir yerdir. Bazı durumlarda, sağlayıcıya veri almak istediğiniz durumları söyleyebilirsiniz. Ne zaman yeni bir şey olursa, webhook onu URL'nize gönderecektir.

Yani, temelde aynı şeyi yapıyorlar.

Sorum şu: webhook ve api arasındaki fark nedir?

WEBHOOK ____ ____ ve API ______ terimleriyle değil.

Ne olduklarını biliyorum. Önemli farklılıklar ve ne zaman ve ne zaman kullanılacağı ile ilgileniyorum.

Yanıtlar:


15

Aralarındaki ilk ve ana fark, çoğu API'de bir yanıtın ardından bir istek olmasıdır. Bir web kancası için istek gerekmez, sadece mevcut olduğunda verileri gönderir.

Basit görünüm:

API, example.com'daki verilerinize bir arayüzdür. API, sunucunuzdan example.com platformuna kullanılır ve öğeleri Listelemek, Oluşturmak, Düzenlemek veya Silmek için kullanılabilir.

Webhooks, example.com'da belirli bir olay gerçekleştiğinde example.com'dan sunucunuza yapılan otomatik çağrılardır. Örneğin, bir görev tamamlandığında ve bunu gerçek zamanlı olarak bilmek istediğinizde, örnek hesabınızda EVENT.COMPLETED webhook için kaydettiğiniz URL'ye bir POST isteği göndeririz.

Özetle: API, example.com şeylerini ve Webhooks, example.com'un size şeyleri anlattığı yerdir.

Daha derinlemesine bakmak:

SaaS bir kavramdır - bulutta ve istemcide bulunan Yazılım fikri genellikle bir tarayıcıdır. Bir SaaS uygulaması, bir kullanıcıya sağlayabileceği işlevlerle tanımlanır (örneğin, Salesforce müşteri bilgilerini depolamak için kullanılabilecek bir veritabanı sağlar) mevcut işlevler uygulamanın amacına göre belirlenir (ör: CRM, Email Blaster, CMS , vb.).

API, SaaS uygulamalarının ortak bir iletişim yöntemi (ReST, SOAP, JSON, vb.) İle diğer uygulamalara bağlanmasının bir yoludur. Bir API doğrudan başka bir API ile konuşamaz. Bir API, iki API arasında bir köprü görevi gören ve yürütme iş parçacığını çalıştıran kodlanmış bir uygulama veya ara katman yazılımı tarafından kullanılabilir. Örneğin, hem NetSuite hem de Salesforce'un bir SOAP API'sı var, ancak iletişim kurabilmeleri için - her iki sistemle etkileşime girebilecek ve Salesforce API'sı aracılığıyla yeni kişi kayıtları alacak ve yeni kayıtları NetSuite'a iletecek şekilde yapılandırılabilen ara katman yazılımı kullanmak istersiniz. her saat API.

Webhooks, SaaS uygulamaları için uygulamalar arasında iletişime izin veren bir başka iletişim protokolüdür, ancak sadece yürütme iş parçacığını kontrol etmek için HTTP POSTS'u kullanır. Webhooks, bir uygulamanın ara katman yazılımı kullanmadan doğrudan birbirleriyle konuşmasına izin verir. Örneğin - WuFoo'ya bir form gönderdiğinizde, başka bir hizmete HTTP POST webhooks başlatmak ve form gönderiminden bazı alan değerlerini aktarmak için ayarlanabilir. Webhooks bir API ile birlikte de kullanılabilir - örneğin webhook diğer uygulamaya X kimliğini kaydetmek için bir şey olduğunu bildirdikten sonra, bu uygulama yeni alan değerlerini kontrol etmek veya bir durumunu değiştirmek için hizmetle iletişim kurmak için bir API kullanabilir rekor.

SaaS uygulamasına sahip olmadan bir API veya webhooks'a sahip olmak zordur. Ancak, web kancaları veya (genel) API kullanmayan bir SaaS uygulamanız kolayca olabilir. Benzer şekilde, SaaS uygulamanızın işlevlerine bağlı olarak, web kancalarını VEYA bir API kullanmayı seçebilirsiniz.


Teşekkürler! Cevabınızı (ve tabii ki soruyu!) Desteklemek için bu topluluğa katıldım.
Kaushal28

11

Webhook , belirli ölçütler eşleştiğinde kendi başına bir şeyler yaparken, API istediğinizde bir şeyler yapıyor .

Kısacası, API bize bir şeyler söylediğiniz yerdir ve Webhooks da size bir şeyler söyleyeceğimiz yerdir.

http://apidocs.teamwork.com/article/466-whats-the-difference-between-the-api-and-webhooks aracılığıyla

Ne zaman yeni bir şey olursa, webhook onu URL'nize gönderecektir.

https://sendgrid.com/blog/webhook-vs-api-whats-difference/ aracılığıyla


5

Bunu somut bir örnekle göstereceğim: Kredi kartı ödemeleri.

Siteniz kredi kartı almak istediğinde, kredi kartı işlemcinizde bir API'yı ararsınız. Daha sonra kredi kartı işlemcisi, kredi kartını bu API çağrısına bir başarı veya başarısızlık durumu döndürür.

Kredi kartı işlemcisinin daha sonra bu işlemle ilgili sitenizi güncellemesinin bir yolu olabilir. Örneğin, işlem gelecek hafta geri alınabilir. Kredi kartı işlemciniz size bununla ilgili bir e-posta gönderebilir. Bununla başa çıkmanın bir başka yolu webhooks'tur . Kredi kartı işlemcinize sitenizde size isabet edebilecekleri ve size veri gönderebilecekleri bir URL söylersiniz. İşlem tersine çevrildiğinde, web kancalarını destekleyen bir kredi kartı işlemcisi, sağladığınız URL'den sitenizle iletişim kurar ve size ayrıştırıp web uygulamanızın otomatik olarak ilgilenmesini sağlayabileceğiniz, makine tarafından okunabilir biçimde veriler gönderir.

Web kanca, bir API için geri arama mekanizmasıdır. Temelde , aradığınız bir API ile birlikte eşzamansız geri aramalar için bir API uygularsınız .


"Temel olarak eşzamansız geri aramalar için bir API uyguluyorsunuz ..." - "webhook" olmamalı mı?
MrWhite

1
Bir webhook'un uyguladığınız bir API olduğunu söylemeye çalışıyorum. Bir API çağırıyorsunuz. Bir web kancası, sizi aramaları için uyguladığınız bir API'dir.
Stephen Ostermiller

2

Layman'ın teriminde webhook ve API arasındaki farka bir örnek:

Çevrimiçi bir şey sipariş ettiğinizi ve teslimatın bugün olacağını söylüyorsunuz, ancak iş başındasınız, bu yüzden hizmetçinize geldikten sonra paketi almasını söylediniz. Amaç, paket zaten gelmişse bilgilendirilmeniz gerekir. Şunun içinde olur:

Webhook

  • Paket geldiğinde, hizmetçiniz paketin zaten geldiğini bildirmek için sizi hemen arayacaktır.

API

  • Paketlenmiş zaten geldi ama hala bilmiyorsun. Daha sonra zaten gelip gelmediğini sormak için hizmetçinizi aradınız, sonra evet diyor.

Fark, API'da yaptığınız çağrı gibi verileri almak için bir tetikleyiciye ihtiyacınız olurken, webhook yeni bir veri tetikleyiciye gerek kalmadan size otomatik olarak bildirim gönderir .


0

bir Api , zaten mevcut bir platformdan herhangi bir geliştirme platformundaki belirli özelliklere veya verilere erişmek için kullanılan küçük bir uygulamadır, örneğin: web sitenizde google coğrafi konum hizmetini (zaten mevcut platform) kullanmak istiyorsunuz ( platform), tüm sistemi yeniden oluşturmak ve kendi uydunuzu kurmak yerine, google'dan bu özelliğe erişmek için küçük bir Api kullanırsınız.

İken Web kanca basitçe bir dönüş ya da tepki ve kullanmakta istenen veri web sitenize veya platforma geri düşmeyi URL olan Api gönderilen ve size aradıkları bilgiye orada toplamak edilmiş olan.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.