প্রমাণীকরণ
ব্যবহারকারী সেশনের জন্য JWT, ইন্টিগ্রেশনের জন্য API কী
FreeMaint দুটি প্রমাণীকরণ প্রক্রিয়া গ্রহণ করে: JWTs (/auth/login দ্বারা জারি করা, আমাদের ওয়েব এবং মোবাইল অ্যাপস দ্বারা ব্যবহৃত) এবং API কী (আপনার নিজস্ব ইন্টিগ্রেশন দ্বারা ব্যবহৃত /company-settings/api-এ তৈরি)।
JWT (ব্যবহারকারীর সেশন)
- POST /auth/login — বডি: {email, password}। {access_token, refresh_token} ফেরত দেয়।
- Authorization হেডার পাঠান — প্রতিটি অনুরোধে: Authorization: Bearer <access_token>।
- মেয়াদ শেষ হলে রিফ্রেশ করুন — নতুন access_token পেতে refresh_token দিয়ে POST /auth/refresh করুন। অ্যাক্সেস টোকেনের মেয়াদ ২ ঘণ্টা।
API কী (সার্ভার ইন্টিগ্রেশন)
- /company-settings/api অথবা /profile/api-keys খুলুন — অ্যাডমিনরা Business প্ল্যান ও তার ওপরে কোম্পানি সেটিংস > API থেকে কী তৈরি করেন। যাঁর ভূমিকায় “ব্যক্তিগত API কী তৈরি করা” অনুমতি আছে, তিনি প্রোফাইল > নিরাপত্তা > API কী থেকে নিজের কী তৈরি করেন। "ইন্টিগ্রেশন পরিচালনা" অনুমতিসহ একটি ভূমিকা (যেমন ইন্টিগ্রেশন অ্যাডমিনিস্ট্রেটর টেমপ্লেট) অ্যাডমিন না হয়েও কোম্পানির কী তৈরি, প্রত্যাহার ও মুছতে পারে; কোনো কী অন্য কাউকে হস্তান্তর করতে পারেন কেবল অ্যাডমিন।
- 'নতুন কী' ক্লিক করুন — ঐচ্ছিকভাবে একটি মেয়াদ এবং একটি অ্যাক্সেস স্তর নির্ধারণ করুন (ডিফল্ট: শুধু পঠনযোগ্য)। কাঁচা কী শুধু একবার দেখানো হয় — সঙ্গে সঙ্গে কপি করুন।
- এটি ব্যবহার করুন — প্রতিটি অনুরোধে Authorization: Bearer fmk_<rawKey> পাঠান। ফরম্যাট: fmk_ দিয়ে শুরু, তারপর 32টি হেক্স অক্ষর।
নিরাপত্তা নোট
- API কীগুলি SHA-256 হ্যাশ হিসাবে সংরক্ষণ করা হয় — একবার আপনি প্রকাশ ডায়ালগ বন্ধ করলে, কাঁচা মানটি পুনরুদ্ধার করা যায় না
- একটি কী প্রত্যাহার করা হলে তা অবিলম্বে নিষ্ক্রিয় হয়; সারি অডিট জন্য রাখা হয়
- প্রতিটি কী একটি মাত্র কোম্পানির এবং শুধু সেই কোম্পানির ডেটাতেই পৌঁছায় — অন্য কোম্পানির কোনো রেকর্ড কেবল পাওয়া যায় না
- স্বল্পমেয়াদি ইন্টিগ্রেশনের জন্য কীগুলোর একটি ঐচ্ছিক expiresAt থাকতে পারে
- অ্যাক্সেস স্তর, মালিকের অনুমতির ওপর একটি ঊর্ধ্বসীমা: READ (ডিফল্ট — শুধু কোয়েরি), READ_STOCK (কোয়েরি + adjustStock — শুধু-খরচ কিয়স্কের জন্য আদর্শ), FULL (মালিকের ভূমিকা যে সব অপারেশনের অনুমতি দেয়)
- প্রতিটি কী তার মালিক হিসেবে কাজ করে: প্রতিটি কল মালিকের অনুমতি ও ডেটা দেখার পরিসর বহন করে, এবং কী যা লেখে তা মালিকের নামে স্বাক্ষরিত হয়। মালিককে নিষ্ক্রিয় করা হলে কী প্রত্যাখ্যাত হয় (401, কোড API_KEY_OWNER_INACTIVE), যতক্ষণ না একজন অ্যাডমিন কোম্পানি সেটিংস > API-তে এটি অন্য কারও হাতে দেন — কী-এর মান বদলায় না।
ইন্টিগ্রেশন পরীক্ষা করা
আলাদা কোনো স্যান্ডবক্স পরিবেশ নেই: একটি API কী সবসময় যে কোম্পানির, তার প্রকৃত তথ্যেই কাজ করে। নিরাপদে পরীক্ষা করার দুটি উপায়। (১) দ্বিতীয় একটি কোম্পানিকে পরীক্ষার কোম্পানি হিসেবে ব্যবহার করুন — কোম্পানিগুলির মধ্যে বিচ্ছিন্নতা সেই একই ব্যবস্থা যা প্রত্যেক গ্রাহককে আলাদা রাখে, তাই সেখানে আপনি যা-ই করুন তা আপনার উৎপাদন তথ্যে পৌঁছাতে পারে না। API কী-এর জন্য Business প্ল্যান লাগে, তাই সেই কোম্পানিকেও Business-এ থাকতে হবে: বিনামূল্যের কোম্পানি কী তৈরি করতে পারে না। (২) শুধু পড়ার কাজের জন্য READ অ্যাক্সেস স্তরের একটি কী তৈরি করুন: এটি সব কোয়েরি চালাতে পারে, কোনো মিউটেশন নয়, তাই কিছুই বদলাতে পারে না। লেখার জন্য প্রস্তুত হলে READ_STOCK কী কেবল adjustStock-এর অনুমতি দেয়।
টিপ
সম্পর্কিত নিবন্ধ
এই পেজটি কি সহায়ক ছিল?