علمی اساس

WHMCS سے Zinn® ہوسٹنگ فروخت کریں

WHMCS میں مفت Zinn Digital پروویژننگ ماڈیول انسٹال کریں: API کلید اور اس کی ضرورت کی سات اجازتیں، ماڈیول ڈائریکٹری کو کہاں جانا ہے اور اس کا نام کیوں اہم ہے، پروڈکٹ کے فیلڈز، اور ہر WHMCS بٹن اصل میں کیا کرتا ہے۔

Zinn Digital® ماڈیول WHMCS کے اپنے بٹنز کو ہمارے پلیٹ فارم پر حقیقی کارروائیوں میں تبدیل کرتا ہے۔ ایک آرڈر آپ کے کلائنٹ کی ہوسٹنگ کو پروویژن (provision) کرتا ہے۔ WHMCS کی واجب الادا انوائس آٹومیشن اسے معطل (suspend) کر دیتی ہے۔ انوائس کو ادا شدہ نشان زد کرنے سے یہ بحال ہو جاتی ہے۔ منسوخ کرنے سے ڈیلیشن (حذف کرنے) کا وقت طے ہوتا ہے۔ اور آپ کے کلائنٹ کو ان کے کلائنٹ ایریا میں Log in to hosting panel کا بٹن ملتا ہے جو انہیں براہ راست سائن ان کر دیتا ہے۔

یہ مفت ہے، GPL-2.0-or-later کے تحت لائسنس یافتہ ہے، اور ہمارے پلیٹ فارم تک اس کا کوئی خاص ترجیحی راستہ (privileged path) نہیں ہے: اس کی کی جانے والی ہر کال ایک مستند اینڈ پوائنٹ (endpoint) ہے جسے آپ اپنی API key کے ذریعے خود بھی کر سکتے ہیں۔

شروع کرنے سے پہلے

آپ کو دو چیزوں کی ضرورت ہے، اور دوسری چیز اکثر لوگوں کی توجہ سے رہ جاتی ہے۔

  1. ایک فعال پروگرام کے ساتھ Zinn® reseller اکاؤنٹ۔ zinndigital.com پر سائن اپ کریں اور رسیلنگ آن کریں۔
  2. سائٹ الاؤنس کے ساتھ ایک reseller پلان۔ جو سائٹس آپ کے کلائنٹس آرڈر کرتے ہیں وہ آپ کے پلان میں شمار ہوتی ہیں، اس لیے آپ کو ایک ایسے پلان کی ضرورت ہے جس میں جگہ ہو۔

⚠️ Test Connection آپ کو یہ نہیں بتا سکتا کہ آیا کوئی آرڈر کامیاب ہوگا یا نہیں۔ یہ آپ کے پروگرام کو پڑھتا ہے اور کچھ بھی پروویژن نہیں کرتا، اس لیے یہ ایک ایسے فعال (active) اکاؤنٹ کی رپورٹ دیتا ہے جو ابھی کچھ بھی فروخت نہیں کر سکتا۔ اگر آپ کا پہلا آرڈر "This organization has no hosting plan, so it cannot host a site yet" کے ساتھ ناکام ہو جاتا ہے، تو یہی ہوا ہے — اپنا reseller پلان خریدیں یا اس میں توسیع کریں اور آرڈر دوبارہ دیں۔ ماڈیول میں کوئی خرابی نہیں ہے۔

1. API key بنائیں

اپنے Zinn® ڈیش بورڈ میں، API keys کھولیں اور بالکل ان گیارہ اجازتوں (permissions) کے ساتھ ایک کی (key) بنائیں:

