ज्ञान आधार

अपने खुद के सिस्टम से Zinn® होस्टिंग बेचना

अपने स्वयं के बिलिंग पैनल, WordPress साइट या स्क्रिप्ट से Zinn होस्टिंग संचालित करें: एक API कुंजी प्राप्त करें, अपना पहला कॉल करें, और वे छह कॉल करें जिनसे पूरा एकीकरण बनता है।

आप हमारे होस्टिंग को रीसेल करते हैं। आपके क्लाइंट्स आपके हैं: आपकी कीमतें, आपके इनवॉइस, आपका पेमेंट प्रोवाइडर। इस तरह आप किसी भी मौजूदा सिस्टम — बिलिंग पैनल, अपनी खुद की WordPress साइट, या कोई स्क्रिप्ट — से हमारे प्लेटफ़ॉर्म को संचालित करते हैं।

आपके क्लाइंट्स वास्तव में क्या देखते हैं

मैकेनिक्स से पहले: आपके क्लाइंट्स को कभी भी हमारी ज़रूरत नहीं पड़ती। तीन सतहें (सरफेस) हैं, और आप चुनते हैं कि आप कौन सी इस्तेमाल करेंगे।

| सतह (Surface) | यह किसकी है | |---|---| | होस्टिंग पैनल, आपके अपने होस्टनेम पर | Reselling → Your brand के अंतर्गत पैनल का होस्टनेम सेट करें और आपके क्लाइंट्स panel.yourcompany.com पर आपके लोगो और रंगों के साथ साइन इन करते हैं। पैनल वही है, पता आपका है। | | आपकी अपनी वेबसाइट | WordPress प्लगइन आपकी साइट पर डोमेन सर्च और वन-क्लिक साइन-इन लिंक जोड़ता है, और आपके अपने WooCommerce चेकआउट के माध्यम से ऑर्डर लेता है। | | आपका बिलिंग पैनल | WHMCS या HostBill फ्रंट डोर रहता है; इसके पीछे मॉड्यूल प्रोविज़न करता है और क्लाइंट-एरिया बटन उन्हें सीधे उनकी होस्टिंग में साइन इन कराता है। |

⛔ आप जो भी चुनें, आप अपने क्लाइंट्स के लिए मर्चेंट ऑफ़ रिकॉर्ड हैं: आपकी कीमतें, आपके इनवॉइस, आपका वैट नंबर, आपका पेमेंट प्रोवाइडर। हम आपसे महीने में एक बार, होलसेल दरों पर बिल करते हैं।

एक बार जब आप पैनल होस्टनेम सेट कर लेते हैं, तो उसे केवल WordPress प्लगइन के Panel address फ़ील्ड में डालें और किसी चीज़ में नहीं — यह API जिन साइन-इन लिंक को बनाता है, वे अपने आप इसका पालन करते हैं।

प्रवेश करने के चार तरीके

प्रवेश करने के चार तरीके हैं, और अंदर से वे सभी एक ही काम करते हैं:

| | किसके लिए | |---|---| | WHMCS मॉड्यूल | एक WHMCS शॉप | | HostBill मॉड्यूल | एक HostBill शॉप | | WordPress प्लगइन | अपनी खुद की WordPress या WooCommerce साइट से बेचना | | API | कुछ भी और — Blesta, इन-हाउस सिस्टम, क्रॉन स्क्रिप्ट |

1. एक API की प्राप्त करें

अपने डैशबोर्ड में, API keys पर जाएं और एक बनाएं। इसे केवल वही दें जिसकी इसे आवश्यकता है:

| अनुमति (Permission) | क्यों | |---|---| | org.read | अपने क्लाइंट अकाउंट पढ़ें | | sites.create | कोई साइट प्रोविज़न करें | | sites.view | कोई सर्विस पढ़ें | | sites.delete | समाप्त करें | | reseller.view | अपनी सर्विस की सूची बनाएं और इस्तेमाल पढ़ें | | reseller.provision | क्लाइंट को सस्पेंड, रिलीज़ और साइन इन करें |

किसी इंटीग्रेशन को reseller.manage न दें। वह अनुमति आपकी प्राइस लिस्ट और आपके खुद के पेमेंट-गेटवे क्रेडेंशियल्स को एडिट करती है। reseller.provision विशेष रूप से इसलिए मौजूद है ताकि बिलिंग पैनल या वेबसाइट में आपके द्वारा पेस्ट की गई की को इसकी आवश्यकता न पड़े।

की केवल एक बार दिखाई जाती है। इसे वहाँ स्टोर करें जहाँ आप अपने अन्य क्रेडेंशियल्स स्टोर करते हैं — ऐसी फ़ाइल में कभी नहीं जिसे आपका वेब सर्वर सर्व करता हो।

2. अपनी पहली कॉल करें

curl https://api.zinndigital.com/v1/reseller/services \
  -H "Authorization: Bearer zdk_live_…"

यह आपके द्वारा प्रोविज़न की गई प्रत्येक सर्विस को लौटाता है, प्रति साइट एक पंक्ति, उस क्लाइंट के साथ जिससे यह संबंधित है, इसकी स्थिति, और आप इसके लिए क्या शुल्क लेते हैं। एक नए खाते पर यह एक खाली सूची है — जो कि सही उत्तर है, कोई त्रुटि नहीं।

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

