वेबहूक और एपीआई के बीच अंतर क्या है?


15

प्रोग्रामर जो एक एपीआई के लिए अनुरोध करते हैं, उन्हें फिर एक प्रतिक्रिया मिलेगी। उदाहरण के लिए, ईमेल भेजने के लिए वेब एपीआई का उपयोग करते हुए, आप अनुरोध के साथ ईमेल सामग्री पास करेंगे। यदि सब ठीक हो जाता है, तो आपको सफलता की घोषणा करते हुए प्रतिक्रिया मिलेगी।

Webhook का उपयोग करने के लिए , आप कंपनी को सेवा प्रदान करने वाले URL को पंजीकृत करते हैं। वह URL आपके एप्लिकेशन के भीतर एक स्थान है जो डेटा को स्वीकार करेगा और इसके साथ कुछ करेगा। कुछ मामलों में, आप प्रदाता को उन स्थितियों को बता सकते हैं, जब आप डेटा प्राप्त करना चाहते हैं। जब भी कुछ नया होगा, वेबहुक आपके URL पर भेजेगा।

तो, वे मूल रूप से एक ही काम कर रहे हैं।

मेरा प्रश्न यह है: वेबहुक और एपि में क्या अंतर है?

शब्दों में नहीं WEBHOOK IS ____ और API IS ______ है।

मुझे पता है कि वे क्या हैं। मुझे महत्वपूर्ण अंतरों में दिलचस्पी है और कब एक का उपयोग करना है, और दूसरे का उपयोग कब करना है।

जवाबों:


15

उनके बीच पहला और मुख्य अंतर यह है कि अधिकांश एपीआई के साथ एक प्रतिक्रिया के बाद एक अनुरोध है। एक webhook के लिए कोई अनुरोध की आवश्यकता नहीं है, यह उपलब्ध होने पर केवल डेटा भेजता है।

सरल दृश्य:

API example.com पर आपके डेटा का एक इंटरफ़ेस है। API का उपयोग आपके सर्वर से example.com प्लेटफ़ॉर्म पर किया जाता है और इसका उपयोग आइटमों की सूची, निर्माण, संपादन या हटाने के लिए किया जा सकता है।

जब एक विशिष्ट घटना example.com में होती है, तो Webhooks आपके सर्वर से example.com से स्वचालित कॉल करता है। उदाहरण के लिए, जब कोई कार्य पूरा हो जाता है और आप वास्तविक समय में उसके बारे में जानना चाहते हैं, तो हम आपके उदाहरण खाते में EVENT.COMPLETED वेबहूक के लिए पंजीकृत URL के लिए एक पोस्ट अनुरोध करेंगे।

तो, संक्षेप में: एपीआई वह जगह है जहां आप example.com चीजें बताते हैं और Webhooks वह जगह है जहाँ example.com आपको चीजें बताता है।

अधिक गहराई में देख रहे हैं:

सास एक अवधारणा है - सॉफ्टवेयर का विचार जो क्लाउड में मौजूद है और क्लाइंट आमतौर पर एक ब्राउज़र है। सास एप्लिकेशन को उन फ़ंक्शन द्वारा परिभाषित किया जाता है जो इसे एक उपयोगकर्ता को प्रदान कर सकता है (उदाहरण के लिए Salesforce एक डेटाबेस प्रदान करता है जिसका उपयोग ग्राहक जानकारी को संग्रहीत करने के लिए किया जा सकता है) उपलब्ध फ़ंक्शन एप्लिकेशन के उद्देश्य से निर्धारित होते हैं (जैसे: सीआरएम, ईमेल ब्लास्टर, सीएमएस , आदि।)।