| اجازت (Permission) | یہ کیوں ضروری ہے | | -------------------- | ----------------------------------------------------------- | | org.create | اپنے کلائنٹ کا Zinn® اکاؤنٹ ان کے پہلے آرڈر پر کھولیں۔ | | org.read | اپنے کلائنٹ اکاؤنٹس کو پڑھیں۔ | | sites.create | سائٹ کو پروویژن کریں۔ | | sites.view | سروس اور اس کے استعمال کو پڑھیں۔ | | sites.delete | ختم (Terminate) کریں۔ | | reseller.view | جو کچھ آپ نے فروخت کیا ہے اس کی فہرست بنائیں، اور ڈسک و بینڈوڈتھ کو پڑھیں۔ | | reseller.provision | معطل کریں، بحال کریں، کلائنٹ کو سائن ان کریں، ان کا پلان سیٹ کریں اور ان کا پیکیج تبدیل کریں۔ | | billing.view | اپ گریڈ کرنے سے پہلے یہ پڑھیں کہ اس پر کتنی لاگت آئے گی۔ | | sites.manage | کیشے پاک (purge) کریں اور بٹنز سے بیک اپ لیں۔ | | sites.panel_access | WordPress ایڈمنسٹریٹر کا پاس ورڈ تبدیل کریں۔ | | hosting.php.manage | اپ گریڈ یا ڈاؤن گریڈ پر PHP ورژن تبدیل کریں۔ |

reseller.manage کی اجازت نہ دیں۔ بلنگ پینل میں پیسٹ کی گئی کی (key) کو غیر ادائیگی کی صورت میں کلائنٹ کو ہولڈ پر رکھنے اور انہیں سائن ان کرنے کے قابل ہونا چاہیے۔ اسے آپ کے اپنے پیمنٹ گیٹ وے کے کریڈنشلز کو پڑھنے اور دوبارہ لکھنے کے قابل نہیں ہونا چاہیے۔ reseller.provision اسی لیے موجود ہے تاکہ آپ کو بڑی اجازت نہ دینی پڑے۔ ⛔ org.create اختیاری نہیں ہے۔ اس کے بغیر ماڈیول آپ کے اکاؤنٹس کو پڑھ تو سکتا ہے لیکن نیا اکاؤنٹ نہیں کھول سکتا، اس لیے Test Connection پاس ہو جاتا ہے اور پہلا آرڈر 403 کا جواب دیتا ہے۔ ⛔⛔ پورے ٹیبل کی اجازت دیں، اور یاد رکھیں کہ Test Connection آپ کو یہ نہیں بتا سکتا کہ آیا آپ نے ایسا نہیں کیا۔ یہ آپ کے reseller پروگرام کو پڑھتا ہے اور کچھ بھی پروویژن نہیں کرتا، اس لیے یہ ان میں سے کسی بھی اجازت کے بغیر کی (key) کے لیے گرین دکھاتا ہے۔ اس کے بجائے آپ کو اس ایک آپریشن پر 403 ملتا ہے جسے چھوٹ جانے والی اجازت کور کرتی ہے، مہینوں بعد، کسی کسٹمر کی طرف سے۔

2. ماڈیول انسٹال کریں

  1. ماڈیول ڈاؤن لوڈ کریں اور اسے ان زپ (unzip) کریں۔
  2. zinn ڈائرکٹری کو اپنی WHMCS انسٹالیشن میں اپ لوڈ کریں تاکہ ماڈیول فائل modules/servers/zinn/zinn.php پر پہنچ جائے۔

ڈائرکٹری کا نام zinn ہی ہونا چاہیے۔ WHMCS ایک پروویژننگ ماڈیول کے فنکشن کے نام اس کے ڈائرکٹری نام سے اخذ کرتا ہے، اس لیے اس کا نام بدل کر zinn-whmcs یا zinndigital رکھنے سے ایک ایسا ماڈیول بنتا ہے جسے WHMCS لسٹ کرتا ہے، آپ کو منتخب کرنے دیتا ہے، اور پھر کبھی کال نہیں کرتا — بغیر کسی ایرر کے۔ زپ فائل پہلے ہی صحیح نام سے ان پیک ہوتی ہے؛ بس اس کا نام نہ بدلیں۔

3. سرور شامل کریں

WHMCS میں: Configuration ← System Settings ← Servers ← Add New Server۔

  • Name: کچھ بھی، جیسے Zinn Digital®
  • Hostname: api.zinndigital.com
  • Type: Zinn Digital®
  • Password: قدم 1 سے آپ کی API key

