API என்றால் என்ன? app உருவாக்குபவர்களுக்கான எளிய வழிகாட்டி
API (application programming interface) என்பது ஒரு மென்பொருள் இன்னொன்றிடம் தரவைக் கேட்கவோ ஏதாவது செய்யச் சொல்லவோ வரையறுக்கப்பட்ட வழி. உங்கள் app ஒரு ஒப்புக்கொள்ளப்பட்ட வடிவத்தில் கோரிக்கை அனுப்புகிறது — “நாளைய முன்பதிவுகளைக் கொடு,” “இந்த அட்டையில் €20 வசூலி,” “இந்த உரையைச் சுருக்கு” — மற்ற அமைப்பு கட்டமைக்கப்பட்ட பதிலைத் திருப்பி அனுப்புகிறது. App-இன் பகுதிகள் ஒன்றுக்கொன்று பேசும் வழி API-கள்தான்; பணம் செலுத்துதல், மின்னஞ்சல், வரைபடங்கள் மற்றும் AI போன்ற வெளி சேவைகளை உங்கள் app பயன்படுத்தும் வழியும் அதுதான்.
AI கொண்டு உருவாக்கும்போது API-கள் ஏன் முக்கியம்
பயனுள்ள ஒவ்வொரு app-உம் API-கள் வழியாகப் பேசும் பாகங்களால் ஆனது:
- உங்கள் app-க்கு உள்ளே, உலாவியில் உள்ள திரைகள் தரவை ஏற்றவும் சேமிக்கவும் உங்கள் சொந்த backend-இன் API-ஐ அழைக்கின்றன.
- உங்கள் app-க்கு வெளியே, உங்கள் backend மற்ற நிறுவனங்களின் API-களை அழைக்கிறது: பணம் வாங்க Stripe, ரசீதுகளை அனுப்ப ஒரு மின்னஞ்சல் வழங்குநர், உரையை உருவாக்க ஒரு AI மாடல் வழங்குநர்.
AI builder-இடம் “பணம் வாங்கு” அல்லது “AI சுருக்கம் சேர்” என்று கேட்கும்போது, அது உண்மையில் ஒரு API-ஐ அழைக்கும் குறியீட்டை எழுதுகிறது. அடிப்படைகளைத் தெரிந்துகொண்டால், AI-க்கு உங்களிடமிருந்து என்ன வேண்டும் (பொதுவாக அந்தச் சேவையில் ஒரு கணக்கும் API key-யும்), எங்கே தவறாகலாம், அவை எவ்வளவு செலவாகும் என்று புரியும்.
ஒரு அன்றாட உவமை
ஒரு உணவகத்தை நினைத்துப் பாருங்கள். நீங்கள் சமையலறைக்குள் நுழைந்து சமைப்பதில்லை. மெனுவைப் படித்து, சமையலறைக்குப் புரியும் வடிவத்தில் ஆர்டர் கொடுக்கிறீர்கள், பணியாளர் உணவைக் கொண்டு வருகிறார் — அல்லது அந்த உணவு தீர்ந்துவிட்டது என்று சொல்கிறார்.
- மெனு என்பது API ஆவணம்: நீங்கள் என்ன கேட்கலாம், எப்படிக் கேட்கலாம் என்ற பட்டியல்.
- பணியாளர் என்பது API: கோரிக்கைகள் உள்ளே போகவும் பதில்கள் வெளியே வரவும் ஒப்புக்கொள்ளப்பட்ட ஒரே வழி.
- சமையலறை என்பது மற்ற அமைப்பு: உள்ளே எப்படி வேலை செய்கிறது என்று நீங்கள் தெரிந்துகொள்ள வேண்டியதில்லை.
- உங்கள் ஆர்டர் கோரிக்கை; தட்டு பதில்.
மெனு மாறாமல் இருக்கும் வரை சமையலறை அடுப்புகளையும் ஊழியர்களையும் மாற்றலாம். அதுதான் API-இன் உண்மையான மதிப்பு: இரண்டு அமைப்புகள் ஒன்றின் உள் கட்டமைப்பைத் தெரிந்துகொள்ளாமலேயே ஒன்றாக வேலை செய்ய முடிகிறது.
வலை API கோரிக்கை எப்படி வேலை செய்கிறது
நீங்கள் சந்திக்கும் பெரும்பாலான API-கள் உலாவி பயன்படுத்தும் அதே நெறிமுறையான HTTP மேல் வேலை செய்யும் வலை APIs. ஒவ்வொரு கோரிக்கைக்கும் சில பகுதிகள் உண்டு:
| பகுதி | அது என்ன | உதாரணம் |
|---|---|---|
| முறை (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) என்பது சுருள்அடைப்புகளுக்குள் பெயர்களும் மதிப்புகளும் கொண்ட எளிய உரை வடிவம். வலை APIs தரவைப் பரிமாறும் நிலையான வழி இதுதான்.
REST: மிகவும் பொதுவான பாணி
REST என்பது வலை APIs வடிவமைக்கும் பரவலாகப் பயன்படும் ஒரு மரபு. ஒவ்வொரு வகைப் பொருளுக்கும் தனி URL, நிலையான முறைகள் அதன்மேல் என்ன செய்கிறீர்கள் என்று சொல்கின்றன. முன்பதிவு app-க்கான REST API இப்படி இருக்கலாம்:
| முறை | Endpoint | என்ன செய்கிறது |
|---|---|---|
GET | /api/bookings | முன்பதிவுகளைப் பட்டியலிடு |
GET | /api/bookings/5001 | ஒரு முன்பதிவைப் பெறு |
POST | /api/bookings | புதிய முன்பதிவை உருவாக்கு |
PATCH | /api/bookings/5001 | முன்பதிவின் ஒரு பகுதியை மாற்று, உதாரணமாக நேரம் |
DELETE | /api/bookings/5001 | முன்பதிவை ரத்து செய் (நீக்கு) |
PUT-உம் உண்டு; அது வழக்கமாக ஒரு முழுப் பதிவையும் மாற்றும், PATCH நீங்கள் அனுப்பும் புலங்களை மட்டும் மாற்றும்.
அடிக்கடி பார்க்கும் நிலைக் குறியீடுகள்:
| குறியீடு | பொருள் |
|---|---|
200 / 201 | வெற்றி / உருவாக்கப்பட்டது |
400 | தவறான கோரிக்கை — நீங்கள் அனுப்பியதில் ஏதோ தவறு அல்லது விடுபட்டது |
401 | அங்கீகரிக்கப்படவில்லை — செல்லுபடியாகும் உள்நுழைவு அல்லது key இல்லை |
403 | தடை — உங்களை அடையாளம் தெரியும், ஆனால் இதைச் செய்ய அனுமதி இல்லை |
404 | கிடைக்கவில்லை |
429 | அதிக கோரிக்கைகள் — நீங்கள் வரம்பைத் தாண்டிவிட்டீர்கள் |
500 | சர்வரில் பிழை |
உங்கள் app உடையும்போது, நிலைக் குறியீடுதான் பெரும்பாலும் விரைவான துப்பு. பணம் செலுத்தும் வழங்குநரிடமிருந்து வரும் 401 பொதுவாக API key விடுபட்டதையோ தவறானதையோ குறிக்கும்; 429 நீங்கள் அடிக்கடி அழைக்கிறீர்கள் என்று அர்த்தம்.
REST மட்டுமே பாணி அல்ல — GraphQL மற்றும் RPC பாணி APIs-உம் உண்டு — ஆனால் பெரும்பாலான சேவைகளும் AI உருவாக்கிய backend-களும் பயன்படுத்துவது REST.
நடைமுறை உதாரணம்: முன்பதிவு உறுதிப்படுத்தல்
ஒரு சலூன் app-இல் வாடிக்கையாளர் முடி வெட்டுதலை முன்பதிவு செய்யும்போது, ஒரு-இரண்டு வினாடிகளில் பல API அழைப்புகள் நடக்கலாம்:
- உலாவியிலுள்ள முன்பதிவுப் பக்கம் சேவை, நேரம், வாடிக்கையாளர் விவரங்களுடன் உங்கள் backend-க்கு
POST /api/bookingsஅனுப்புகிறது. - உங்கள் backend நேரம் காலியாக உள்ளதா என்று சரிபார்த்து, முன்பதிவை database-இல் சேமித்து,
201 Createdதிருப்புகிறது. - உங்கள் backend ஒரு மின்னஞ்சல் வழங்குநரின் API-ஐ அதன் ரகசிய key-உடன் அழைக்கிறது: “இந்த உறுதிப்படுத்தலை lena@example.com-க்கு அனுப்பு.”
- முன்பணம் இருந்தால், உங்கள் backend பணம் செலுத்தும் வழங்குநரின் API-இடம் ஒரு checkout session உருவாக்கச் சொல்லி வாடிக்கையாளரை அங்கே அனுப்புகிறது.
- பின்னர், பணம் செலுத்தும் வழங்குநர் பணம் வெற்றிகரமாகச் செலுத்தப்பட்டதாக உங்கள் app-ஐ அழைக்கிறது. அந்த தலைகீழ் அழைப்புதான் webhook.
முதல் இரண்டு படிகள் frontend மற்றும் backend இடையே உங்கள் சொந்த API. 3–5 படிகள் மூன்றாம் தரப்பு APIs.
பொதுவான சொற்களின் விளக்கம்
| சொல் | பொருள் |
|---|---|
| Endpoint | ஒரு API பதிலளிக்கும் ஒரு குறிப்பிட்ட URL. |
| API key | உங்கள் app-ஐ ஒரு சேவைக்கு அடையாளம் காட்டும் ரகசிய சரம். கடவுச்சொல்லைப் போல நடத்துங்கள். |
| Authentication | யார் அழைக்கிறார் என்பதை நிரூபிப்பது — key, token அல்லது உள்நுழைவுடன். அங்கீகாரம் என்றால் என்ன பாருங்கள். |
| Rate limit | ஒரு காலகட்டத்தில் நீங்கள் செய்யக்கூடிய கோரிக்கைகளின் வரம்பு. |
| SDK | ஒரு குறிப்பிட்ட API-ஐ அழைப்பதை எளிதாக்கும் தயார் குறியீட்டு நூலகம். |
| Documentation | “மெனு”: எந்த endpoints உள்ளன, அவை என்ன ஏற்கின்றன, என்ன திருப்புகின்றன. |
| Sandbox / test mode | உண்மையான பணமோ நிஜத் தரவோ இல்லாமல் சோதிப்பதற்கான ஒரு சேவையின் பதிப்பு. |
| Webhook | ஏதாவது நடக்கும்போது மற்றொரு சேவையிலிருந்து உங்கள் app-க்கு வரும் அழைப்பு. |
பொதுவான தவறுகளும் தவறான எண்ணங்களும்
- Secret keys-ஐ frontend-இல் வைப்பது. உலாவியில் இயங்கும் குறியீட்டில் உள்ள எதையும் பார்வையாளர் எவரும் பார்க்கலாம். Secret keys சர்வரில், environment variables அல்லது secrets-இல் இருக்க வேண்டும்.
- Chat-இல் keys-ஐ ஒட்டுவது. Chat வரலாறு சேமிக்கப்படலாம். அதற்குப் பதிலாக உங்கள் builder-இன் secrets வசதியைப் பயன்படுத்துங்கள்; வெளிப்பட்ட எந்த key-ஐயும் மாற்றுங்கள்.
- API இலவசம் என்று நினைப்பது. பல APIs ஒவ்வொரு கோரிக்கைக்கும் அல்லது பயன்பாட்டு அலகுக்கும் கட்டணம் வசூலிக்கின்றன — AI மாடல் APIs tokens அடிப்படையில் கட்டணம் வசூலிக்கின்றன. விலையைச் சரிபார்த்து செலவு வரம்புகளை அமையுங்கள். LLM APIs-ஐ எப்படிப் பயன்படுத்துவது பாருங்கள்.
- தோல்வியைக் கையாளாதது. வெளி சேவைகள் செயலிழக்கும், நேரம் முடியும், வரம்புகளை எட்டும். நியாயமான பிழைச் செய்திகளையும் மீண்டும் முயற்சிகளையும் கேளுங்கள்.
- உலாவியை நம்புவது. உங்கள் சொந்த API அனுமதிகளை தானே சரிபார்க்க வேண்டும். ஒரு பொத்தானை மறைப்பது, யாராவது endpoint-ஐ நேரடியாக அழைப்பதைத் தடுக்காது.
- சோதிக்கும்போது நேரடி keys பயன்படுத்துவது. பணம் அல்லது தரவுகள் இல்லாமல் சோதிக்க test mode keys-ஐப் பயன்படுத்துங்கள்; தொடங்கத் தயாரானதும் live keys.
உங்கள் AI builder-இடம் என்ன கேட்பது
- “இந்த app எந்த வெளி APIs-ஐப் பயன்படுத்துகிறது, ஒவ்வொன்றின் விலை என்ன?”
- “பணம் செலுத்தும் APIஐ சர்வரில் இருந்து மட்டும் அழை. key-ஐ ஒரு environment variable-இலிருந்து படி.”
- “எங்கள் API-இல் உள்ள ஒவ்வொரு endpoint-ஐயும், அது என்ன செய்கிறது, யார் அழைக்கலாம் என்று பட்டியலிடு.”
- “முன்பதிவை புதுப்பிக்கும் அல்லது நீக்கும் முன், உள்நுழைந்த பயனர் அதற்கு உரிமையாளரா என்று சர்வரில் சரிபார்.”
- “மின்னஞ்சல் API தோல்வியடைந்தால், முன்பதிவை அப்படியே சேமித்து பிழையைப் பதிவு செய்.”
- “இப்போதைக்கு வழங்குநரின் test mode-ஐப் பயன்படுத்து.”
Mythex-இல் APIs
Mythex ஒரு முழு வலை appஇன் பகுதியாகவோ, முன்பக்கத்துடன் ஓடும் தனிப்பட்ட Node, Python (FastAPI), C# அல்லது Java backend ஆகவோ உங்கள் சொந்த API-ஐ உருவாக்கலாம்; வெளி சேவைகளை அழைக்கும் குறியீட்டையும் எழுதலாம். அவற்றின் keys-ஐ அரட்டையில் அல்ல, project secrets-ஆக சேர்க்கிறீர்கள்; preview-விலும் வெளியிட்ட பின்னரும் உங்கள் app-க்கு அவை கிடைக்கும். எந்த API-ஐயும் ஒருங்கிணைப்பது மற்றும் REST API backend உருவாக்குவது ஆகியவற்றுக்கு ஆவணத்தில் recipes உள்ளன.
கேள்விகள்
எளிமையாகச் சொன்னால் API என்றால் என்ன?
API (application programming interface) என்பது ஒரு மென்பொருள் இன்னொன்றிடம் தரவைக் கேட்கவோ ஏதாவது செய்யச் சொல்லவோ வரையறுக்கப்பட்ட வழி. உங்கள் app ஒரு ஒப்புக்கொள்ளப்பட்ட வடிவத்தில் கோரிக்கை அனுப்புகிறது; மற்ற அமைப்பு பதில் அனுப்புகிறது — வானிலைத் தரவு, பணம் செலுத்தும் முடிவு அல்லது AI உருவாக்கிய பதில் போல.
REST API என்றால் என்ன?
REST API என்பது இணைய APIs-இன் பொதுவான பாணி. ஒவ்வொரு வகைப் பொருளுக்கும் (முன்பதிவுகள், வாடிக்கையாளர்கள்) ஒரு URL உண்டு; நிலையான HTTP முறைகளைப் பயன்படுத்துவீர்கள் — படிக்க GET, உருவாக்க POST, புதுப்பிக்க PUT அல்லது PATCH, நீக்க DELETE. தரவு பொதுவாக JSON-ஆகத் திரும்பும்.
API key என்றால் என்ன, அதை எங்கே வைக்க வேண்டும்?
API key என்பது உங்கள் app-ஐ ஒரு சேவைக்கு அடையாளம் காட்டும் ஒரு ரகசிய சரம்; அது பெரும்பாலும் பணம் செலவழிக்கவோ தரவை அணுகவோ அனுமதிக்கும். அதை சர்வரில் environment variables அல்லது project secrets-இல் வையுங்கள்; உலாவியில் இயங்கும் குறியீட்டிலும், பொது repository-யிலும் ஒருபோதும் வைக்காதீர்கள்.
API-க்கும் webhook-க்கும் என்ன வித்தியாசம்?
API-இல், உங்கள் app தனக்கு வேண்டும்போது இன்னொரு சேவையிடம் ஏதாவது கேட்கிறது. Webhook-இல், ஏதாவது நடக்கும்போது மற்ற சேவை உங்கள் app-ஐ அழைக்கிறது — உதாரணமாக, பணம் வெற்றிகரமாகச் செலுத்தப்பட்டதை பணம் செலுத்தும் வழங்குநர் உங்களுக்குத் தெரிவிப்பது.