एक एपीआई सास अनुप्रयोगों के लिए एक आम संचार विधि (ReST, SOAP, JSON, आदि) के माध्यम से अन्य अनुप्रयोगों के साथ जुड़ने का एक तरीका है। एक API दूसरे API से सीधे बात नहीं कर सकता है। एक एपीआई का उपयोग कोडित एप्लिकेशन या मिडलवेयर द्वारा किया जा सकता है जो दो एपीआई के बीच पुल का काम करता है और निष्पादन के धागे को चलाता है। उदाहरण के लिए - NetSuite और Salesforce दोनों के पास SOAP API है, लेकिन उनके लिए संवाद करने के लिए - आप मिडलवेयर सॉफ़्टवेयर का उपयोग करना चाहते हैं जो दोनों प्रणालियों के साथ बातचीत कर सकता है और Salesforce के API के माध्यम से नए संपर्क रिकॉर्ड्स को कॉन्फ़िगर करने और NetSite के माध्यम से नए रिकॉर्ड पुश करने के लिए कॉन्फ़िगर किया जा सकता है यह हर घंटे एपीआई है।

Webhooks SaaS अनुप्रयोगों के लिए एक और संचार प्रोटोकॉल है जो अनुप्रयोगों के बीच संचार की अनुमति देता है, लेकिन निष्पादन के धागे को नियंत्रित करने के लिए केवल HTTP POSTS का उपयोग करता है। Webhooks किसी एप्लिकेशन को मिडलवेयर का उपयोग किए बिना सीधे एक दूसरे से बात करने की अनुमति देता है। उदाहरण के लिए - जब आप वूफ़ू को एक फॉर्म सबमिट करते हैं, तो इसे वेबहूक HTTP POST को किसी अन्य सेवा में आरंभ करने और फ़ॉर्म सबमिट करने से कुछ फ़ील्ड मानों को पार करने के लिए सेट किया जा सकता है। Webhooks का उपयोग API के साथ संयोजन के रूप में भी किया जा सकता है - उदाहरण के लिए, webhook के बाद id x को रिकॉर्ड करने के लिए कुछ अन्य एप्लिकेशन को सूचित करने पर, वह एप्लिकेशन नए फ़ील्ड मानों की जाँच करने या स्थिति को संशोधित करने के लिए सेवा के साथ संचार करने के लिए API का उपयोग कर सकता है एक रिकॉर्ड।

सास एप्लिकेशन के बिना एपीआई या वेबहुक होना मुश्किल है। हालाँकि, आपके पास आसानी से एक SaaS एप्लिकेशन हो सकता है जो webhooks या a (public) API का उपयोग नहीं करता है। इसी तरह, आपके सास आवेदन के कार्यों के आधार पर, आप webhooks या API का उपयोग करना चुन सकते हैं।


धन्यवाद! मैं आपके जवाब (और निश्चित रूप से सवाल!) को बढ़ाने के लिए इस समुदाय में शामिल हुआ।
कौशल्या

11

जब आप इसे पूछते हैं, तो API सामान कर रहा होता है, जबकि Webhook कुछ मानदंडों के मिलान के समय स्वयं पर सामान करता है।

तो, संक्षेप में: एपीआई वह जगह है जहां आप हमें चीजें बताते हैं और वेबहुक वह है जहां हम आपको चीजें बताते हैं।

http://apidocs.teamwork.com/article/466-whats-the-difference-between-the-api-and-webhooks के माध्यम से

जब भी कुछ नया होगा, वेबहुक आपके URL पर भेजेगा।

https://sendgrid.com/blog/webhook-vs-api-whats-difference/ के माध्यम से


5

मैं इसे एक ठोस उदाहरण के साथ समझाऊंगा: क्रेडिट कार्ड भुगतान।

जब आपकी साइट क्रेडिट कार्ड से शुल्क लेना चाहती है, तो आप अपने क्रेडिट कार्ड प्रोसेसर पर एक एपीआई कहते हैं । क्रेडिट कार्ड प्रोसेसर तब क्रेडिट कार्ड को उस एपीआई कॉल की सफलता या विफलता की स्थिति देता है।

