API म्हणजे काय? ॲप बिल्डर्ससाठी सोपे मार्गदर्शक
API (application programming interface) ही एका सॉफ्टवेअरने दुसऱ्याकडे डेटा मागण्याची किंवा त्याला काही करायला लावण्याची निश्चित पद्धत आहे. तुमचे ॲप एका मान्य स्वरूपात विनंती पाठवते — "उद्याच्या बुकिंग्ज द्या," "हे कार्ड €20 चार्ज करा," "हा मजकूर सारांशित करा" — आणि दुसरी प्रणाली संरचित प्रतिसाद परत पाठवते. API हेच ॲपचे भाग एकमेकांशी कसे बोलतात, आणि तुमचे ॲप पेमेंट, ईमेल, नकाशे आणि AI सारख्या बाहेरील सेवा कशा वापरते.
AI सह बनवताना API का महत्त्वाचे आहेत
जवळपास प्रत्येक उपयुक्त ॲप अशा भागांनी बनलेले असते जे API द्वारे संवाद साधतात:
- तुमच्या ॲपच्या आत, ब्राउझरमधील स्क्रीन्स डेटा लोड आणि सेव्ह करण्यासाठी तुमच्या स्वतःच्या बॅकएंडच्या API ला कॉल करतात.
- तुमच्या ॲपच्या बाहेर, तुमचा बॅकएंड इतर कंपन्यांच्या API ना कॉल करतो: पेमेंट घेण्यासाठी Stripe, पावत्या पाठवण्यासाठी ईमेल प्रदाता, मजकूर तयार करण्यासाठी AI मॉडेल प्रदाता.
AI बिल्डरला "पेमेंट घे" किंवा "AI सारांश जोडा" म्हटले की प्रत्यक्षात तो API कॉल करणारा कोड लिहितो. मूलभूत गोष्टी माहीत असतील तर AI ला तुमच्याकडून काय लागते (सहसा त्या सेवेचे खाते आणि API की), कुठे गोष्टी चुकू शकतात आणि त्याचा खर्च किती येईल हे समजते.
दैनंदिन उदाहरण
एखाद्या रेस्टॉरंटचा विचार करा. तुम्ही स्वयंपाकघरात जाऊन स्वतः स्वयंपाक करत नाही. तुम्ही मेनू वाचता, स्वयंपाकघराला समजेल अशा रीतीने वेटरला काय हवे ते सांगता, आणि वेटर तुमचे जेवण परत आणतो — किंवा पदार्थ संपला आहे असे सांगतो.
- मेनू म्हणजे API दस्तऐवज: काय मागता येते आणि कसे, याची यादी.
- वेटर म्हणजे API: विनंत्या आत येण्याची आणि प्रतिसाद बाहेर येण्याची एकच मान्य पद्धत.
- स्वयंपाकघर म्हणजे दुसरी प्रणाली: आत काय कसे चालते हे तुम्हाला माहीत असण्याची गरज नसते.
- तुमची ऑर्डर ही विनंती; ताट हा प्रतिसाद.
मेनू स्थिर असेल तोपर्यंत स्वयंपाकघर ओव्हन आणि कर्मचारी बदलू शकते, तुमच्यावर परिणाम न होता. API चे खरे मूल्य हेच: दोन प्रणाली एकमेकांची बांधणी माहीत न करता एकत्र काम करू शकतात.
वेब API विनंती कशी काम करते
तुम्हाला भेटणारे बहुतेक API हे HTTP वर चालणारे वेब API असतात, तोच प्रोटोकॉल तुमचा ब्राउझर वापरतो. प्रत्येक विनंतीचे काही भाग असतात:
| भाग | काय आहे | उदाहरण |
|---|---|---|
| Method | कोणती कृती | GET (वाचणे), POST (तयार करणे) |
| URL / endpoint | ज्या गोष्टीवर कृती करायची तिचा पत्ता | https://api.example.com/bookings |
| Headers | अतिरिक्त माहिती, तुम्ही कोण आहात यासह | Authorization: Bearer <your key> |
| Body | पाठवलेला डेटा, तयार करणे आणि अद्ययावत करण्यासाठी | {"name": "Lena", "time": "14:00"} |
आणि प्रत्येक प्रतिसादात असते:
| भाग | काय आहे | उदाहरण |
|---|---|---|
| Status code | काय झाले हे सांगणारा क्रमांक | 200 OK, 201 Created, 404 Not Found |
| Body | परत आलेला डेटा, सहसा JSON मध्ये | {"id": 5001, "status": "confirmed"} |
JSON (JavaScript Object Notation) हे नावे आणि मूल्यांचे साधे मजकूर स्वरूप आहे, जे कुरळ्या कंसात लिहिले जाते. वेब API डेटा देवाणघेवाण करण्याची ही प्रमाणित पद्धत आहे.
REST: सर्वात सामान्य शैली
REST ही वेब API डिझाइन करण्याची व्यापक वापरली जाणारी पद्धत आहे. प्रत्येक प्रकारच्या गोष्टीला स्वतःचा URL मिळतो, आणि प्रमाणित पद्धती सांगतात तुम्ही तिच्याबरोबर काय करत आहात. बुकिंग ॲपसाठी REST API असे दिसू शकते:
| पद्धत | एंडपॉइंट | काय करतो |
|---|---|---|
GET | /api/bookings | बुकिंग्जची यादी |
GET | /api/bookings/5001 | एक बुकिंग मिळवणे |
POST | /api/bookings | नवीन बुकिंग तयार करणे |
PATCH | /api/bookings/5001 | बुकिंगचा भाग बदलणे, जसे त्याची वेळ |
DELETE | /api/bookings/5001 | बुकिंग रद्द (हटवणे) करणे |
PUT देखील अस्तित्वात आहे आणि ते पारंपरिकपणे संपूर्ण रेकॉर्ड बदलते, तर PATCH फक्त तुम्ही पाठवलेली फील्ड्स बदलते.
सर्वात जास्त दिसणारे status code:
| कोड | अर्थ |
|---|---|
200 / 201 | यश / तयार झाले |
400 | Bad request — तुम्ही पाठवलेले काहीतरी चुकीचे किंवा गहाळ होते |
401 | प्रमाणीकरण नाही — वैध लॉगिन किंवा की नाही |
403 | Forbidden — तुम्ही ओळखले जाता, पण हे करण्याची परवानगी नाही |
404 | सापडले नाही |
429 | खूप विनंत्या — तुम्ही रेट लिमिट गाठली |
500 | सर्व्हरमध्ये एरर आली |
तुमचे ॲप तुटते तेव्हा status code हा सर्वात जलद सुगावा असतो. पेमेंट प्रदात्याकडून 401 म्हणजे सहसा API की गहाळ किंवा चुकीची असते; 429 म्हणजे तुम्ही खूप वेळा कॉल करत आहात.
REST हीच एकमेव शैली नाही — GraphQL आणि RPC-शैलीचे API देखील अस्तित्वात आहेत — पण बहुतेक सेवा आणि AI-बांधलेले बॅकएंड REST वापरतात.
उदाहरण: बुकिंगची पुष्टी
सलून ॲपमध्ये ग्राहक केस कापण्याची वेळ बुक करतो, तेव्हा एक-दोन सेकंदांत अनेक API कॉल्स होऊ शकतात:
- ब्राउझरमधील बुकिंग पान सेवा, वेळ आणि ग्राहक तपशीलांसह तुमच्या बॅकएंडला
POST /api/bookingsपाठवते. - तुमचा बॅकएंड स्लॉट मोकळा आहे का ते तपासतो, बुकिंग डेटाबेस मध्ये जतन करतो, आणि
201 Createdपरत करतो. - तुमचा बॅकएंड त्याच्या गुप्त की सह ईमेल प्रदात्याच्या API ला कॉल करतो: "ही पुष्टी लेना@example.com ला पाठवा."
- डिपॉझिट असेल तर, तुमचा बॅकएंड पेमेंट प्रदात्याच्या API ला चेकआउट सेशन तयार करायला सांगतो आणि ग्राहकाला तिथे पाठवतो.
- नंतर, पेमेंट प्रदाता पेमेंट यशस्वी झाल्याचे सांगण्यासाठी तुमच्या ॲपला कॉल करतो. तो उलट कॉल म्हणजे वेबहुक.
पहिल्या दोन पायऱ्या frontend आणि backend यांच्यातील तुमचा स्वतःचा API आहे. पायऱ्या 3–5 तृतीय-पक्ष API आहेत.
सामान्य संज्ञा समजावून
| संज्ञा | अर्थ |
|---|---|
| Endpoint (एंडपॉइंट) | API ज्या एका विशिष्ट URL ला प्रतिसाद देतो. |
| API key (API की) | तुमच्या ॲपला एका सेवेला ओळखणारी गुप्त स्ट्रिंग. पासवर्डप्रमाणे हाताळा. |
| Authentication (प्रमाणीकरण) | कोण कॉल करत आहे ते सिद्ध करणे — की, टोकन किंवा लॉगिनने. प्रमाणीकरण म्हणजे काय पहा. |
| Rate limit | ठराविक काळात तुम्ही किती विनंत्या करू शकता याची मर्यादा. |
| SDK | एखाद्या विशिष्ट API ला कॉल करणे सोपे करणारी तयार कोड लायब्ररी. |
| Documentation (दस्तऐवज) | "मेनू": कोणते एंडपॉइंट्स आहेत, ते काय स्वीकारतात आणि काय परत देतात. |
| Sandbox / test mode | खरे पैसे किंवा खरा डेटा न वापरता चाचणीसाठी सेवेची आवृत्ती. |
| Webhook (वेबहुक) | काही घडल्यावर दुसऱ्या सेवेकडून तुमच्या ॲपमध्ये येणारा कॉल. |
सामान्य चुका आणि गैरसमज
- फ्रंटएंडमध्ये गुप्त की ठेवणे. ब्राउझरमध्ये चालणाऱ्या कोडमधील कोणतीही गोष्ट कोणीही भेट देणारा पाहू शकतो. गुप्त की सर्व्हरवरच राहिल्या पाहिजेत, environment variables किंवा सिक्रेट्स मध्ये.
- चॅटमध्ये की पेस्ट करणे. चॅट इतिहास साठवला जाऊ शकतो. त्याऐवजी तुमच्या बिल्डरचे सिक्रेट्स वैशिष्ट्य वापरा, आणि उघड झालेली कोणतीही की बदला.
- API मोफत आहे असे गृहीत धरणे. अनेक API प्रति विनंती किंवा वापराच्या एककानुसार शुल्क आकारतात — AI मॉडेल API टोकन्सनुसार शुल्क आकारतात. किंमत तपासा आणि खर्च मर्यादा ठेवा. LLM API कसे वापरायचे पहा.
- अपयश हाताळणे विसरणे. बाहेरील सेवा बंद पडतात, टाइमआउट होतात आणि मर्यादा गाठतात. योग्य एरर मेसेजेस आणि पुनर्प्रयत्नांची मागणी करा.
- ब्राउझरवर विश्वास ठेवणे. तुमच्या स्वतःच्या API ने परवानग्या स्वतः तपासल्या पाहिजेत. बटण लपवल्याने कोणी थेट एंडपॉइंटला कॉल करण्यापासून थांबत नाही.
- चाचणीदरम्यान लाइव्ह की वापरणे. लाँचसाठी तयार होईपर्यंत टेस्ट मोड की वापरा.
तुमच्या AI बिल्डरला काय मागावे
- "हे ॲप कोणत्या बाहेरील API वापरते, आणि प्रत्येकाचा खर्च किती येतो?"
- "पेमेंट API फक्त सर्व्हरवरूनच कॉल करा. की environment variable मधून वाचा."
- "आमच्या API मधील प्रत्येक एंडपॉइंट, तो काय करतो आणि कोणाला कॉल करण्याची परवानगी आहे, यांची यादी करा."
- "बुकिंग अद्ययावत किंवा हटवण्यापूर्वी, लॉगिन केलेल्या वापरकर्त्याचे ते बुकिंग आहे का ते सर्व्हरवर तपासा."
- "ईमेल API अयशस्वी झाला तर बुकिंग तरीही जतन करा आणि एरर लॉग करा."
- "आत्तासाठी प्रदात्याचा टेस्ट मोड वापरा."
Mythex मधील API
Mythex तुमचा स्वतःचा API तयार करू शकते — वेब ॲपचा भाग म्हणून, किंवा फ्रंटएंडसोबत चालणारा स्वतंत्र Node, Python (FastAPI), C# किंवा Java बॅकएंड म्हणून — आणि बाहेरील सेवांना कॉल करणारा कोड लिहू शकते. त्यांच्या की चॅटमध्ये नव्हे, तर प्रोजेक्ट सिक्रेट्स म्हणून जोडा; त्या प्रिव्ह्यूमध्ये आणि प्रकाशित झाल्यानंतर तुमच्या ॲपला उपलब्ध होतात. कोणताही API इंटिग्रेट करा आणि REST API बॅकएंड बनवा या docs रेसिपी आहेत.
प्रश्न
साधेपणाने सांगायचे तर API म्हणजे काय?
API (application programming interface) ही एका सॉफ्टवेअरने दुसऱ्याकडे डेटा किंवा कृतीसाठी विचारण्याची निश्चित पद्धत आहे. तुमचे ॲप एका मान्य स्वरूपात विनंती पाठवते, आणि दुसरी प्रणाली प्रतिसाद परत पाठवते — जसे हवामान डेटा, पेमेंटचा निकाल किंवा AI ने तयार केलेले उत्तर.
REST API म्हणजे काय?
REST API ही वेब API ची सामान्य शैली आहे, जिथे प्रत्येक प्रकारच्या गोष्टीला (बुकिंग्ज, ग्राहक) एक URL असतो, आणि प्रमाणित HTTP पद्धती वापरल्या जातात — वाचण्यासाठी GET, तयार करण्यासाठी POST, अद्ययावत करण्यासाठी PUT किंवा PATCH, आणि हटवण्यासाठी DELETE. डेटा सहसा JSON मध्ये परत येतो.
API की म्हणजे काय आणि ती कुठे ठेवावी?
API की ही एक गुप्त स्ट्रिंग आहे जी तुमच्या ॲपला एका सेवेला ओळखते आणि अनेकदा पैसे खर्च करण्याची किंवा डेटा मिळवण्याची परवानगी देते. ती environment variables मध्ये किंवा तुमच्या प्रोजेक्टच्या सर्व्हरवरील सिक्रेट्समध्ये ठेवा, ब्राउझरमध्ये चालणाऱ्या कोडमध्ये किंवा सार्वजनिक रेपॉझिटरीमध्ये कधीही नाही.
API आणि वेबहुकमध्ये काय फरक आहे?
API मध्ये तुमचे ॲप गरज असेल तेव्हा दुसऱ्या सेवेला काहीतरी विचारते. वेबहुकमध्ये, काही घडल्यावर दुसरी सेवा तुमच्या ॲपला कॉल करते — उदाहरणार्थ, पेमेंट प्रदाता पेमेंट यशस्वी झाल्याचे सांगतो.