तुम्ही आमचे होस्टिंग पुन्हा विकता (रिसेल करता). तुमचे ग्राहक तुमचे स्वतःचे आहेत: तुमचे दर, तुमची इनव्हॉइस, तुमचे पेमेंट प्रोव्हायडर. तुम्ही आधीपासून जे काही चालवत आहात त्यावरून आमचा प्लॅटफॉर्म कसा चालवायचा — बिलिंग पॅनेल, तुमची स्वतःची WordPress साइट किंवा एखादी स्क्रिप्ट — ते येथे दिले आहे.
तुमचे ग्राहक प्रत्यक्षात काय पाहतात
तांत्रिक बाबींच्या आधी: तुमच्या ग्राहकांना आम्ही कधीही दिसावे लागत नाही. तीन पर्याय (surfaces), आणि तुम्ही कोणता वापरायचा ते तुम्ही निवडू शकता.
| पर्याय | तो कोणाचा आहे |
|---|
| होस्टिंग पॅनेल, तुमच्या स्वतःच्या होस्टनेमवर | Reselling → Your brand अंतर्गत पॅनेल होस्टनेम सेट करा आणि तुमचे ग्राहक panel.yourcompany.com वर तुमच्या लोगो आणि रंगांसह साइन इन करतील. तेच पॅनेल, तुमचा पत्ता. |
| तुमची स्वतःची वेबसाइट | WordPress प्लगइन तुमच्या साइटवर डोमेन शोध आणि एक-क्लिक साइन-इन लिंक जोडते, आणि तुमच्या स्वतःच्या WooCommerce चेकआउटद्वारे ऑर्डर स्वीकारते. |
| तुमचे बिलिंग पॅनेल | WHMCS किंवा HostBill दर्शनी दार म्हणून राहते; मॉड्यूल त्याच्या मागे प्रोव्हिजन करते आणि क्लायंट-एरिया बटण त्यांना थेट त्यांच्या होस्टिंगमध्ये साइन इन करते. |
⛔ तुम्ही कोणताही पर्याय निवडला तरी, तुम्ही तुमच्या ग्राहकांसाठी मर्चंट ऑफ रेकॉर्ड आहात: तुमचे दर, तुमची इनव्हॉइस, तुमचा व्हॅट (VAT) क्रमांक, तुमचे पेमेंट प्रोव्हायडर. आम्ही तुम्हाला, महिन्यातून एकदा, घाऊक दरात बिल करतो.
एकदा तुम्ही पॅनेल होस्टनेम सेट केले की, ते WordPress प्लगइनच्या Panel address फील्डमध्ये टाका आणि इतर कशातही नाही — हे API तयार करत असलेल्या साइन-इन लिंक्स आपोआप त्याचे अनुसरण करतात.
आत जाण्याचे चार मार्ग
आत जाण्याचे चार मार्ग आहेत, आणि ते सर्व मुळात एकच गोष्ट करतात:
| यासाठी |
|---|
| WHMCS मॉड्यूल | एक WHMCS शॉप |
| HostBill मॉड्यूल | एक HostBill शॉप |
| WordPress प्लगइन | तुमच्या स्वतःच्या WordPress किंवा WooCommerce साइटवरून विक्री करणे |
| API | इतर काहीही — Blesta, अंतर्गत प्रणाली (in-house system), एक cron स्क्रिप्ट |
१. API की मिळवा
तुमच्या डॅशबोर्डमध्ये, API keys वर जा आणि एक की तयार करा. तिला फक्त आवश्यक तेवढ्याच परवानग्या द्या:
| परवानगी | का |
|---|
org.read | तुमच्या क्लायंटची खाती वाचा |
sites.create | एक साइट प्रोव्हिजन करा |
sites.view | सेवा वाचा |
sites.delete | टर्मिनेट करा |
reseller.view | तुमच्या सेवांची सूची बनवा आणि वापर वाचा |
reseller.provision | क्लायंटला सस्पेंड करा, रिलीज करा आणि साइन इन करा |
⛔ इंटिग्रेशनला reseller.manage देऊ नका. ती परवानगी तुमची दर सूची आणि तुमची स्वतःची पेमेंट-गेटवे क्रेडेंशियल्स संपादित करते. बिलिंग पॅनेल किंवा वेबसाइटमध्ये तुम्ही पेस्ट करत असलेल्या कीला त्याची आवश्यकता भासू नये यासाठीच reseller.provision उपलब्ध आहे.
की एकदाच दाखवली जाते. तुम्ही तुमची इतर क्रेडेंशियल्स जिथे सेव्ह करता तिथेच ती सेव्ह करा — तुमच्या वेब सर्व्हरवरून सर्व्ह होणाऱ्या फाईलमध्ये कधीही नाही.
२. तुमचा पहिला कॉल करा
curl https://api.zinndigital.com/v1/reseller/services \
-H "Authorization: Bearer zdk_live_…"
हे तुम्ही प्रोव्हिजन केलेली प्रत्येक सेवा परत करते, प्रत्येक साइटसाठी एक पंक्ती, संबंधित क्लायंट, तिची स्थिती आणि तुम्ही त्यासाठी किती शुल्क आकारता यासह. नवीन खात्यावर ही एक रिकामी सूची असते — जे योग्य उत्तर आहे, एरर नाही.
३. संपूर्ण इंटिग्रेशन, सहा कॉल्समध्ये
कधी कॉल
ऑर्डर भरली जाते POST /v1/orgs CUSTOMER मागे एकदा
POST /v1/sites SERVICE मागे एकदा
त्यांनी पैसे दिले नाहीत POST /v1/reseller/services/{siteId}/suspend
ते पैसे देतात POST /v1/reseller/services/{siteId}/unsuspend
ते रद्द करतात DELETE /v1/sites/{siteId}
"होस्टिंगमध्ये लॉग इन करा" POST /v1/reseller/services/{siteId}/sso
प्रोव्हिजनिंग हे दोन कॉल्सचे आहे, आणि की महत्त्वाच्या आहेत:
# 1. ग्राहकाचे खाते — तुमच्या CUSTOMER आयडीवर की केलेले
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. त्यांची साइट — तुमच्या SERVICE आयडीवर की केलेली
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 वर की करा. ग्राहकाची दुसरी ऑर्डर त्यांच्या आधीपासून असलेल्या खात्यातच गेली पाहिजे. दोन्ही सेवेवर की केल्यास एका ग्राहकाला तीन असंबंधित खाती आणि तीन स्वतंत्र पॅनेल्स मिळतात. २. प्रत्येक POST वर त्या गोष्टीसाठी तुमच्या स्वतःच्या आयडीवरून तयार केलेली Idempotency-Key पाठवा. प्रत्येक बिलिंग प्रणाली पुन्हा प्रयत्न (retry) करते — गेटवे कॉलबॅक दोनदा येतो, ॲडमिन अयशस्वी प्रोव्हिजन पुन्हा चालवतो, ग्राहक दोनदा क्लिक करतो. की नसल्यास दुसरा प्रयत्न दुसरी साइट तयार करतो आणि त्याचे बिल तुम्हाला आकारले जाते.
तीन उत्तरे, जी तुम्ही दोन उत्तरांमध्ये एकत्र करू नयेत
unsuspend उत्तर म्हणून 409 देऊ शकते. याचा अर्थ आमची ॲब्युज टीम साइट रोखून धरत आहे, तुम्ही नाही. मेसेज दाखवा; पुन्हा प्रयत्न करू नका.
- **टर्मिनेट केल्याने डिलीशन शेड्युल होते, ते लगेच डिलीट करत नाही.** तारीख
pending_deletion_at अशी परत येते. ग्राहकाला त्यांचा डेटा आधीच नष्ट झाला आहे असे सांगणे, काहीही न सांगण्यापेक्षा वाईट आहे जेव्हा तो प्रत्यक्षात तसा नसतो.
disk_used_bytes हे null असू शकते, आणि null म्हणजे शून्य नाही. याचा अर्थ आम्ही मोजू शकलो नाही, काहीही वापरले गेले नाही असा नाही. ते वगळा — तुमच्या स्वतःच्या नोंदींमध्ये 0 लिहू नका, अन्यथा तुम्ही ग्राहकाला अशा साइटसाठी हिरवा वापर बार दाखवाल ज्याचे तुमच्याकडे कोणतेही रीडिंग नाही.
४. क्लायंटला साइन इन करा
POST /v1/reseller/services/{siteId}/sso एक सिंगल-यूज URL परत करते जी तुमच्या क्लायंटला थेट त्यांच्या स्वतःच्या खात्यात आधीच साइन इन करून घेऊन जाते.
⛔ ते क्लिक करतात तेव्हाच ते जनरेट (mint) करा, तुम्ही पेज रेंडर करता तेव्हा कधीही नाही. ही लिंक सिंगल-यूज असते आणि काही मिनिटांत एक्सपायर होते, त्यामुळे पेजवर लिहिलेली लिंक पहिल्या पेज व्ह्यूवरच निष्कासित होते आणि तुमच्या व ब्राउझरमधील प्रत्येक कॅशमध्ये राहते.
५. त्याऐवजी मॉड्यूल इन्स्टॉल करा
- WHMCS — मॉड्यूल
modules/servers/zinn/ वर कॉपी करा, एक सर्व्हर जोडा ज्याचा Password तुमची API की आहे, आणि उत्पादनावर उत्पादन श्रेणी सेट करा. Test Connection दाबा: ते एक खरा कॉल करते आणि प्लॅटफॉर्मने काय सांगितले ते तुम्हाला कळवते.
- HostBill —
includes/modules/Hosting/zinn/ वर कॉपी करा आणि त्याच प्रकारे कनेक्ट करा.
- WordPress — Zinn® Reseller Toolkit: डोमेन शोध, तुमच्या क्लायंटच्या होस्टिंगमध्ये साइन-इन लिंक, आणि ऑर्डर भरल्यावर WooCommerce प्रोव्हिजनिंग. ओपन सोर्स <https://github.com/Zinn-Digital/zinn-reseller-toolkit> वर उपलब्ध, किंवा तुमच्या डॅशबोर्डमधील Plugins मधून डाउनलोड करा.
६. थेट सुरू करा (Go live)
तुम्ही प्रत्यक्ष ऑर्डर घेण्यापूर्वी हे तपासा:
- मॉड्यूलवर कनेक्शन चाचणी यशस्वी झाली आहे, किंवा तुमच्या पहिल्या
curl ने सूची परत केली आहे.
- तुमची दर सूची सेट केली आहे (Reselling → Your prices).
- तुमचे पेमेंट गेटवे कनेक्ट केले आहे (Reselling → Payment gateways) — तुमचे क्लायंट तुम्हाला पैसे देतात, तुमच्या स्वतःच्या खात्याद्वारे.
- तुमच्या कंपनीचे तपशील प्रविष्ट केले आहेत (Reselling → Your company) जेणेकरून तुमच्या क्लायंट इनव्हॉइसवर तुमची कायदेशीर संस्था आणि व्हॅट क्रमांक असेल, आमचा नाही.
- तुम्ही सुरुवातीपासून शेवटपर्यंत एक खरी ऑर्डर दिली आहे आणि साइट तयार झालेली पाहिली आहे.
बाकी सर्व कुठे आहे
संपूर्ण API संदर्भ — प्रत्येक एंडपॉइंट, आमच्या स्पेसिफिकेशनवरून जनरेट केलेला, प्रत्येकासाठी आवश्यक असलेल्या परवानगीसह — <https://zinndigital.com/developers/api> येथे उपलब्ध आहे.