क्रेडिट कार्ड प्रोसेसर को बाद में इस लेनदेन के बारे में अपनी साइट को अपडेट करने के कुछ तरीके की आवश्यकता हो सकती है। उदाहरण के लिए, लेन-देन अगले सप्ताह उलटा हो सकता है। आपका क्रेडिट कार्ड प्रोसेसर आपको इस बारे में ईमेल भेज सकता है। इससे निपटने का एक और तरीका है वेबहूक । आप अपने क्रेडिट कार्ड प्रोसेसर को अपनी साइट पर एक URL बताते हैं जो वे आपको डेटा हिट और भेज सकते हैं। जब लेन-देन उलट जाता है, तो वेब हुक का समर्थन करने वाला एक क्रेडिट कार्ड प्रोसेसर आपकी साइट पर आपके द्वारा प्रदान किए गए URL पर संपर्क करेगा और आपको मशीन पठनीय प्रारूप में डेटा भेजेगा जिसे आप पार्स कर सकते हैं और अपने वेब एप्लिकेशन को स्वचालित रूप से डील कर सकते हैं।

एक webhook एक एपीआई के लिए एक कॉलबैक तंत्र है। आप मूल रूप से एक एपीआई के साथ संयोजन में अतुल्यकालिक कॉलबैक के लिए एक एपीआई को लागू करते हैं जिसे आप कॉल कर रहे हैं।


"आप मूल रूप से अतुल्यकालिक कॉलबैक के लिए एक एपीआई लागू करते हैं ..." - कि "webhook" नहीं होना चाहिए?
Mrhhite

1
मैं यह कहने की कोशिश कर रहा हूं कि webhook एक एपीआई है जिसे आप लागू करते हैं। आप एक एपीआई कहते हैं। एक webhook एक एपीआई है जिसे आप लागू करते हैं ताकि वे आपको कॉल करें।
स्टीफन Ostermiller

2

यहाँ आम आदमी के कार्यकाल में वेबहूक और एपीआई के बीच अंतर का एक उदाहरण दिया गया है:

मान लें कि आपने ऑनलाइन कुछ ऑर्डर किया है और डिलीवरी आज होगी, लेकिन आप काम पर हैं इसलिए आपने अपनी नौकरानी को पैकेज मिलते ही कहा था। लक्ष्य है, यदि पैकेज पहले ही आ गया है तो आपको सूचित किया जाएगा। ऐसा ही होता है:

Webhook

  • एक बार पैकेज आ जाने के बाद, आपकी नौकरानी तुरंत आपको सूचित करने के लिए कॉल करेगी कि पैकेज पहले ही आ चुका है।

एपीआई

  • पैक किया हुआ पहले से ही आ गया, लेकिन आपको अभी भी पता नहीं है। आपने तब पूछा कि आप नौकरानी हैं, अगर यह पहले ही आ जाए, तो वह कहती है कि हां।

अंतर एपीआई में है कि आपको अपने द्वारा किए गए कॉल की तरह डेटा प्राप्त करने के लिए एक ट्रिगर की आवश्यकता है, जबकि एक नया डेटा ट्रिगर की आवश्यकता के बिना आने पर webhook स्वचालित रूप से आपको सूचित करता है।


0

एक एपीआई बस एक छोटा सा अनुप्रयोग है, जिसका उपयोग पहले से मौजूद प्लेटफॉर्म से किसी भी विकास मंच में कुछ सुविधाओं या डेटा तक पहुंच प्राप्त करने के लिए किया जाता है, उदाहरण के लिए: आप अपनी वेबसाइट पर Google जियो-लोकेशन सेवा (पहले से मौजूद प्लेटफार्म) का उपयोग करना चाहते हैं (विकासशील) मंच), पूरे सिस्टम के पुनर्निर्माण के बजाय और अपने स्वयं के उपग्रह को सेटअप करने के लिए, आप उस सुविधा को Google से एक्सेस करने के लिए एक छोटे एपि का उपयोग करते हैं।

जबकि वेब हुक आपकी वेबसाइट या प्लेटफॉर्म पर केवल एक रिटर्न या फॉल-बैक यूआरएल है, जहां आपी का उपयोग करने के लिए आपके द्वारा अनुरोधित प्रतिक्रिया और डेटा भेजा जाता है और वहां आप जो जानकारी चाहते हैं उसे एकत्र करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.