অ্যাপের REST API ও API ডকুমেন্টেশন
সংক্ষেপেঅ্যাডমিন ট্যাবের APIs অংশ অ্যাপের টেবিলগুলোকে এমন REST এন্ডপয়েন্টে রূপ দেয়, যা অন্য সফটওয়্যার কল করতে পারে — রেকর্ডের তালিকা দেখা, একটি রেকর্ড আনা, তৈরি, হালনাগাদ বা মুছে ফেলা। আপনি টেবিল, ফিল্ড আর কারা কল করতে পারবে তা বেছে নেন (পড়ার জন্য যে কেউ, অথবা শুধু প্রকল্পের API কী থাকা কলকারী), তারপর এন্ডপয়েন্ট প্রকাশ করুন দিয়ে চালু করেন। শেয়ার করতে চাইলে ডক্স প্রকাশ করুন বোতামে ক্লিক করে ডেভেলপারদের জন্য একটি API রেফারেন্স পৃষ্ঠা আর একটি OpenAPI ফাইল প্রকাশ করুন।
কখনো কখনো অন্য সফটওয়্যারের আপনার অ্যাপের ডেটা দরকার হয়: আপনার পণ্যের তালিকা দেখানো কোনো পার্টনারের ওয়েবসাইট, নতুন অর্ডার টেনে আনা একটি স্প্রেডশিট, একটি মোবাইল অ্যাপ, Zapier বা n8n-এর মতো অটোমেশন টুল। এগুলো আপনার অ্যাপের সঙ্গে কথা বলে API দিয়ে — এক সেট ওয়েব ঠিকানা (এন্ডপয়েন্ট), যা পৃষ্ঠার বদলে ডেটা দিয়ে উত্তর দেয়। REST API হলো এর সবচেয়ে প্রচলিত ধরন।
MonstarX কোনো কোড ছাড়াই আপনার জন্য এটি তৈরি করে দেয়। কী শেয়ার করবেন তা বেছে নিন, কয়েক সেকেন্ডেই সেটি লাইভ হয়ে যায়, সঙ্গে ডেভেলপারদের পড়ার মতো একটি রেফারেন্স পৃষ্ঠা।
এটি কোথায় পাব?
“এটি কোথায় পাব?” অংশপ্রকল্প খুলে ওপরের বারে অ্যাডমিন ট্যাবে, তারপর অ্যাডমিনের সাইডবারে APIs অংশে ক্লিক করুন। আপনি দেখবেন প্রকল্পের APIs: ওপরে API রেফারেন্স বার, যা আপনার API ডকুমেন্টেশন প্রকাশ করে; বাঁ দিকে আপনার এন্ডপয়েন্টগুলো, প্রতিটির পাশে লেখা লাইভ বা খসড়া; আর তার নিচে API কী।
কীভাবে একটি এন্ডপয়েন্ট তৈরি করব?
“কীভাবে একটি এন্ডপয়েন্ট তৈরি করব?” অংশ-
অ্যাডমিনAPIs খুলে নতুন এন্ডপয়েন্ট বোতামে ক্লিক করুন (অথবা এন্ডপয়েন্ট লেখার পাশের + চিহ্নে)।
-
কালেকশন বেছে নিন — যে টেবিল নিয়ে এন্ডপয়েন্টটি কাজ করবে, যেমন রেসিপির টেবিল।
-
অপারেশন বেছে নিন:
অপারেশন মেথড ও ঠিকানা কী করে তালিকা GET /recipesরেকর্ডগুলো ফেরত দেয়, এক পৃষ্ঠা করে। আনুন GET /recipes/{id}আইডি দিয়ে একটি রেকর্ড ফেরত দেয়। তৈরি করুন POST /recipesএকটি রেকর্ড যোগ করে। আপডেট PATCH /recipes/{id}একটি রেকর্ডের কিছু ফিল্ড বদলায়। মুছুন DELETE /recipes/{id}একটি রেকর্ড সরিয়ে দেয়। -
একটি নাম, একটি URL পাথ আর চাইলে একটি বর্ণনা দিন। এগুলো API ডকুমেন্টেশনে দেখা যায়।
-
উন্মুক্ত ফিল্ড অংশে ঠিক সেই ফিল্ডগুলোতে টিক দিন, যেগুলো কলকারীরা দেখতে বা পাঠাতে পারবে। টিক না দেওয়া সবকিছু প্রাইভেট থাকে। পাসওয়ার্ড ও টোকেনের মতো সংবেদনশীল দেখতে ফিল্ড সবসময় বাদ থাকে।
-
অ্যাক্সেস অংশে বেছে নিন কারা কল করতে পারবে (নিচে দেখুন)।
-
এন্ডপয়েন্ট প্রকাশ করুন বক্সে টিক দিয়ে এন্ডপয়েন্ট সংরক্ষণ ও প্রকাশ করুন বোতামে ক্লিক করুন। প্রকাশিত এন্ডপয়েন্ট লাইভ: সঙ্গে সঙ্গে অনুরোধের উত্তর দেয়। বক্সে টিক না দিলে এন্ডপয়েন্ট সংরক্ষণ করুন এটিকে খসড়া হিসেবে রাখে।
তালিকায় প্রতিটি এন্ডপয়েন্টের পাশে লেখা থাকে লাইভ বা খসড়া। এন্ডপয়েন্ট সম্পাদনা করুন শিরোনামের নিচেও একই শব্দ দেখা যায়, আর সংরক্ষণ না করা পর্যন্ত তার পাশে থাকে অসংরক্ষিত পরিবর্তন। এন্ডপয়েন্ট না মুছে অফলাইনে নিতে এন্ডপয়েন্ট প্রকাশ করুন বক্সের টিক তুলে দিয়ে সংরক্ষণ করুন; মুছুন এটিকে পুরোপুরি সরিয়ে দেয়।
আমার এন্ডপয়েন্ট কারা কল করতে পারে?
“আমার এন্ডপয়েন্ট কারা কল করতে পারে?” অংশ| অ্যাক্সেস | কারা কল করতে পারে | যেসব অপারেশনে চলে |
|---|---|---|
| সবার জন্য পড়ার অনুমতি | ঠিকানা জানা যে কেউ। | শুধু তালিকা ও আনুন |
| প্রকল্পের API কী | শুধু সেসব কলকারী, যারা আপনার প্রকল্পের কোনো একটি API কী পাঠায়। | সব অপারেশন |
ডেটা বদলায় এমন এন্ডপয়েন্টে সবসময় কী লাগে।
কীভাবে একটি API কী তৈরি করব?
“কীভাবে একটি API কী তৈরি করব?” অংশ-
অ্যাডমিনAPIs খুলে API কী বোতামে ক্লিক করুন।
-
কীটি কোথায় ব্যবহার হবে বোঝায় এমন একটি নাম লিখুন, যেমন “রেসিপি উইজেটের সার্ভার”, তারপর কী তৈরি করুন বোতামে ক্লিক করুন।
-
সঙ্গে সঙ্গে কীটি কপি করুন — এটি শুরু হয়
mxapi_দিয়ে, আর আবার দেখানো যায় না। কোনো নিরাপদ জায়গায় রাখুন, যেমন পাসওয়ার্ড ম্যানেজারে বা অন্য সেবাটির সিক্রেটে।
একটি কী প্রকল্পের প্রতিটি কী-সুরক্ষিত এন্ডপয়েন্ট খুলে দেয়, তাই প্রতিটি সেবাকে আলাদা কী দিন। কোনো কী বন্ধ করতে প্রত্যাহার করুন বোতামে ক্লিক করুন; যা কিছু সেটি ব্যবহার করত, সঙ্গে সঙ্গে কাজ করা বন্ধ করে।
কলকারীরা কী পাঠায় Authorization হেডারে: Authorization: Bearer mxapi_…।
কীভাবে একটি এন্ডপয়েন্ট চেষ্টা করে দেখব?
“কীভাবে একটি এন্ডপয়েন্ট চেষ্টা করে দেখব?” অংশএন্ডপয়েন্টটি খুলে পরীক্ষা ট্যাবে ক্লিক করুন। দরকার হলে রেকর্ড ID, Bearer কী বা JSON বডি লিখে অনুরোধ পাঠান বোতামে ক্লিক করুন। আপনি দেখবেন স্ট্যাটাস (200 মানে কাজ হয়েছে), কত সময় লেগেছে আর উত্তরটি। কী লাগে এমন এন্ডপয়েন্টের জন্য API কী থেকে আপনার একটি কী Bearer কী ঘরে পেস্ট করুন।
পরীক্ষা যায় আসল, লাইভ এন্ডপয়েন্টে, তাই:
- খসড়া এখনো পরীক্ষা করা যায় না। পরীক্ষা ট্যাবে লেখা থাকে এই এন্ডপয়েন্টটি এখনো খসড়া; সেখানেই এন্ডপয়েন্ট সংরক্ষণ ও প্রকাশ করুন বোতামে ক্লিক করে প্রকাশ করুন, তারপর পরীক্ষা করুন।
- আগে পরিবর্তন সংরক্ষণ করুন। অসংরক্ষিত পরিবর্তন থাকলে পরীক্ষা ট্যাব পরীক্ষার আগে সংরক্ষণ করতে বলে, সঙ্গে একটি এন্ডপয়েন্ট সংরক্ষণ করুন বোতাম।
তৈরি করুন, আপডেট বা মুছুন অপারেশনের পরীক্ষা আপনার আসল ডেটা বদলে দেয়।
কোড ট্যাবে কপি করার মতো তৈরি একটি cURL কমান্ড আছে, আর আছে OpenAPI JSON ফাইল, যা Postman ও Insomnia-এর মতো API টুলে ইমপোর্ট করা যায়।
কীভাবে API ডকুমেন্টেশন প্রকাশ ও শেয়ার করব?
“কীভাবে API ডকুমেন্টেশন প্রকাশ ও শেয়ার করব?” অংশআপনার API ডকুমেন্টেশন হলো ডেভেলপারদের জন্য একটি API রেফারেন্স পৃষ্ঠা: প্রতিটি লাইভ এন্ডপয়েন্ট, তার ফিল্ড, কী লাগে কি না, একটি চেষ্টা করে দেখুন বক্স আর একটি cURL উদাহরণ। এন্ডপয়েন্ট প্রকাশ করলে ডকুমেন্টেশন প্রকাশ হয় না — কখন শেয়ার করবেন, তা আপনিই ঠিক করেন।
-
অন্তত একটি এন্ডপয়েন্ট প্রকাশ করুন, আর সব পরিবর্তন সংরক্ষণ করুন। তা না হওয়া পর্যন্ত অ্যাডমিনAPIs পৃষ্ঠার ওপরের API রেফারেন্স বারে লেখা থাকে অপ্রকাশিত, সঙ্গে কী বাকি আছে তা।
-
ডক্স প্রকাশ করুন বোতামে ক্লিক করুন।
-
বারে এখন লেখা থাকে প্রকাশিত। ঠিকানা শেয়ার করতে ডক্সের লিঙ্ক কপি করুন বোতামে ক্লিক করুন, অথবা পৃষ্ঠাটি দেখতে API কী অংশের নিচে API ডক্স খুলুন। ঠিকানাটি দেখতে এমন:
https://monstarx.com/api-docs/<your project id>।
পৃষ্ঠার শুরুতে থাকে প্রকল্পের নাম ও বর্ণনা, কতগুলো এন্ডপয়েন্ট আছে, প্রকল্পের ID আর মূল ঠিকানা। লিঙ্ক থাকলে যে কেউ এটি পড়তে পারেন, আর সার্চ ইঞ্জিনকে এটি ইনডেক্স না করতে বলা হয়। এতে শুধু লাইভ এন্ডপয়েন্ট দেখায়, কী কখনো দেখায় না। ওপরের OpenAPI JSON লিঙ্কটি একই বিবরণ ফাইল আকারে দেয়।
ডকুমেন্টেশন সরিয়ে নিতে ডক্সের প্রকাশনা বন্ধ করুন বোতামে ক্লিক করুন: পৃষ্ঠা আর তার OpenAPI ফাইল কাজ করা বন্ধ করে, তবে এন্ডপয়েন্টগুলো উত্তর দিতে থাকে। সব এন্ডপয়েন্ট অফলাইনে নিলে ডকুমেন্টেশনও অপ্রকাশিত হয়ে যায়, আর প্রস্তুত হলে আবার প্রকাশ করবেন।
অনুরোধ আর উত্তর দেখতে কেমন?
“অনুরোধ আর উত্তর দেখতে কেমন?” অংশপ্রতিটি এন্ডপয়েন্ট থাকে https://monstarx.com/api/rest/<your project id>-এর নিচে, তার পরে তার পাথ।
curl 'https://monstarx.com/api/rest/<project id>/recipes?page=1&limit=25'{ "data": [ { "id": "41a6…", "title": "Street tacos al pastor", "country_code": "MX" } ], "page": 1, "limit": 25, "hasMore": false}limit হলো প্রতি পৃষ্ঠায় 1 থেকে 100টি রেকর্ড (না দিলে 25টি), আর page 1 থেকে 100। hasMore জানায় আরেকটি পৃষ্ঠা আছে কি না।
curl -X POST 'https://monstarx.com/api/rest/<project id>/recipes' \ -H 'Authorization: Bearer YOUR_PROJECT_KEY' \ -H 'Content-Type: application/json' \ -d '{"title": "Lemon ricotta pancakes", "country_code": "IT"}'উত্তরে (স্ট্যাটাস 201) data-এর নিচে নতুন রেকর্ড আর তার id থাকে।
curl -X PATCH 'https://monstarx.com/api/rest/<project id>/recipes/RECORD_ID' \ -H 'Authorization: Bearer YOUR_PROJECT_KEY' \ -H 'Content-Type: application/json' \ -d '{"title": "Fluffy lemon ricotta pancakes"}'
curl -X DELETE 'https://monstarx.com/api/rest/<project id>/recipes/RECORD_ID' \ -H 'Authorization: Bearer YOUR_PROJECT_KEY'আপডেট উত্তরে বদলানো রেকর্ডটি দেয়; মুছুন উত্তর দেয় { "deleted": true }।
যা পাঠাবেন তার নিয়ম:
Content-Type: application/json-সহ একটি JSON অবজেক্ট, সর্বোচ্চ 64 KB।- শুধু উন্মুক্ত ফিল্ড, প্রতিটি একটি সাধারণ মান: লেখা (সর্বোচ্চ 20,000 অক্ষর), সংখ্যা,
true/falseবাnull। - আইডি দেওয়া বা বদলানো যায় না, অ্যাডমিনে শুধু পড়ার জন্য রাখা ফিল্ডও না।
কিছু ভুল হলে উত্তরে থাকে একটি error বার্তা আর একটি স্ট্যাটাস: 400 (অনুরোধটি সঠিক নয়), 401 (প্রকল্পের একটি বৈধ API কী লাগবে), 403 (অ্যাডমিনে সেই টেবিল বা কাজের অনুমতি নেই), 404 (এমন কোনো এন্ডপয়েন্ট বা রেকর্ড নেই), 409 (কোনো দ্বন্দ্ব, যেমন একই জিনিস দুবার), 413 (উত্তর 1 MB ছাড়িয়ে যাবে — কম ফিল্ড উন্মুক্ত করুন বা ছোট পৃষ্ঠা ব্যবহার করুন)।
সাধারণ জিজ্ঞাসা
“সাধারণ জিজ্ঞাসা” অংশডক্স প্রকাশ করুন বোতামে ক্লিক করা যাচ্ছে না কেন?
ডকুমেন্টেশনের জন্য অন্তত একটি লাইভ এন্ডপয়েন্ট লাগে, আর কোনো অসংরক্ষিত পরিবর্তন থাকা চলবে না। কোনো এন্ডপয়েন্টে এন্ডপয়েন্ট প্রকাশ করুন বক্সে টিক দিন, এন্ডপয়েন্ট সংরক্ষণ ও প্রকাশ করুন বোতামে ক্লিক করুন, তারপর ডক্স প্রকাশ করুন।
API কাজ করতে কি অ্যাপ প্রকাশ করতে হবে?
না। API সরাসরি আপনার প্রকল্পের ডেটাবেস পড়ে ও লেখে, তাই একটি এন্ডপয়েন্ট প্রকাশ হলেই কাজ শুরু করে। প্রিভিউ আর লাইভ অ্যাপের একই ডেটা ব্যবহার করে, আর এর জন্য কোনো তৈরির কাজ, AI বা ক্রেডিট লাগে না।
কোনো ওয়েবসাইট কি ব্রাউজার থেকে আমার API কল করতে পারে?
হ্যাঁ, যেকোনো ওয়েবসাইট আপনার এন্ডপয়েন্ট কল করতে পারে। ওয়েব পৃষ্ঠা থেকে সবার জন্য পড়ার অনুমতি এন্ডপয়েন্ট ব্যবহার করুন, আর কী-সুরক্ষিত কলগুলো সার্ভারে রাখুন, যাতে কী গোপন থাকে।
একটি API কী হারিয়ে ফেলেছি। আবার কি দেখা যাবে?
না, কী একবারই দেখানো হয়। একটি নতুন কী তৈরি করুন, সেবাটিকে নতুন কী-তে নিয়ে যান, তারপর পুরোনোটি প্রত্যাহার করুন।
এন্ডপয়েন্ট প্রকাশ করতে পারছি না কেন?
তৈরি করুন, আপডেট বা মুছুন অপারেশনের জন্য আগে অ্যাডমিনে সেই টেবিলের সংশ্লিষ্ট কাজটি চালু করুন। যে অ্যাপের লাইভ ডেটাবেস আপনার নিজের Cloudflare অ্যাকাউন্টে চলে, সেটি MonstarX থেকে এন্ডপয়েন্ট প্রকাশ করতে পারে না, কারণ এখানকার ডেটাবেসে থাকে প্রিভিউর অনুশীলনের ডেটা।
ডেটা বদলালে কি ওয়েবহুক পাওয়া যায়?
অ্যাডমিন → APIs থেকে নয়, এটি শুধু অনুরোধের উত্তর দেয়। MonstarX-কে অ্যাপে একটি ওয়েবহুক যোগ করতে বলুন — যেমন “কোনো অর্ডার এলে সেটি এই ঠিকানায় POST করুন”।