API রেফারেন্স

সমস্ত ফ্রন্টএন্ড (ওয়েবসাইট, Admin Panel, POS, মোবাইল অ্যাপ এবং AI এজেন্ট) একই /api/v1 API ব্যবহার করে। কোনো ফ্রন্টএন্ড সরাসরি ডেটাবেসে যায় না।

সফল উত্তর

{
  "ok": true,
  "data": { ... },
  "meta": { "page": 1, "per_page": 20, "total": 143 }
}

ব্যর্থ উত্তর

{
  "ok": false,
  "error": {
    "code": "INSUFFICIENT_STOCK",
    "message": "স্টক পর্যাপ্ত নয়",
    "details": [{ "product_id": 12 }]
  },
  "requestId": "abc-123"
}

টাকার হিসাব — সবচেয়ে গুরুত্বপূর্ণ নিয়ম

সব টাকার মান পূর্ণসংখ্যা (poisha) হিসেবে সংরক্ষিত — কখনো দশমিক ভগ্নাংশ (float) নয়। আর পরিমাণ সংরক্ষিত হয় milli-unit হিসেবে। তাই ৳ ১২৫.৫০ = 12550 এবং ১.৫ কেজি = 1500 ।

// ভুল — float দিয়ে টাকা রাখা যাবে না
0.1 + 0.2 === 0.30000000000000004

// সঠিক — পূর্ণসংখ্যা (poisha) দিয়ে হিসাব
12550 /* poisha */ = ৳ 125.50

Offline ও ডুপ্লিকেট প্রতিরোধ

POS বা মোবাইল অ্যাপ offline অবস্থায় কাজ করলে প্রতিটি operation-এ একটি ইউনিক X-Client-Op-Id হেডার পাঠাবে। একই আইডি দ্বিতীয়বার এলে সার্ভার আগের উত্তরটাই ফিরিয়ে দেয় — কখনো দুবার বিক্রয় হবে না।

POST /api/v1/sales
X-Client-Op-Id: 6f1c...a93
Content-Type: application/json

// দ্বিতীয়বার একই অনুরোধ →
// X-Idempotent-Replay: true  + আগের ফলাফল

বর্তমানে সক্রিয় endpoint

MethodPathবিবরণAuth
GET/api/v1/healthসার্ভার, ডেটাবেস ও binding-এর অবস্থাসবার জন্য
GET/api/v1/health/liveLiveness probeসবার জন্য
GET/api/v1/health/readyReadiness probe (ডেটাবেস)সবার জন্য
GET/api/v1/metaব্র্যান্ড, সীমা ও ফিচার মেটাডেটাসবার জন্য

আরও endpoint ধাপে ধাপে যুক্ত হবে — মুনির কালেকশন প্ল্যাটফর্মের প্রতিটি phase শেষ হলে এই তালিকা আপডেট হয়。