API কী? রেস্টুরেন্টের ওয়েটার দিয়ে বোঝাই

ধরুন আপনি একটা রেস্টুরেন্টে গেলেন। আপনি রান্নাঘরে ঢুকে নিজে বিরিয়ানি রান্না করেন না। চুলা কোথায়, মশলা কোথায়, সেটাও জানার দরকার নেই। আপনি মেনু দেখেন, ওয়েটারকে অর্ডার দেন, আর কিছুক্ষণ পর খাবার চলে আসে।
এই ওয়েটারই হলো API (Application Programming Interface)।

তুলনাটা মিলিয়ে দেখি
- মেনু = API ডকুমেন্টেশন: কী কী চাওয়া যায়, কীভাবে চাইতে হয়।
- অর্ডার = রিকোয়েস্ট: "এক প্লেট কাচ্চি, কম ঝাল।"
- ওয়েটার = API: আপনার অর্ডার রান্নাঘরে নিয়ে যায়, খাবার ফিরিয়ে আনে।
- রান্নাঘর = সার্ভার আর ডেটাবেস।
- খাবার = রেসপন্স: আপনি যা চেয়েছিলেন।
- "দুঃখিত, কাচ্চি শেষ" = এরর মেসেজ (যেমন 404)।
বাস্তব জীবনে API
- আবহাওয়ার অ্যাপ আবহাওয়া অফিসের API থেকে তথ্য আনে।
- রাইড-শেয়ারিং অ্যাপ ম্যাপের API দিয়ে রাস্তা দেখায়।
- অনলাইন দোকান পেমেন্ট কোম্পানির API দিয়ে টাকা নেয়।
- "গুগল দিয়ে লগইন" বাটনের পেছনেও একটা API।
প্রতিটা অ্যাপ সব কিছু নিজে বানায় না; বিশেষজ্ঞ "রান্নাঘর" থেকে অর্ডার করে।
একটা আসল উদাহরণ
পাইথন দিয়ে একটা পাবলিক API থেকে তথ্য আনা যাক:
import requests
res = requests.get("https://api.github.com/users/octocat", timeout=10)
print(res.status_code) # 200 মানে সব ঠিক আছে
data = res.json()
print(data["name"], data["public_repos"])
আপনি একটা ঠিকানায় (URL) অনুরোধ পাঠালেন, আর JSON ফরম্যাটে উত্তর পেলেন। এটাই API ব্যবহারের মূল কথা।
HTTP মেথড: অর্ডারের ধরন
- GET: কিছু চাওয়া। ("মেনুটা দিন।")
- POST: নতুন কিছু তৈরি। ("নতুন অর্ডার নিন।")
- PUT/PATCH: আপডেট। ("ঝাল একটু কম করে দিন।")
- DELETE: মুছে ফেলা। ("অর্ডারটা বাতিল করুন।")
স্ট্যাটাস কোড: ওয়েটারের মুখের ভাব
- 200: খাবার এসে গেছে।
- 201: নতুন অর্ডার নেওয়া হয়েছে।
- 400: আপনার অর্ডারটা বোঝা যায়নি।
- 401/403: আপনি এই টেবিলে বসার অনুমতি পাননি।
- 404: এই আইটেম মেনুতে নেই।
- 429: আপনি খুব বেশি অর্ডার দিচ্ছেন, একটু থামুন।
- 500: রান্নাঘরে আগুন লেগেছে।
API key: রিজার্ভেশন
অনেক API ব্যবহার করতে একটা গোপন key লাগে, অনেকটা রিজার্ভেশন নম্বরের মতো। এটা কখনো কোডের মধ্যে সরাসরি লিখে GitHub এ আপলোড করবেন না। এনভায়রনমেন্ট ভেরিয়েবলে রাখুন:
import os
api_key = os.environ["WEATHER_API_KEY"]
শেষ কথা
API বুঝলে আধুনিক সফটওয়্যারের অর্ধেক রহস্য পরিষ্কার হয়ে যায়। প্রায় সব অ্যাপই আসলে অনেকগুলো ওয়েটারের সাথে কথা বলা একটা ক্ষুধার্ত গ্রাহক। আর আপনি যখন নিজে API বানাবেন, মনে রাখবেন: ভালো ওয়েটার হোন। মেনু পরিষ্কার রাখুন, ভুল হলে ভদ্রভাবে কারণ বলুন, আর কখনো ভুল টেবিলে খাবার পাঠাবেন না।