Postman — گرافیکل انٹرفیس کے ساتھ API ٹیسٹنگ کا ایک پلیٹ فارم ہے، جو REST، GraphQL، WebSocket اور gRPC پروٹوکول کو سپورٹ کرتا ہے۔ یہ ٹول HTTP درخواستیں بنانے اور بھیجنے، انہیں کلیکشنز میں ترتیب دینے، اسکرپٹ کے ذریعے ٹیسٹنگ کو خودکار بنانے اور اینڈ پوائنٹس کے لیے دستاویزات تیار کرنے کی سہولت دیتا ہے۔ Postman Learning Center (2026) کے مطابق، دنیا بھر میں 25 ملین سے زیادہ ڈویلپرز اس پلیٹ فارم کو استعمال کرتے ہیں۔
اہم نکات
Postman API تیار کرنے اور ٹیسٹ کرنے کا ایک پلیٹ فارم ہے، جو ڈیسک ٹاپ ایپلیکیشن (Windows، macOS، Linux) اور ویب ورژن کے طور پر دستیاب ہے۔ 2012 میں 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۔ ماحول تبدیل کرنے سے تمام URLs اور ٹوکنز خودکار طور پر بدل جاتے ہیں۔
| سطح | دائرہ | ترجیح |
|---|---|---|
| Local | موجودہ درخواست | 1 (سب سے زیادہ) |
| Data | Collection Runner (CSV/JSON سے) | 2 |
| Environment | فعال ماحول | 3 |
| Collection | پوری کلیکشن | 4 |
| Global | پورا ورک اسپیس | 5 |
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 کلیکشن کو شیڈول کے مطابق چلاتے ہیں (ہر 5 منٹ، گھنٹے یا دن میں) اور API کی دستیابی اور درستگی کی جانچ کرتے ہیں۔ ٹیسٹ ناکام ہونے پر، مانیٹر ای میل یا Slack پر اطلاع بھیجتا ہے۔ مانیٹرنگ Postman کلاؤڈ سے کام کرتی ہے، الگ سرور کی ضرورت نہیں ہوتی اور مفت پلان پر ماہانہ 10,000 تک درخواستوں کو سپورٹ کرتی ہے۔
// مانیٹرنگ کے لیے ٹیسٹ: جواب کا وقت جانچنا
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 ایپلیکیشنز بناتا ہے۔ ہم آپ کو مشورہ دیں گے اور بہترین حل تجویز کریں گے۔
مزید پڑھیں