⛔ کی (key) Password فیلڈ میں جاتی ہے، جسے WHMCS انکرپٹڈ محفوظ کرتا ہے۔ اسے پروڈکٹ کنفیگریشن اپشن میں نہ ڈالیں — وہ ڈیٹا بیس میں پلین ٹیکسٹ میں ہوتے ہیں اور ہر ایڈمن کو نظر آتے ہیں، اور یہ کریڈنشل آپ کے کلائنٹس کی ہوسٹنگ بنا بھی سکتا ہے اور تباہ بھی کر سکتا ہے۔

Test Connection دبائیں۔ یہ فیلڈز کے بھرے ہونے کی جانچ کرنے کے بجائے ایک حقیقی کال کرتا ہے اور یہ رپورٹ کرتا ہے کہ ہمارے پلیٹ فارم نے کیا جواب دیا۔

4. پروڈکٹ بنائیں

Configuration ← System Settings ← Products/Services، پھر Module Settings کو اس سرور پر سیٹ کریں جو آپ نے ابھی شامل کیا ہے۔ فیلڈز درج ذیل ہیں:

| فیلڈ | ضروری ہے | یہ کیا ہے | | ---------------- | -------- | -------------------------------------------------------------------------- | | Product line | ہاں | وہ Zinn® لائن جو آپ بیچ رہے ہیں — mainstream (میڈیجڈ WordPress)، footprint_free، wordpress، linux، cloud، agency، app_hosting، ai_hosting، lms_hosting، managed_database، vector_hosting، zinn_compute، fleet_linux، fleet_enterprise، mail یا reseller۔ | | Stack | ہاں | کیا بنایا جاتا ہے: wordpress (ڈیفالٹ)، woocommerce، php، static، node، one_click، headless_cms، nextcloud یا owncloud۔ | | Application | نہیں | صرف one_click اور headless_cms اسٹیکس کے لیے — کون سی ایپلی کیشن انسٹال کرنی ہے۔ کسی دوسرے اسٹیک پر کسی کا نام دینا مسترد کر دیا جاتا ہے، کیونکہ وہ اسٹیک پہلے ہی طے کرتا ہے کہ کیا انسٹال ہوگا۔ | | PHP version | نہیں | جیسے 8.3۔ لائن کے ڈیفالٹ کے لیے خالی چھوڑ دیں۔ وہ ورژن جو لائن پیش نہیں کرتی، پیش کیے جانے والے ورژنز کی فہرست کے ساتھ مسترد کر دیا جاتا ہے۔ | | Plan code | ہاں | Zinn® پلان جو یہ پروڈکٹ بیچتا ہے۔ GET /v1/reseller/prices آپ کی فہرست دکھاتا ہے۔ اس کے بغیر آرڈر مسترد کر دیا جاتا ہے — نیچے دی گئی تنبیہ دیکھیں۔ | | Billing interval | نہیں | monthly (ڈیفالٹ) یا annual — وہ وقفہ جس پر اس کلائنٹ کے لیے آپ کی ہول سیل لائن قائم کی جاتی ہے۔ آپ اپنے کلائنٹ سے جو چارج کرتے ہیں وہ WHMCS پروڈکٹ پر سیٹ ہوتا ہے اور غیر متاثر رہتا ہے۔ |

