Postman — গ্রাফিক্যাল ইন্টারফেসসহ API পরীক্ষার একটি প্ল্যাটফর্ম, যা REST, GraphQL, WebSocket এবং gRPC প্রোটোকল সমর্থন করে। টুলটি HTTP রিকোয়েস্ট তৈরি ও পাঠানো, সেগুলোকে কালেকশনে সাজানো, স্ক্রিপ্টের মাধ্যমে পরীক্ষা স্বয়ংক্রিয় করা এবং এন্ডপয়েন্টগুলোর ডকুমেন্টেশন তৈরি করার সুযোগ দেয়। Postman Learning Center (2026)-এর তথ্য অনুযায়ী, সারা বিশ্বে ২৫ মিলিয়নেরও বেশি ডেভেলপার এই প্ল্যাটফর্ম ব্যবহার করে।
মূল বিষয়
Postman হলো API ডেভেলপমেন্ট ও পরীক্ষার একটি প্ল্যাটফর্ম, যা ডেস্কটপ অ্যাপ্লিকেশন (Windows, macOS, Linux) এবং ওয়েব সংস্করণ হিসেবে উপলব্ধ। ২০১২ সালে Chrome এক্সটেনশন হিসেবে তৈরি হওয়া Postman বর্তমানে মনিটরিং, mock-সার্ভার এবং ক্লায়েন্ট কোড জেনারেশন সমর্থনসহ একটি পূর্ণাঙ্গ ইকোসিস্টেমে পরিণত হয়েছে।
Postman সব HTTP মেথড সমর্থন করে: GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS। রিকোয়েস্টের বডি JSON, XML, form-data, x-www-form-urlencoded এবং binary ফরম্যাটে হতে পারে। রেসপন্স সিনট্যাক্স হাইলাইটিং, Pretty-print এবং র হেডার দেখার ক্ষমতাসহ প্রদর্শিত হয়।
অন্তর্নির্মিত অথেনটিকেশন টাইপগুলোর মধ্যে Bearer Token, Basic Auth, Digest Auth, OAuth 1.0, OAuth 2.0, API Key এবং AWS Signature অন্তর্ভুক্ত। Postman নির্বাচিত টাইপ অনুযায়ী Authorization হেডার স্বয়ংক্রিয়ভাবে যোগ করে, যা টোকেন ম্যানুয়ালি কপি না করেই সুরক্ষিত এন্ডপয়েন্ট পরীক্ষা দ্রুত করে।
Postman ইন্টারফেস-এ সাইড প্যানেল (Collections, APIs, Environments), কাজের এলাকা (Request Builder/Response Viewer) এবং নিচের প্যানেল (Console, Runner) থাকে। Params ট্যাব টেবিল ভিউতে URL-এর query-প্যারামিটার সম্পাদনা করতে দেয়, আর Headers ট্যাব HTTP হেডার পরিচালনা করে।
Console (View → Show Postman Console) মধ্যবর্তী রিডাইরেক্ট ও হেডারসহ সব নেটওয়ার্ক রিকোয়েস্ট ও রেসপন্স কালানুক্রমিকভাবে লগ করে। জটিল OAuth ফ্লো এবং রিডাইরেক্ট চেইন ডিবাগ করার সময় এটি অপরিহার্য, যখন স্ট্যান্ডার্ড Response Viewer শুধু চূড়ান্ত ফলাফল দেখায়।
Postman Fork ও Merge-এর মাধ্যমে কালেকশন ভার্সনিংসহ টিম ওয়ার্কস্পেস সমর্থন করে। টিম সদস্যরা রিকোয়েস্টে মন্তব্য করতে পারে, পরিবর্তন প্রস্তাব করতে পারে এবং রিয়েল-টাইমে কালেকশন সিঙ্ক করতে পারে। Public Workspace বহিরাগত ডেভেলপারদের জন্য API ডকুমেন্টেশন প্রকাশ করতে দেয়।
Postman-এ বেসিক রিকোয়েস্ট HTTP মেথড নির্বাচন করে এবং অ্যাড্রেস বারে URL লিখে তৈরি করা হয়। পাঠানোর পর, রেসপন্স নিচের প্যানেলে স্ট্যাটাস কোড, এক্সিকিউশন সময় এবং আকারসহ প্রদর্শিত হয়। রিকোয়েস্ট প্যারামিটার টাইপ করার সময় স্বয়ংক্রিয়ভাবে এনকোড হয়।
URL এবং রিকোয়েস্ট বডিতে {{$variable}} ফরম্যাটের ডায়নামিক ভেরিয়েবল ব্যবহার করা যায়। অন্তর্নির্মিত ভেরিয়েবল {{$guid}}, {{$timestamp}} এবং {{$randomInt}} প্রতিটি রিকোয়েস্টের জন্য অনন্য মান তৈরি করে। কোড স্নিপেট Code বাটনের (>) মাধ্যমে পাওয়া যায়, যা cURL, Python, JavaScript, Kotlin, Swift এবং অন্যান্য ভাষায় সমতুল্য রিকোয়েস্ট তৈরি করে।
// Pre-request-এ স্ক্রিপ্টের উদাহরণ: HMAC স্বাক্ষর তৈরি
const timestamp = Date.now().toString();
const secret = pm.environment.get("api_secret");
const hash = CryptoJS.HmacSHA256(timestamp, secret);
pm.request.headers.add({
key: "X-Signature",
value: hash.toString()
});
কালেকশন হলো সম্পর্কিত রিকোয়েস্টের গ্রুপ, যা প্রকল্প বা কার্যকরী মডিউল অনুযায়ী একত্রিত হয়। প্রতিটি কালেকশনে নেস্টেড ফোল্ডার, শেয়ার্ড হেডার এবং Pre-request স্ক্রিপ্ট থাকতে পারে, যা কালেকশনের প্রতিটি রিকোয়েস্টের আগে চলে। রিকোয়েস্টের ক্রম ড্র্যাগ করার মাধ্যমে নির্ধারিত হয়।
Postman পাঁচটি ভেরিয়েবল স্তর সমর্থন করে: global, collection, environment, data এবং local। দ্বন্দ্ব সমাধানের অগ্রাধিকার — লোকাল থেকে গ্লোবাল পর্যন্ত। এনভায়রনমেন্ট ফাইলে বিভিন্ন পরিবেশের জন্য key-value জোড়া থাকে: development, staging, production। এনভায়রনমেন্ট পরিবর্তন করলে সব URL এবং টোকেন স্বয়ংক্রিয়ভাবে বদলে যায়।
| স্তর | পরিধি | অগ্রাধিকার |
|---|---|---|
| Local | বর্তমান রিকোয়েস্ট | ১ (সর্বোচ্চ) |
| Data | Collection Runner (CSV/JSON থেকে) | ২ |
| Environment | সক্রিয় পরিবেশ | ৩ |
| Collection | পুরো কালেকশন | ৪ |
| Global | পুরো ওয়ার্কস্পেস | ৫ |
Postman Tests ট্যাবে JavaScript-এ টেস্ট লেখার সুযোগ দেয়, যা রেসপন্স পাওয়ার পর চলে। টেস্টগুলো স্ট্যাটাস কোড, রেসপন্স বডি, হেডার এবং এক্সিকিউশন সময় যাচাই করে। ফলাফল Test Results প্যানেলে রঙিন পাস ইন্ডিকেটরসহ প্রদর্শিত হয়।
pm অবজেক্ট রেসপন্স নিয়ে কাজ করার পদ্ধতি প্রদান করে: pm.response, pm.expect, pm.variables। রিকোয়েস্ট চেইনিং একটি রিকোয়েস্টের রেসপন্স থেকে ডেটা ভেরিয়েবলে সংরক্ষণ করে পরের রিকোয়েস্টে ব্যবহারের মাধ্যমে বাস্তবায়িত হয়। এটি ইন্টিগ্রেশন টেস্ট তৈরি এবং API কলের ক্রমের মাধ্যমে ব্যবসায়িক লজিক যাচাইয়ের ভিত্তি।
// টেস্ট: রেসপন্স স্ট্রাকচার যাচাই এবং টোকেন সংরক্ষণ
pm.test("Status code is 200", () => {
pm.response.to.have.status(200);
});
const json = pm.response.json();
pm.environment.set("auth_token", json.data.token);
Collection Runner কালেকশনের সব রিকোয়েস্ট ক্রমান্বয়ে চালায়, প্রতিটি ধাপে টেস্ট সম্পাদন করে। Newman হলো CI/CD পাইপলাইন (Jenkins, GitHub Actions, GitLab CI) এর জন্য Postman-এর কনসোল সংস্করণ। Newman মনিটরিং সিস্টেমের সাথে ইন্টিগ্রেশনের জন্য JSON, JUnit এবং HTML ফরম্যাটে রিপোর্ট এক্সপোর্ট করে।
Postman-এ GraphQL রিকোয়েস্ট JSON ফরম্যাটের বডিসহ একটি একক এন্ডপয়েন্টে POST-এর মাধ্যমে পাঠানো হয়। GraphQL (Beta) ট্যাব সিনট্যাক্স হাইলাইটিং, ফিল্ড অটোকমপ্লিশন এবং স্কিমাসহ ভিজ্যুয়াল এডিটর প্রদান করে। রিকোয়েস্ট ভেরিয়েবল আলাদা Variables প্যানেলে পাঠানো হয়।
Postman মেসেজ প্যানেলসহ একটি আলাদা ইন্টারফেসের মাধ্যমে WebSocket সংযোগ সমর্থন করে। টেক্সট ও বাইনারি মেসেজ পাঠানো যায়, সংযোগের ইতিহাস দেখা যায় এবং সংযোগ বিচ্ছিন্ন হলে স্বয়ংক্রিয়ভাবে পুনরায় সংযোগ করা যায়। Socket.IO ক্লায়েন্ট Engine.IO প্রোটোকলের সাথে সামঞ্জস্যপূর্ণ মোডে কাজ করে।
// pm API-এর মাধ্যমে Postman-এ WebSocket টেস্ট
const ws = new WebSocket("wss://echo.websocket.org");
ws.onmessage = (event) => {
pm.test("Echo response received", () => {
pm.expect(event.data).to.eql("Hello");
});
};
Postman-এর Mock-সার্ভার বিদ্যমান কালেকশনের ভিত্তিতে API এন্ডপয়েন্ট অনুকরণ করার সুযোগ দেয়। এটি তখন উপযোগী, যখন ব্যাকএন্ড এখনো প্রস্তুত নয়, কিন্তু ফ্রন্টএন্ড বা মোবাইল অ্যাপ ইতিমধ্যে তৈরি হচ্ছে। Mock-সার্ভার সঠিক হেডার এবং স্ট্যাটাস কোডসহ কালেকশন থেকে নমুনা রেসপন্স ফেরত দেয়।
Mock-সার্ভার এক ক্লিকে কালেকশন থেকে তৈরি হয়: কালেকশন নির্বাচন করুন → Mock Servers → Add a new mock server। Postman একটি অনন্য URL তৈরি করে, যা প্রকৃত API-এর পরিবর্তে অ্যাপ্লিকেশন কোডে ব্যবহার করা যায়। কালেকশনের প্রতিটি রিকোয়েস্টের জন্য মক সংরক্ষিত Example Response ফেরত দেয়, যা ব্যাকএন্ড শেষ হওয়ার আগেই UI যাচাই করতে দেয়।
Monitors কালেকশন সময়সূচিতে (প্রতি ৫ মিনিট, ঘণ্টা বা দিনে) চালায় এবং API-এর প্রাপ্যতা ও সঠিকতা যাচাই করে। টেস্ট ব্যর্থ হলে, মনিটর ইমেইল বা Slack-এ নোটিফিকেশন পাঠায়। মনিটরিং Postman ক্লাউড থেকে কাজ করে, আলাদা সার্ভারের প্রয়োজন হয় না এবং ফ্রি প্ল্যানে মাসে ১০,০০০ পর্যন্ত রিকোয়েস্ট সমর্থন করে।
// মনিটরিংয়ের জন্য টেস্ট: রেসপন্স সময় যাচাই
pm.test("Response time < 2000ms", () => {
pm.expect(pm.response.responseTime).to.be.below(2000);
});
pm.test("Content-Type is JSON", () => {
pm.response.to.have.header("Content-Type");
});
Postman API কী নিয়ে নিরাপদ কাজের জন্য প্রক্রিয়া প্রদান করে। Secret টাইপের ভেরিয়েবল এনক্রিপ্টেড থাকে এবং ইন্টারফেসে প্রদর্শিত হয় না। টিম কাজের জন্য Admin, Editor এবং Viewer রোলসহ Workspace ব্যবহার করুন।
এনভায়রনমেন্ট ভেরিয়েবল তৈরি করার সময় Secret টাইপ নির্বাচন করুন — সব ইন্টারফেসে মান তারকাচিহ্ন দিয়ে লুকানো থাকে। সিক্রেট শেয়ার করার সময় কালেকশনে এক্সপোর্ট হয় না এবং Newman লগে প্রদর্শিত হয় না। পাসওয়ার্ড ও টোকেন শুধুমাত্র Secret ভেরিয়েবলে সংরক্ষণ করার পরামর্শ দেওয়া হয়।
Postman HashiCorp Vault এবং AWS Secrets Manager-এর সাথে ইন্টিগ্রেশন সমর্থন করে। Pre-request স্ক্রিপ্ট বাহ্যিক স্টোরেজ থেকে সিক্রেট গতিশীলভাবে অনুরোধ করতে পারে, যা কালেকশন এনভায়রনমেন্ট ফাইলে সংবেদনশীল ডেটা সংরক্ষণ এড়ায়।
Postman API কী নিয়ে নিরাপদ কাজের জন্য প্রক্রিয়া প্রদান করে। Secret টাইপের ভেরিয়েবল এনক্রিপ্টেড থাকে এবং ইন্টারফেসে প্রদর্শিত হয় না। টিম কাজের জন্য Admin, Editor এবং Viewer রোলসহ Workspace ব্যবহার করুন।
এনভায়রনমেন্ট ভেরিয়েবল তৈরি করার সময় Secret টাইপ নির্বাচন করুন — সব ইন্টারফেসে মান তারকাচিহ্ন দিয়ে লুকানো থাকে। সিক্রেট শেয়ার করার সময় কালেকশনে এক্সপোর্ট হয় না এবং Newman লগে প্রদর্শিত হয় না। পাসওয়ার্ড ও টোকেন শুধুমাত্র Secret ভেরিয়েবলে সংরক্ষণ করার পরামর্শ দেওয়া হয়।
Postman HashiCorp Vault এবং AWS Secrets Manager-এর সাথে ইন্টিগ্রেশন সমর্থন করে। Pre-request স্ক্রিপ্ট বাহ্যিক স্টোরেজ থেকে সিক্রেট গতিশীলভাবে অনুরোধ করতে পারে, যা কালেকশন এনভায়রনমেন্ট ফাইলে সংবেদনশীল ডেটা সংরক্ষণ এড়ায়।
সচরাচর জিজ্ঞাসিত প্রশ্ন
Postman একটি বিস্তৃত ইকোসিস্টেম প্রদান করে: কালেকশন, এনভায়রনমেন্ট, মনিটরিং, mock-সার্ভার এবং CI/CD-এর জন্য Newman। Insomnia কম মেমরি খরচে হালকাতা ও গতির উপর ফোকাস করে। টিম কাজের জন্য Postman ভালো, ব্যক্তিগত ব্যবহারের জন্য Insomnia।
প্রথম রিকোয়েস্টের Tests-এ, টোকেন এনভায়রনমেন্টে সংরক্ষণ করুন: pm.environment.set("token", pm.response.json().token)। দ্বিতীয় রিকোয়েস্টে, Authorization হেডারে {{$token}} ভেরিয়েবল ব্যবহার করুন। ক্রমানুসারে চালালে Runner মান স্বয়ংক্রিয়ভাবে বসিয়ে দেবে।
হ্যাঁ, Import → Raw Text বাটনের মাধ্যমে। Postman cURL কমান্ড স্বয়ংক্রিয়ভাবে পার্স করে এবং হেডার, মেথড ও বডিসহ রিকোয়েস্ট তৈরি করে। -H, -d, -F এবং -u সহ সব cURL ফ্ল্যাগ সমর্থিত। রিভার্স কনভার্সন Code বাটনের (>) মাধ্যমে উপলব্ধ।
JSON বডিসহ POST রিকোয়েস্ট ব্যবহার করুন: {"query": "..."}। GraphQL ট্যাব Introspection Query-এর মাধ্যমে স্কিমা লোডিংসহ ভিজ্যুয়াল এডিটর প্রদান করে। রিকোয়েস্ট ভেরিয়েবল একই JSON অবজেক্টের variables ফিল্ডে পাঠানো হয়।
Newman হলো CI/CD-তে কালেকশন চালানোর জন্য Postman-এর কনসোল সংস্করণ। এটি npm-এর মাধ্যমে ইনস্টল হয়, HTML রিপোর্ট এবং Jenkins, GitHub Actions ও GitLab CI-এর সাথে ইন্টিগ্রেশন সমর্থন করে। এটি গ্রাফিক্যাল ইন্টারফেস ছাড়াই API রিগ্রেশন পরীক্ষা স্বয়ংক্রিয় করার সুযোগ দেয়।
সারসংক্ষেপ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন