एपीआई क्या है? सॉफ़्टवेयर इंटरफेस के लिए एक व्यावहारिक गाइड
स्क्रेपलेस स्क्रेपिंग एपीआई कार्य-विशिष्ट इंटरफेस प्रदान करता है जो अनुप्रयोग कार्यप्रवाहों के लिए संरचित सार्वजनिक वेब डेटा लौटाता है।
TL;DR
- एपीआई एक परिभाषित सॉफ़्टवेयर इंटरफेस है। यह नामित क्षमताओं और नियमों को प्रकट करता है ताकि एक घटक दूसरे का उपयोग कर सके बिना इसके आंतरिक कार्यान्वयन को जाने।
- कॉन्ट्रैक्ट परिवहन से अधिक महत्वपूर्ण है। एक एपीआई एक पुस्तकालय सतह, ऑपरेटिंग-सिस्टम कॉल, स्थानीय इंटरफेस, या दूरस्थ वेब सेवा हो सकती है।
- वेब एपीआई आमतौर पर अनुरोधों और प्रतिक्रियाओं का आदान-प्रदान करते हैं। अंत बिंदु, संचालन, पैरामीटर, प्रमाणीकरण, प्रस्तुतियाँ, त्रुटियाँ, और सीमाएँ उपयोगी कॉन्ट्रैक्ट का निर्माण करते हैं।
- REST, GraphQL, RPC, और SOAP दूरस्थ एपीआई के लिए दृष्टिकोण हैं। वे संचालन और संदेशों को अलग तरीके से व्यवस्थित करते हैं और प्रणाली की सीमाओं के लिए चुने जाने चाहिए।
- एक सफल एकीकरण विफलता को उतनी ही जानबूझकर संभालता है जितना कि सफलता। मान्यता, प्राधिकरण, कोटा, समय सीमा, संस्करण, और अवलोकन डिज़ाइन में शामिल होते हैं।
एपीआई का मतलब एप्लिकेशन प्रोग्रामिंग इंटरफेस है
एक एप्लिकेशन प्रोग्रामिंग इंटरफेस वह नियमों और प्रकट क्षमताओं का सेट है जिसे सॉफ़्टवेयर कॉल या उपभोग कर सकता है। इंटरफेस एक स्थिर सीमा के पीछे कार्यान्वयन विवरणों को छिपाता है। एक कॉलर को यह जानने की ज़रूरत होती है कि कौन-सी क्रिया मौजूद है, यह क्या इनपुट स्वीकार करती है, यह क्या आउटपुट या प्रभाव उत्पन्न करती है, और त्रुटियाँ कैसे रिपोर्ट की जाती हैं। प्रदाता उस कॉन्ट्रैक्ट को बनाए रखते हुए आंतरिक कोड बदल सकता है, जिससे दोनों पक्षों को कम समन्वय के साथ विकसित करने की अनुमति मिलती है।
एपीआई वेब से पहले मौजूद थे और HTTP अंत बिंदुओं से व्यापक हैं। एक प्रोग्रामिंग-भाषा पुस्तकालय कार्यों, कक्षाओं, और प्रकारों को प्रकट करता है। एक ऑपरेटिंग सिस्टम प्रणाली कॉल को प्रकट करता है। एक डिवाइस ड्राइवर ऑपरेटिंग सिस्टम के लिए संचालन को प्रकट करता है। एक दूरस्थ सेवा नेटवर्क पर संदेशों को प्रकट करती है। NIST एपीआई शब्दकोश एक एपीआई को एक अच्छी तरह से परिभाषित पहुंच बिंदु या पुस्तकालय फ़ंक्शन के रूप में वर्णित करता है, जबकि MDN के वेब-केंद्रित परिभाषा में अनुप्रयोगों के लिए उपलब्ध कोड विशेषताएँ और नियम शामिल हैं।
एक वेब एपीआई कॉल कैसे काम करता है
एपीआई क्या है का संचालन करना तब आसान होता है जब इसका प्रसंस्करण पथ स्पष्ट होता है। निम्नलिखित चरण यह दिखाते हैं कि प्रमाण इकट्ठा किया जा सकता है और जहां नीति परिणाम को बदल सकती है।
खोज और अनुबंध
उपभोक्ता दस्तावेज़ों या मशीन-पठनीय विवरण को पढ़ता है ताकि वह आधार पता, संचालन, पैरामीटर, प्रस्तुतियाँ, प्रमाणीकरण विधि, सीमाएँ, और त्रुटि मॉडल जान सके। एक अनुबंध औपचारिक दस्तावेज या एक औपचारिक स्कीमा हो सकता है जो मान्यता और उत्पादित उपकरणों का समर्थन करती है।
अनुरोध प्रसंस्करण
क्लाइंट एक अनुरोध बनाता है, जब आवश्यक हो तो अपनी पहचान बताता है, और इंटरफेस द्वारा परिभाषित स्थान में इनपुट भेजता है। एक गेटवे या सेवा कॉलर को प्रमाणीकरण करता है, संचालन को प्राधिकृत करता है, इनपुट को मान्य करता है, नीति लागू करता है, एप्लिकेशन लॉजिक को लागू करता है, और एक प्रतिक्रिया बनाता है।
प्रतिक्रिया व्याख्या
क्लाइंट परिवहन स्थिति, अनुप्रयोग त्रुटियों, मेटाडेटा, और लौटाई गई प्रस्तुति का मूल्यांकन करता है। इसके बाद यह परिणाम को स्थानीय प्रकारों या उपयोगकर्ता-दृश्य व्यवहार में मैप करता है। सही क्लाइंट यह मानते नहीं हैं कि एक संवैधानिक रूप से मान्य प्रतिक्रिया का अर्थ है कि अनुरोधित व्यावसायिक क्रिया सफल हुई।
एपीआई अनुबंध के भाग
एपीआई के चारों ओर की शब्दावली आर्किटेक्चर, डेटा, और संचालन में फैली हुई है। तालिका उन जिम्मेदारियों को अलग रखती है ताकि डिज़ाइन समीक्षा सही प्रश्न पूछ सके।
| संकल्पना | अर्थ | व्यावहारिक संकेत |
|---|---|---|
| अंत बिंदु या कॉल करने योग्य | जहाँ या कैसे एक संचालन को संबोधित किया जाता है। | एक URL, फ़ंक्शन नाम, विधि, विषय, या आदेश। |
| संचालन | क्षमता जो प्रदाता प्रकट करता है। | एक रिकॉर्ड पढ़ें, एक कार्य बनाएं, डेटा को परिवर्तित करें, या एक क्रिया को शुरू करें। |
| इनपुट स्कीमा | स्वीकृत पैरामीटर और शरीर का आकार। | नाम, प्रकार, आवश्यक फ़ील्ड, रेंज, और डिफ़ॉल्ट। |
| आउटपुट स्कीमा | लौटाई गई डेटा और मेटाडेटा। | फ़ील्ड, नेस्टिंग, शून्यता, पृष्ठन, और स्थिति। |
| नीति | पहुँच और खपत के चारों ओर के नियम। | प्रमाणीकरण, प्राधिकरण, कोटा, लागत, और स्वीकार्य उपयोग। |
एपीआई क्या सक्षम करता है
एक व्यावहारिक मामला 'एपीआई क्या है' पर उस कार्य से शुरू होता है जिसे सिस्टम करना चाहिए। ये उदाहरण दिखाते हैं कि वह आवश्यकता इंटरफेस या नेटवर्क निर्णय को कैसे बदलती है।
उत्पाद एकीकरण
एक मोबाइल, वेब, या डेस्कटॉप क्लाइंट एक बैकएंड क्षमता का उपयोग कर सकता है बिना बैकएंड कार्यान्वयन को एम्बेड किए।
स्वचालन
निर्धारित नौकरियां और एजेंट प्रलेखित सॉफ्टवेयर सीमा के माध्यम से पुनरावृत्त कार्य कर सकते हैं।
प्लेटफ़ॉर्म पारिस्थितिकी तंत्र
भागीदारों को उन क्षमताओं के खिलाफ एक्सटेंशन और वर्कफ़्लोज़ बनाने के लिए बनाया जा सकता है जिन्हें प्रदाता जानबूझकर उजागर करता है।
आंतरिक मॉड्युलैरिटी
टीम एक सिस्टम को सेवाओं या पैकेजों में विभाजित कर सकती हैं जिनके पास ऐसे अनुबंध होते हैं जो स्वामित्व और परिवर्तन की सीमाओं को स्पष्ट करते हैं।
एक एपीआई का मूल्यांकन कैसे करें एकीकरण से पहले
फिट से शुरू करें। पुष्टि करें कि एपीआई उस संचालन और डेटा को उजागर करता है जो वास्तविक वर्कफ़्लो के लिए आवश्यक है, जिसमें फ़िल्टरिंग, पेजिनेशन, ऑर्डरिंग, ताजगी और क्षेत्रीय व्यवहार शामिल हैं। जाँच करें कि क्या प्रतिनिधित्व में स्थिर पहचानकर्ता शामिल हैं और क्या अनुपस्थित फ़ील्ड को हटा दिया गया है या नल के रूप में लौटाया गया है। एक परिष्कृत उदाहरण एक पूर्ण अनुबंध को प्रतिस्थापित नहीं करता है।
संचालन नियमों का निरीक्षण करें। प्रमाणीकरण और अधिकृत करना यह निर्धारित करता है कि कौन क्या कॉल कर सकता है। कोटा और लोड सीमा संभावित कार्यभार आकार को निर्धारित करते हैं। संस्करणन और अमान्यता नीतियाँ रखरखाव के जोखिम को निर्धारित करती हैं। त्रुटि दस्तावेज़ को कॉलर की गलतियों, पहुँच विफलताओं, कोटा स्थितियों, और प्रदाता की विफलताओं को अलग करना चाहिए ताकि क्लाइंट सुरक्षित, सीमित कार्रवाई कर सके।
इंटरफेस के भाग के रूप में सुरक्षा की समीक्षा करें। HTTP सेमांटिक्स विनिर्देशन ऐसे अनुरोध विधियों, स्थिति अवधारणाओं और प्रतिनिधित्व मेटाडेटा को परिभाषित करता है जो कई वेब एपीआई द्वारा उपयोग किया जाता है। परिवहन एन्क्रिप्शन डेटा को ट्रांजिट में सुरक्षित करता है, लेकिन एप्लिकेशन को फिर भी न्यूनतम विशेषाधिकार क्रेडेंशियल्स, इनपुट वैधता, गुप्त भंडारण, ऑडिट रिकॉर्ड और संवेदनशील फ़ील्ड को उजागर करने के खिलाफ नियंत्रण की आवश्यकता होती है।
एपीआई एकीकरण गलतियों से बचें
- उदाहरणों को पूर्ण स्कीमा के रूप में मानना। उदाहरणों में वैकल्पिक, नल करने योग्य, पेजिनेटेड, या त्रुटि फ़ील्ड शामिल हो सकते हैं जो उत्पादन ट्रैफ़िक में होंगे।
- सोर्स कोड में क्रेडेंशियल्स को एम्बेड करना। गुप्त को एक सुरक्षित रनटाइम तंत्र से आना चाहिए और प्रदाता नीति के अनुसार स्कोप और रोटेट किया जाना चाहिए।
- इडेम्पोटेंसी और डुप्लिकेट प्रभावों को अनदेखा करना। एक समय-सीमा समाप्त बनाने वाला अनुरोध पूरा हो सकता है, इसलिए परिवर्धन डिज़ाइन को परिणामों को सुलह करने के लिए एक प्रलेखित तरीका चाहिए।
- हर सफलता एक जैसी दिखती है ऐसा मान लेना। कुछ इंटरफेस स्वीकार किए गए काम, आंशिक डेटा, चेतावनियाँ, या अंतिम परिणाम के बजाय असिंक्रोनस कार्य पहचानकर्ता लौटाते हैं।
- अप्रलेखित व्यवहार से संलग्न होना। आंतरिक फ़ील्ड क्रम, घटनात्मक हेडर्स, और बिना सूचीबद्ध एंडपॉइंट्स बिना संगतता वादे के बदल सकते हैं।
वेब डेटा वर्कफ़्लोज़ में एपीआई
एक संरचित एपीआई एक वर्कफ़्लो से ब्राउज़र विश्लेषण को हटा सकता है रिकॉर्ड सीधे लौटाकर। यह तब काम करता है जब प्रदाता आवश्यक डेटा को उजागर करता है और शर्तें इच्छित उपयोग की अनुमति देती हैं। जब कोई उपयुक्त संरचित इंटरफेस मौजूद नहीं है और जानकारी सार्वजनिक रूप से उपलब्ध है, तो एक संग्रहण प्रणाली को एक HTTP अधिग्रहण या ब्राउज़र-रेंडरिंग कदम की आवश्यकता हो सकती है जिसके बाद निष्कर्षण और सामान्यीकरण होता है।
अधिग्रहण, परिवर्तन, और भंडारण को अलग सीमाओं के रूप में रखें। अधिग्रहण घटक को स्रोत स्थिति और प्रासंगिक मेटाडेटा को बनाए रखना चाहिए। परिवर्तन को फ़ील्ड को मान्य करना चाहिए और अनुपस्थित मूल्यों को स्पष्ट करना चाहिए। भंडारण को स्थिर पहचानकर्ताओं का उपयोग करना चाहिए और प्रशासन के लिए आवश्यक उत्पादन को रिकॉर्ड करना चाहिए। यह पृथक्करण संवेदनशील रूपांतरण को चुपचाप डाउनस्ट्रीम डेटा को भ्रष्ट करने से रोकता है।
क्लाइंट-साइड अनुबंध को प्रदाता अनुबंध के साथ प्रलेखित करें: कौन से ऑपरेशन्स का उपयोग किया जाता है, कौन से फ़ील्ड आवश्यक हैं, क्या मात्रा अपेक्षित है, क्रेडेंशियल्स कैसे प्रदान किए जाते हैं, और क्या साक्ष्य एक पूर्ण परिणाम को चिह्नित करता है। परीक्षणों को प्रतिनिधि सफलता और त्रुटि लोड को कवर करना चाहिए बिना निजी कार्यान्वयन विवरणों पर निर्भर किए।
'एपीआई क्या है' समीक्षा चेकलिस्ट
इन चेक को उपयोग करें ताकि 'एपीआई क्या है' की परिभाषा को कार्यान्वयन प्रमाण में बदल सके जिसे एक डेवलपर, ऑपरेटर, या समीक्षक पुनः उत्पन्न कर सके।
- सीमा को पुनः व्यक्त करें। 'एपीआई क्या है' के लिए, कॉलर, प्रदाता, मार्ग, और पूर्ण परिणाम को चिह्नित करने वाली सटीक घटना की पहचान करें।
- केंद्रीय दावा की पुष्टि करें। इस कथन की पुष्टि करें कि: एक एपीआई एक परिभाषित सॉफ़्टवेयर इंटरफ़ेस है। यह नामित क्षमताओं और नियमों को उजागर करता है ताकि एक घटक दूसरे का उपयोग कर सके बिना उसके आंतरिक कार्यान्वयन को जाने।
- मैकेनिक्स को ट्रेस करें। खोज और अनुबंध, अनुरोध प्रसंस्करण, प्रतिक्रिया व्याख्या का अवलोकन करें, और रिकॉर्ड करें कि प्रत्येक चरण का मालिक कौन है।
- निकटतम भिन्नता की जांच करें। अभिलेखित करें कि क्यों एंडपॉइंट या कॉल करने योग्य इस सिस्टम में 'जहाँ या कैसे एक ऑपरेशन को संबोधित किया जाता है' का अर्थ है।
- एक प्रतिनिधि उपयोग केस का परीक्षण करें। वास्तविक डेटा, स्थान, मात्रा, और अनुमति सीमाओं के साथ उत्पाद एकीकरण का उपयोग करें।
- एक ज्ञात गलती से बचें। 'उदाहरणों को पूर्ण स्कीमा के रूप में मानना' की समीक्षा करें और एक स्वीकार्यता चेक जोड़ें जो इसे पकड़ ले।
- कार्यभार को सीमित करें। क्या है एक एपीआई के लिए विषय-उपयुक्त सीमाएँ निर्धारित करें, जिसमें लोड, समवर्तीता, निष्पादन समय, और भंडारित आउटपुट शामिल है जहाँ वे लागू होते हैं।
- निर्णय को रिकॉर्ड करें। समझाएं कि एक एपीआई कैसे इस सीमा में फिट बैठता है और उस साक्ष्य का नाम बताएं जो बाद में एक अलग दृष्टिकोण को उचित ठहराएगा।
निष्कर्ष
एक एपीआई को डिज़ाइन के एक परीक्षण योग्य भाग का वर्णन करना चाहिए बजाय इसके कि यह आसन्न व्यवहार के लिए एक ढीला लेबल के रूप में कार्य करे। समीक्षा को इस केंद्रीय निर्णय को बनाए रखना चाहिए: एक एपीआई एक परिभाषित सॉफ़्टवेयर इंटरफ़ेस है। यह नामित क्षमताएँ और नियम उजागर करता है ताकि एक घटक बिना इसकी आंतरिक कार्यान्वयन को जाने दूसरे का उपयोग कर सके। यह उदाहरणों को पूरे स्कीमा के रूप में मानने के खिलाफ भी सुरक्षा करनी चाहिए। और एपीआई तक पहुँच को इंटरफ़ेस या नेटवर्क के लिए प्रलेखित नीति के भीतर बनाए रखना चाहिए।
क्या आप अपनी वेब डेटा वर्कफ़्लो का निर्माण करने के लिए तैयार हैं?
एक मापी गई एपीआई अधिग्रहण या एकीकरण कदम को ऊपर वर्णित प्रमाणीकरण और भंडारण प्रथाओं से जोड़ें।
आज ही साइन अप करें और पाएं $5 का मुफ्त क्रेडिट — कोई क्रेडिट कार्ड आवश्यक नहीं.
अपने $5 क्रेडिट का दावा करें →अक्सर पूछे जाने वाले प्रश्न
एपीआई का क्या अर्थ है?
एपीआई का अर्थ एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस है। यह एक परिभाषित सीमा है जिसके माध्यम से सॉफ़्टवेयर अन्य सॉफ़्टवेयर को क्षमताएँ उजागर करता है, जिसमें कार्य, प्रकार, ऑपरेटिंग सिस्टम कॉल, उपकरण संचालन और दूरस्थ सेवा संदेश शामिल हैं।
क्या हर एपीआई एक वेब एपीआई है?
नहीं। वेब एपीआई वेब प्रौद्योगिकियों का उपयोग करके संवाद करते हैं, आमतौर पर एक नेटवर्क के पार, लेकिन पुस्तकालय, ऑपरेटिंग सिस्टम, डेटाबेस, और हार्डवेयर भी एपीआई उजागर करते हैं। सामान्य विचार एक प्रलेखित इंटरफ़ेस है, न कि एक विशेष प्रोटोकॉल।
एक एपीआई एंडपॉइंट क्या है?
एक एपीआई एंडपॉइंट एक पता लगाने योग्य स्थान है जिसके माध्यम से एक क्लाइंट एक दूरस्थ एपीआई क्षमता तक पहुँचता है। एचटीटीपी एपीआई में, यह आमतौर पर एक URL है जिसे एक विधि और प्रलेखित इनपुट के साथ जोड़ा गया है, हालाँकि सही क्रिया हेडर या अनुरोध शरीर पर भी निर्भर कर सकती है।
क्या एपीआई हमेशा JSON लौटाते हैं?
नहीं। एपीआई JSON, XML, HTML, बाइनरी फ़ाइलें, प्रोटोकॉल-विशिष्ट संदेश, या भाषा-नैतिक मान लौटाते हैं। JSON वेब एपीआई में सामान्य है क्योंकि यह संक्षिप्त, पाठ-आधारित, और व्यापक रूप से समर्थित है, लेकिन इंटरफ़ेस अनुबंध प्रतिनिधित्व को परिभाषित करता है।