⛔⛔ Plan code ضروری ہے، اور اس کے بغیر آرڈر جان بوجھ کر مسترد کر دیا جاتا ہے۔ 2026-09-01 تک یہ فیلڈ صرف دکھاوے کے لیے تھی اور کوئی چیز اسے نہیں پڑھتی تھی، اس لیے ماڈیول ایسی ہوسٹنگ کا آرڈر دیتا تھا جس میں کوئی پلان ہی نہیں ہوتا تھا — اور اس کا ہر نتیجہ خاموش رہتا تھا۔ آپ کا ہول سیل سٹیٹمنٹ آپ کے کلائنٹس کی لائیو سبسکرپشنز سے بنتا ہے، اس لیے جب تک وہ چلتی رہی سروس کے لیے کوئی لائن نہیں تھی اور آپ سے کچھ بھی چارج نہیں کیا گیا؛ آپ کے کلائنٹ کو کوئی الاؤنسز نہیں ملے، اس لیے ان کی سائٹ پر کوئی ڈسک یا فائل کوٹہ لاگو نہیں ہوا؛ اور Change Package کے پاس تبدیل کرنے کے لیے کچھ نہیں تھا، اس لیے آپ کی فروخت کردہ اپ گریڈ انجام نہیں دی جا سکی۔ سائٹ اس پورے عرصے میں بالکل ٹھیک پروویژن ہوئی اور چلتی رہی۔

ماڈیول اب اس کے بجائے آرڈر کو مسترد کر دیتا ہے، کیونکہ اس کے پاس اندازہ لگانے کے لیے کوئی محفوظ پلان نہیں ہے: اندازہ لگانے سے ایک ایسے پلان پر ہوسٹنگ پروویژن ہو جائے گی جسے آپ نے منتخب نہیں کیا تھا اور ہو سکتا ہے اس کی قیمت متعین نہ کی ہو، اور — منسوخی کے برعکس، جسے آپ فوری طور پر پڑھ لیتے ہیں — یہ صرف تب سامنے آئے گا جب کوئی سٹیٹمنٹ آئے گا، اگر آئے۔

Auto Setup کو اپنی پسند کے مطابق سیٹ کریں — ماڈیول WHMCS سروس ID پر آئیڈمپوٹینٹ (idempotent) ہے، اس لیے دوبارہ کوشش کی گئی پروویژننگ آپ سے دوسری سائٹ کا بل لینے کے بجائے وہی سائٹ واپس کرتی ہے۔

WHMCS کا ہر ایکشن کیا کرتا ہے

| WHMCS ایکشن | ہماری طرف کیا ہوتا ہے | | --------------------------- | ---------------------------------------------------------------------------------------- | | Create | کلائنٹ کا Zinn® اکاؤنٹ بناتا ہے (یا پہلے سے موجود اکاؤنٹ کو دوبارہ استعمال کرتا ہے) اور ان کی سائٹ پروویژن کرتا ہے۔ | | Suspend | سائٹ کو غیر ادائیگی کے ہولڈ پر رکھتا ہے۔ مواد برقرار رہتا ہے؛ کچھ بھی حذف نہیں ہوتا۔ | | Unsuspend | آپ کا ہولڈ ختم کرتا ہے۔ | | Terminate | رعاِتی مدت (grace period) کے ساتھ سائٹ کے ڈیلیشن کا وقت طے کرتا ہے۔ تاریخ کلائنٹ ایریا میں نظر آتی ہے۔ | | Usage update | دن میں ایک بار، ہر سروس پر ڈسک اور بینڈوڈتھ کو تازہ کرتا ہے۔ | | Log in to hosting panel | آپ کے کلائنٹ کے پینل میں براہ راست ایک بار استعمال ہونے والا سائن ان لنک کھولتا ہے۔ | | Change Package | سروس کو اپ گریڈ یا ڈاؤن گریڈ کرتا ہے۔ پیکیج کو منتقل کرتا ہے، اور PHP ورژن کو بھی اگر نیا پروڈکٹ کسی کا نام دیتا ہے۔ | | Change Password | WordPress ایڈمنسٹریٹر کا پاس ورڈ سیٹ کرتا ہے۔ یہ باکس ان اسٹیکس پر ظاہر نہیں ہوتا جن کا ایسا کوئی اکاؤنٹ نہیں ہے۔ | | Renew | تصدیق کرتا ہے کہ سروس ابھی بھی موجود ہے۔ Zinn® ہوسٹنگ مسلسل ہوتی ہے، اس لیے کیسی ریموٹ مدت کو بڑھانا نہیں ہوتا۔ | | Sync Usage / Purge Cache / Take Backup | ایڈمن سروس پیج پر بٹنز۔ آپ کے کلائنٹ کو ان کے کلائنٹ ایریا میں Purge Cache اور Take Backup ملتے ہیں۔ | | Service tab | اسٹیٹس، پلان، ڈسک، بینڈوڈتھ، کوئی بھی شیڈول شدہ ڈیلیشن، اور کس نے معطلی لاگو کی ہے۔ | | Import | ListAccounts ہر صفحے کو پڑھتا ہے، اس لیے ایک امپورٹ پہلے صفحے پر خاموشی سے نہیں رک سکتا۔ |