प्रोविज़निंग दो कॉल्स है, और कीज़ मायने रखती हैं:

# 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"}'

दो नियम जो गलत होने पर पैसे खर्च करवाते हैं

  1. अकाउंट को अपने CUSTOMER पर और साइट को अपनी SERVICE पर की करें। किसी ग्राहक का दूसरा ऑर्डर उसी खाते में आना चाहिए जो उसके पास पहले से है। दोनों को सर्विस पर की करें और एक ग्राहक अंत में तीन असंबंधित खातों और तीन अलग-अलग पैनल के साथ समाप्त होता है।
  2. हर POST पर एक Idempotency-Key भेजें, जो उस चीज़ के लिए आपकी अपनी आईडी से बनी हो। हर बिलिंग सिस्टम पुनः प्रयास करता है — एक गेटवे कॉलबैक दो बार आता है, एक एडमिन विफल प्रोविज़न को फिर से चलाता है, एक ग्राहक डबल-क्लिक करता है। की के बिना दूसरा प्रयास दूसरी साइट बनाता है और आपसे इसके लिए शुल्क लिया जाता है।

तीन उत्तर जिन्हें आपको दो में समतल नहीं करना चाहिए

  • unsuspend 409 उत्तर दे सकता है। इसका मतलब है कि हमारी एब्यूज टीम साइट को रोके हुए है, आप नहीं। संदेश दिखाएं; इसे दोबारा प्रयास न करें।
  • **समाप्त करना (Terminating) हटाने का शेड्यूल बनाता है, यह निष्पादित नहीं करता है।** तारीख pending_deletion_at के रूप में वापस आती है। किसी ग्राहक को यह बताना कि उनका डेटा पहले ही जा चुका है जबकि ऐसा नहीं है, उन्हें कुछ न बताने से भी बदतर है।
  • disk_used_bytes null हो सकता है, और null शून्य नहीं है। इसका मतलब है कि हम माप नहीं सके, यह नहीं कि कुछ भी इस्तेमाल नहीं किया गया था। इसे छोड़ दें — अपने खुद के रिकॉर्ड में 0 न लिखें, या आप किसी ऐसी साइट के लिए ग्राहक को हरा उपयोग बार दिखाएंगे जिसका आपके पास कोई रीडिंग नहीं है।

4. किसी क्लाइंट को साइन इन करें

POST /v1/reseller/services/{siteId}/sso एक सिंगल-यूज़ URL लौटाता है जो आपके क्लाइंट को सीधे उनके अपने खाते में, पहले से साइन इन किए हुए छोड़ देता है।

जब वे क्लिक करें तब इसे मिंट करें, पेज रेंडर करते समय कभी नहीं। लिंक सिंगल-यूज़ है और मिनटों में समाप्त हो जाता है, इसलिए पेज में लिखा गया लिंक पहले पेज व्यू पर जल जाता है और आपके और ब्राउज़र के बीच के हर कैश में छूट जाता है।

5. इसके बजाय कोई मॉड्यूल इंस्टॉल करें

  • WHMCS — मॉड्यूल को modules/servers/zinn/ में कॉपी करें, एक सर्वर जोड़ें जिसका Password आपकी API की है, और उत्पाद पर उत्पाद लाइन सेट करें। Test Connection दबाएं: यह एक वास्तविक कॉल करता है और आपको बताता है कि प्लेटफ़ॉर्म ने क्या कहा।
  • HostBillincludes/modules/Hosting/zinn/ में कॉपी करें और इसे उसी तरह कनेक्ट करें।
  • WordPressZinn® Reseller Toolkit: डोमेन सर्च, आपके क्लाइंट्स की होस्टिंग में साइन-इन लिंक, और ऑर्डर का भुगतान होने पर WooCommerce प्रोविज़निंग। <https://github.com/Zinn-Digital/zinn-reseller-toolkit> पर ओपन सोर्स, या इसे अपने डैशबोर्ड में Plugins से डाउनलोड करें।

6. लाइव जाएं

वास्तविक ऑर्डर लेने से पहले इनकी जांच कर लें:

  • मॉड्यूल पर कनेक्शन टेस्ट पास हो जाता है, या आपकी पहली curl सूची लौटाती है।
  • आपकी प्राइस लिस्ट सेट है (Reselling → Your prices)।
  • आपका पेमेंट गेटवे जुड़ा हुआ है (Reselling → Payment gateways) — आपके क्लाइंट्स आपको, आपके अपने खाते के माध्यम से भुगतान करते हैं।
  • आपकी कंपनी का विवरण दर्ज है (Reselling → Your company) ताकि आपके क्लाइंट इनवॉइस पर हमारी नहीं बल्कि आपकी कानूनी इकाई और वैट नंबर हो।
  • आपने शुरू से अंत तक एक वास्तविक ऑर्डर दिया है और साइट को प्रकट होते देखा है।

बाकी सब कुछ कहाँ है

पूर्ण API संदर्भ — हर एंडपॉइंट, हमारे विनिर्देश से उत्पन्न, प्रत्येक को आवश्यक अनुमति के साथ — <https://zinndigital.com/developers/api> पर है।

अभी भी परेशान हैं?

हर प्लान में सहायता शामिल है और आपकी अपनी भाषा में उत्तर दिए जाते हैं।

सपोर्ट से संपर्क करें सभी लेख
अपने खुद के सिस्टम से Zinn® होस्टिंग बेचना