علمی اساس
اپنے سسٹمز سے Zinn® ہوسٹنگ فروخت کرنا
اپنے بلنگ پینل، WordPress سائٹ یا اسکرپٹس سے Zinn ہوسٹنگ کا نظم کریں: ایک API کلی حاصل کریں، اپنی پہلی کال کریں، اور وہ چھ کالیں جن پر پورا انٹیگریشن مشتمل ہے۔
آپ ہماری ہوسٹنگ کو دوبارہ فروخت کرتے ہیں (ری سیل کرتے ہیں)۔ آپ کے کلائنٹس آپ کے اپنے ہیں: آپ کی اپنی قیمتیں، آپ کے اپنے انوائسز، آپ کا اپنا پیمنٹ فراہم کنندہ۔ آپ ہماری پلیٹ فارم کو اپنے موجودہ طریقہ کار کے ذریعے اس طرح چلا سکتے ہیں — چاہے وہ بلنگ پینل ہو، آپ کی اپنی WordPress سائٹ ہو، یا کوئی سکرپٹ ہو۔
آپ کے کلائنٹس درحقیقت کیا دیکھتے ہیں
طریقہ کار سے پہلے: آپ کے کلائنٹس کو ہمیں کبھی دیکھنے کی ضرورت نہیں پڑتی۔ تین درمیانی راستے (surfaces) ہیں، اور آپ ان میں سے انتخاب کرتے ہیں جسے آپ استعمال کرنا چاہتے ہیں۔
| Surface | کس کی ملکیت ہے | |---|---| | ہوسٹنگ پینل، آپ کے اپنے ہوسٹ نام پر | Reselling ← Your brand کے تحت پینل کا ہوسٹ نام سیٹ کریں اور آپ کے کلائنٹس اپنے لوگو اور رنگوں کے ساتھ panel.yourcompany.com پر سائن ان کریں گے۔ وہی پینل، آپ کا اپنا پتہ۔ | | آپ کی اپنی ویب سائٹ | WordPress پلگ ان آپ کی سائٹ پر ڈومین کی تلاش اور ون کلک سائن ان لنک شامل کرتا ہے، اور آپ کے اپنے WooCommerce چیک آؤٹ کے ذریعے آرڈر مکمل کرتا ہے۔ | | آپ کا بلنگ پینل | WHMCS یا HostBill اصل انٹرفیس کے طور پر رہتا ہے؛ ماڈیول اس کے پیچھے سروس مہیا کرتا ہے اور کلائنٹ ایریا کا بٹن انہیں براہ راست ان کی ہوسٹنگ میں سائن ان کر دیتا ہے۔ |
⛔ آپ جو بھی طریقہ منتخب کریں، آپ اپنے کلائنٹس کے لیے مرچنٹ آف ریکارڈ (merchant of record) ہیں: آپ کی قیمتیں، آپ کے انوائسز، آپ کا VAT نمبر، آپ کا پیمنٹ فراہم کنندہ۔ ہم آپ کو مہینے میں ایک بار ہول سیل شرح پر بل بھیجتے ہیں۔
ایک بار جب آپ پینل کا ہوسٹ نام سیٹ کر لیں، تو اسے WordPress پلگ ان کے Panel address فیلڈ میں درج کریں اور کسی اور جگہ نہیں — یہ API جو سائن ان لنکس تخلیق کرتی ہے وہ خود بخود اس کی پیروی کرتے ہیں۔
اندر داخل ہونے کے چار طریقے
اندر داخل ہونے کے چار طریقے ہیں، اور وہ تمام پس منظر میں ایک ہی کام کرتے ہیں:
| | کے لیے | |---|---| | WHMCS ماڈیول | ایک WHMCS شاپ | | HostBill ماڈیول | ایک HostBill شاپ | | WordPress پلگ ان | آپ کی اپنی WordPress یا WooCommerce سائٹ سے فروخت کے لیے | | API | کسی بھی دوسری چیز کے لیے — Blesta، ایک اندرونی سسٹم، یا cron سکرپٹ |
1. API کی حاصل کریں
اپنے ڈیش بورڈ میں، API keys پر جائیں اور ایک نئی کی (key) بنائیں۔ اسے صرف ان چیزوں کی اجازت دیں جن کی اسے ضرورت ہے:
| اجازت | کیوں | |---|---| | org.read | اپنے کلائنٹ اکاؤنٹس کو پڑھنے کے لیے | | sites.create | ایک سائٹ فعال (provision) کرنے کے لیے | | sites.view | ایک سروس پڑھنے کے لیے | | sites.delete | سروس ختم (terminate) کرنے کے لیے | | reseller.view | اپنی سروسز کی فہرست دیکھنے اور استعمال کو پڑھنے کے لیے | | reseller.provision | کلائنٹ کو معطل کرنے، بحال کرنے اور سائن ان کرنے کے لیے |
⛔ کسی انٹیگریشن کو reseller.manage کی اجازت نہ دیں۔ وہ اجازت آپ کی قیمتوں کی فہرست اور آپ کے اپنے پیمنٹ گیٹ وے کی معلومات کو ایڈٹ کرتی ہے۔ reseller.provision خاص طور پر اس لیے موجود ہے تاکہ وہ کی (key) جسے آپ کسی بلنگ پینل یا ویب سائٹ میں پیسٹ کرتے ہیں، اسے اس کی ضرورت نہ پڑے۔
یہ کی (key) صرف ایک بار دکھائی جاتی ہے۔ اسے وہاں محفوظ کریں جہاں آپ اپنی دیگر معلومات محفوظ کرتے ہیں — اسے کبھی بھی ایسی فائل میں نہ رکھیں جو آپ کا ویب سرور ظاہر کرتا ہو۔
2. اپنی پہلی کال کریں
curl https://api.zinndigital.com/v1/reseller/services \
-H "Authorization: Bearer zdk_live_…"
یہ آپ کی فراہم کردہ ہر سروس، ہر سائٹ کے لیے ایک رو (row)، اس کے متعلقہ کلائنٹ، اس کی صورتحال، اور آپ اس کے لیے کیا چارج کرتے ہیں، واپس لوٹاتا ہے۔ ایک نئے اکاؤنٹ پر یہ ایک خالی فہرست ہوتی ہے — جو کہ صحیح جواب ہے، کوئی خرابی نہیں۔
3. مکمل انٹیگریشن، چھ کالز میں
WHEN CALL
an order is paid POST /v1/orgs once per CUSTOMER
POST /v1/sites once per SERVICE
they have not paid POST /v1/reseller/services/{siteId}/suspend
they pay POST /v1/reseller/services/{siteId}/unsuspend
they cancel DELETE /v1/sites/{siteId}
"log in to hosting" POST /v1/reseller/services/{siteId}/sso
سروس کی فراہمی (Provisioning) دو کالز پر مشتمل ہے، اور کیز (keys) اہمیت رکھتی ہیں:
# 1. the customer's account — keyed on YOUR customer id
curl -X POST https://api.zinndigital.com/v1/orgs \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: account-4211" \
-d '{"type":"customer","name":"Acme Ltd"}'
# 2. their site — keyed on YOUR service id
curl -X POST https://api.zinndigital.com/v1/sites \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: service-9915" \
-d '{"org_id":"<from step 1>","product_line":"mainstream","primary_domain":"acme.com"}'
دو قواعد جن کو غلط سمجھنے پر آپ کے پیسے ضائع ہو سکتے ہیں
- اکاؤنٹ کو اپنے CUSTOMER پر اور سائٹ کو اپنی SERVICE پر کی (key) کریں۔ گاہک کا دوسرا آرڈر اس کے پہلے سے موجود اکاؤنٹ میں ہی جانا چاہیے۔ اگر آپ دونوں کو سروس پر کی (key) کریں گے تو ایک گاہک کے پاس تین غیر متعلقہ اکاؤنٹس اور تین الگ الگ پینلز بن جائیں گے۔
- ہر
POSTپر ایکIdempotency-Keyبھیجیں، جو چیز کے لیے آپ کی اپنی آئی ڈی سے بنی ہو۔ ہر بلنگ سسٹم دوبارہ کوشش کرتا ہے — ایک گیٹ وے کال بیک دو بار موصول ہوتا ہے، ایک ایڈمن ناکام طریقہ کار کو دوبارہ چلاتا ہے، یا گاہک ڈبل کلک کر دیتا ہے۔ کی (key) کے بغیر دوسری کوشش ایک دوسری سائٹ بنا دے گی اور آپ کو اس کا بل بھیج دیا جائے گا۔
تین جوابات جنہیں آپ کو دو میں نہیں ملانا چاہیے
unsuspendجواب میں409دے سکتا ہے۔ اس کا مطلب ہے کہ ہماری ابیوز (abuse) ٹیم نے سائٹ کو روکا ہوا ہے، آپ نے نہیں۔ پیغام ظاہر کریں؛ دوبارہ کوشش نہ کریں۔- **ختم کرنا (Terminating) ہٹانے کا وقت مقرر (schedules) کرتا ہے، اسے فوری طور پر ختم نہیں کرتا۔** تاریخ
pending_deletion_atکے طور پر واپس آتی ہے۔ کسی گاہک کو یہ بتانا کہ ان کا ڈیٹا پہلے ہی ختم ہو چکا ہے جبکہ ایسا نہیں ہوا ہے، کچھ بھی نہ بتانے سے زیادہ برا ہے۔ disk_used_bytesکا جوابnullہو سکتا ہے، اور null کا مطلب صفر نہیں ہے۔ اس کا مطلب ہے کہ ہم پیمائش نہیں کر سکے، یہ نہیں کہ کچھ بھی استعمال نہیں ہوا۔ اسے نظر انداز کریں — اپنے ریکارڈ میں0نہ لکھیں، ورنہ آپ گاہک کو ایسی سائٹ کے لیے سبز استعمال کا بار دکھائیں گے جس کی کوئی ریڈنگ آپ کے پاس نہیں ہے۔
4. کسی کلائنٹ کو سائن ان کریں
POST /v1/reseller/services/{siteId}/sso ایک بار استعمال ہونے والا URL واپس کرتا ہے جو آپ کے کلائنٹ کو براہ راست ان کے اپنے اکاؤنٹ میں سائن ان حالت میں پہنچا دیتا ہے۔
⛔ جب وہ کلک کریں تو اسے اسی وقت جنریٹ کریں، صفحہ رینڈر کرتے وقت کبھی بھی نہیں۔ یہ لنک صرف ایک بار استعمال کے لیے ہے اور چند منٹوں میں ختم ہو جاتا ہے، اس لیے صفحے میں لکھا ہوا لنک پہلے ہی ویو پر ضائع ہو جائے گا اور آپ اور براؤزر کے درمیان ہر کیشے (cache) میں محفوظ رہ جائے گا۔
5. اس کے بجائے ماڈیول انسٹال کریں
- WHMCS — ماڈیول کو
modules/servers/zinn/پر کاپی کریں، ایک ایسا سرور شامل کریں جس کا Password آپ کی API کی (key) ہو، اور پروڈکٹ پر پروڈکٹ لائن سیٹ کریں۔ Test Connection دبائیں: یہ ایک حقیقی کال کرتا ہے اور آپ کو بتاتا ہے کہ پلیٹ فارم نے کیا جواب دیا۔ - HostBill —
includes/modules/Hosting/zinn/پر کاپی کریں اور اسے اسی طرح مربوط کریں۔ - WordPress — Zinn® Reseller Toolkit: ڈومین تلاش، آپ کے کلائنٹس کی ہوسٹنگ میں سائن ان لنک، اور آرڈر کی ادائیگی پر WooCommerce کی پیشکش۔ open source کے طور پر <https://github.com/Zinn-Digital/zinn-reseller-toolkit> پر، یا اپنے ڈیش بورڈ میں Plugins سے ڈاؤن لوڈ کریں۔
6. لائیو جائیں
حقیقی آرڈر لینے سے پہلے ان کی جانچ کریں:
- ماڈیول پر کنیکشن ٹیسٹ پاس ہو جاتا ہے، یا آپ کا پہلا
curlایک فہرست لوٹاتا ہے۔ - آپ کی قیمتوں کی فہرست سیٹ ہے (Reselling ← Your prices).
- آپ کا پیمنٹ گیٹ وے مربوط ہے (Reselling ← Payment gateways) — آپ کے کلائنٹس آپ کو، آپ کے اپنے اکاؤنٹ کے ذریعے ادائیگی کرتے ہیں۔
- آپ کی کمپنی کی تفصیلات درج ہیں (Reselling ← Your company) تاکہ آپ کے کلائنٹ کے انوائسز پر آپ کا قانونی ادارہ اور VAT نمبر ہو، ہمارا نہیں۔
- آپ نے شروع سے آخر تک ایک حقیقی آرڈر دیا ہے اور سائٹ کو ظاہر ہوتے دیکھا ہے۔
باقی تمام چیزیں کہاں ہیں
مکمل API حوالہ — تمام اینڈ پوائنٹس، جو ہماری تفصیلات سے تیار کیے گئے ہیں، ہر ایک کی ضروری اجازت کے ساتھ — <https://zinndigital.com/developers/api> پر موجود ہے۔
کیا اب بھی پھنسے ہوئے ہیں؟
ہر پلان میں سپورٹ شامل ہے اور آپ کی اپنی زبان میں جوابات ملتے ہیں۔
سپورٹ سے رابطہ کریں → تمام مضامین →