اپ گریڈز: کون کس سے چارج کرتا ہے

آپ کے کلائنٹ کو کبھی بھی Zinn® کی طرف سے انوائس نہیں بھیجی جاتی، نہ آرڈر پر اور نہ اپ گریڈ پر۔ آپ انہیں WHMCS کے ذریعے بل بھیجتے ہیں؛ ہم آپ کو، آپ کے ہول سیل سٹیٹمنٹ پر بل بھیجتے ہیں۔ اس لیے Change Package آپ کے کلائنٹ کے حقوق اور آپ کے اگلے سٹیٹمنٹ پر موجود لائن کو منتقل کرتا ہے، اور کسی کارڈ کو چھوتا تک نہیں — WHMCS پہلے ہی آپ کے کلائنٹ کے پیسے لے چکا ہے اور اپنے تناسب (proration) کا حساب لگا چکا ہے۔

کلائنٹ کی دوسری سروس۔ اسی پلان پر یہ اس پلان کے اپنے سائٹ الاؤنس کے تحت ایک اور سائٹ ہے، اور کچھ بھی اضافی نہیں دیا جاتا۔ ایک مختلف پلان پر اسے مسترد کر دیا جاتا ہے: لائیو پلان کو تبدیل کرنے سے دو سروسز میں سے ایک بغیر بل کے رہ جائے گی۔ یا تو دونوں کو ایک ہی پلان پر بیچیں، یا کلائنٹ کو WHMCS میں ایک الگ کلائنٹ ریکارڈ کے طور پر سیٹ کریں۔

Change Password صرف WordPress کے لیے موجود ہے۔ Zinn® ہوسٹنگ کا کوئی ایک "سروس پاس ورڈ" نہیں ہوتا — آپ کا کلائنٹ سائن ان بٹن کے ذریعے اپنے پینل تک پہنچتا ہے — اور php یا static سائٹ کے پاس تبدیل کرنے کے لیے کوئی ایپلی کیشن اکاؤنٹ نہیں ہوتا۔ WHMCS ایسا باکس دکھانے کے بجائے جو کام نہ کر سکے، اسے مکمل طور پر چھپا دیتا ہے۔

تین جوابات جنہیں آپ کو دو میں نہیں بدلنا چاہیے

  • Unsuspend منسوخی کے ساتھ جواب دے سکتا ہے۔ اس کا مطلب ہے کہ سائٹ کو ہماری ابیوز ٹیم نے معطل کیا تھا، آپ نے نہیں، اور کوئی بھی بلنگ پینل اسے بحال نہیں کر سکتا۔ پیغام میں ایسا لکھا ہوتا ہے؛ دوبارہ کوشش کرنے کے بجائے اسے اپنے ایڈمن کو دکھائیں۔
  • Terminate ڈیلیشن کا وقت طے کرتا ہے، یہ ڈیلیشن انجام نہیں دیتا۔ تاریخ pending_deletion_at کے طور پر واپس آتی ہے اور کلائنٹ ایریا اسے دکھاتا ہے۔ کسی کسٹمر کو یہ بتانا کہ ان کا ڈیٹا پہلے ہی جا چکا ہے جبکہ ایسا نہیں ہوا ہے، انہیں کچھ نہ بتانے سے زیادہ برا ہے۔
  • ڈسک اور بینڈوڈتھ نامعلوم ہو سکتے ہیں، اور نامعلوم کا مطلب صفر نہیں ہے۔ جب ہم ریڈنگ نہ لے سکے تو ماڈیول 0 لکھنے کے بجائے ہندسے کو ویسے ہی چھوڑ دیتا ہے — ورنہ WHMCS آپ کے کسٹمر کو ایک ایسی سائٹ کے لیے اطمینان بخش خالی یوزیج بار دکھائے گا جس سے ہمارے پاس کوئی ریڈنگ نہیں ہے۔

مسائل کا حل (Troubleshooting)

Test Connection پاس ہو جاتا ہے اور پہلا آرڈر پرمیشن ایرر کے ساتھ ناکام ہو جاتا ہے۔ API key میں org.create موجود نہیں ہے۔ ماڈیول کو کلائنٹ کی سائٹ بنانے سے پہلے ان کا اکاؤنٹ کھولنا ہوتا ہے۔

ایک آرڈر یہ کہتے ہوئے ناکام ہو جاتا ہے کہ آرگنائزیشن کے پاس کوئی ہوسٹنگ پلان نہیں ہے۔ آپ کے reseller پلان میں کوئی سائٹ الاؤنس باقی نہیں بچا ہے، یا آپ کے پاس ابھی تک کوئی پلان نہیں ہے۔ اوپر شروع کرنے سے پہلے دیکھیں۔

ایک آرڈر اسٹیک کا ذکر کرتے ہوئے ناکام ہو جاتا ہے۔ پروڈکٹ پر Stack فیلڈ خالی ہے یا کسی ایسی چیز کا نام دیتی ہے جو ہم نہیں بناتے اسے wordpress پر سیٹ کریں جب تک کہ آپ کچھ اور نہ بیچ رہے ہوں۔

منسوخیاں ناکام ہو رہی ہیں۔ تصیح کریں کہ آپ ماڈیول ورژن 1.0.0 یا بعد کے ورژن پر ہیں۔ پہلے کے بلڈز نے ڈیلیشن کی تصدیق نہیں بھیجی اور ہر ٹرمینیشن کو مسترد کر دیا گیا، جس کی وجہ سے سروس چلتی رہی اور بل بنتا رہا۔

ایک منسوخی جو کسی فیلڈ کا نام دیتی ہے۔ ہمارے ویلیڈیشن ایررز پیغام کے بعد بریکٹ میں فیلڈ اور وجہ کا نام دیتے ہیں، جیسے (php_version: 7.2 is not offered on this product line)۔ یہ قابل عمل حصہ ہے — اس کے سامنے والا جملہ جان بوجھ کر عام ہے۔

اپنے ڈاؤن لوڈ کی تصدیق کریں

ہر آرکائیو ہمارے اپنے ہوسٹ نیم سے TLS کے ذریعے فراہم کی جاتی ہے اور اسے کبھی بھی کسی تھرڈ پارٹی ہوسٹ پر ری ڈائریکٹ نہیں کیا جاتا۔ اس کا SHA-256 چیک سم ڈاؤن لوڈز پیج پر ڈاؤن لوڈ لنک کے ساتھ پرنٹ ہوتا ہے۔ ڈاؤن لوڈ کرنے کے بعد اس کا موازنہ کریں:

  • macOS یا Linux: shasum -a 256 zinn-whmcs-1.0.0.zip
  • Windows: certutil -hashfile zinn-whmcs-1.0.0.zip SHA256

WHMCS پر نہیں ہیں؟

کسی بھی دوسری چیز کے لیے ایک HostBill ماڈیول اور ایک سنگل فائل PHP کلائنٹ موجود ہے، دونوں مفت ہیں اور دونوں اسی ڈاؤن لوڈز پیج پر ہیں۔ ماڈیولز جو بھی اینڈ پوائنٹ استعمال کرتے ہیں وہ API reference میں موجود ہے۔

کیا اب بھی پھنسے ہوئے ہیں؟

ہر پلان میں سپورٹ شامل ہے اور آپ کی اپنی زبان میں جوابات ملتے ہیں۔

سپورٹ سے رابطہ کریں تمام مضامین