Bilik bazası

Zinn® hostinqini öz sistemlərinizdən satmaq

Zinn hostinqini öz ödəniş panelinizdən, WordPress saytınızdan və ya skriptlərinizdən idarə edin: API açarı əldə edin, ilk sorğunuzu edin və bütün inteqrasiyanın ibarət olduğu altı sorğunu yerinə yetirin.

Siz bizim hostinqimizi yenidən satırsınız. Müştərilər sizindir: qiymətləriniz, qaimələriniz, ödəniş provayderiniz. Platformamızı mövcud işlətdiyiniz sistemdən – billing panelindən, öz WordPress saytınızdan və ya skriptdən necə idarə edəcəyiniz budur.

Müştərilərinizin həqiqətən gördükləri

Mexanizmdən əvvəl: müştəriləriniz heç vaxt bizi görməməlidir. Üç səth mövcuddur və hansından istifadə edəcəyinizi siz seçirsiniz.

| Səth | Kimə məxsusdur | |---|---| | Öz hostinq host-adı (hostname) ilə hostinq paneli | Reselling → Your brand bölməsində panel host-adı təyin edin və müştəriləriniz panel.yourcompany.com ünvanına sizin loqonuz və rənglərinizlə daxil olsunlar. Eyni panel, sizin ünvanınız. | | Öz veb-saytınız | WordPress plaginİ saytınıza domen axtarışı və bir kliklə daxil olma linki əlavə edir, sifarişi isə sizin öz WooCommerce ödəniş səhifəniz (checkout) vasitəsilə qəbul edir. | | Billing paneliniz | WHMCS və ya HostBill əsas giriş nöqtəsi olaraq qalır; modul arxa fonda xidməti təmin edir və müştəri sahəsindəki düymə onları birbaşa hostinqlərinə daxil edir. |

⛔ Hansını seçməyinizdən asılı olmayaraq, müştəriləriniz üçün əsas satıcı sizsiniz: qiymətləriniz, qaimələriniz, ƏDV nömrəniz, ödəniş provayderiniz. Biz sizə ayda bir dəfə topdansatış qiyməti ilə hesab göndəririk.

Panel host-adını təyin etdikdən sonra onu yalnız WordPress plagininin Panel address sahəsinə daxil edin – bu API-nin yaratdığı giriş linkləri avtomatik olaraq onu izləyəcək.

Daxil olmağın dörd yolu

Daxil olmağın dörd yolu var və onların hamısı arxa fonda eyni işi görür:

| | Üçün | |---|---| | WHMCS moduLU | WHMCS mağazası | | HostBill moduLU | HostBill mağazası | | WordPress plagini | Öz WordPress və ya WooCommerce saytınızdan satmaq üçün | | API | Hər hansı digər sistem – Blesta, daxili sistem, cron skripti |

1. API açarı əldə edin

İdarə panelinizdə (dashboard) API keys bölməsinə keçin və birini yaradın. Ona yalnız ehtiyac duyduğu icazələri verin:

| İcazə | Nə üçün | |---|---| | org.read | Müştəri hesablarınızı oxumaq üçün | | sites.create | Sayt təmin etmək üçün | | sites.view | Xidməti oxumaq üçün | | sites.delete | Xidmətə xitam vermək üçün | | reseller.view | Xidmətlərinizi siyahıya almaq və istifadəni oxumaq üçün | | reseller.provision | Müştərinin xidmətini dayandırmaq, bərpa etmək və daxil etmək üçün |

İnteqrasiyaya reseller.manage icazəsini verməyin. həmin icazə qiymət siyahınızı və öz ödəniş şlüzü (payment gateway) etimadnamələrinizi redaktə edir. reseller.provision məhz billing panelinə və ya veb-sayta yapışdırdığınız açarın buna ehtiyac duymaması üçün mövcuddur.

Açar yalnız bir dəfə göstərilir. Onu digər etimadnamələrinizi harada saxlayırsınızsa orada saxlayın – heç vaxt veb-serverinizin xidmət etdiyi faylda saxlamayın.

2. İlk sorğunuzu edin

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

Bu, təmin etdiyiniz hər bir xidməti, hər sayt üçün bir sətr olmaqla, aid olduğu müştəri, statusu və onun üçün nə qədər ödəniş aldığınızla birlikdə qaytarır. Yeni hesabda bu, boş siyahıdır – bu, səhv deyil, düzgün cavabdır.

3. Bütün inteqrasiya, altı sorğuda

NƏ ZAMAN                 SORĞU
sifariş ödəniləndə       POST   /v1/orgs                                   hər MÜŞTƏRİ üçün bir dəfə
                         POST   /v1/sites                                  hər XİDMƏT üçün bir dəfə
onlar ödəmədikdə         POST   /v1/reseller/services/{siteId}/suspend
onlar ödədikdə           POST   /v1/reseller/services/{siteId}/unsuspend
onlar ləğv etdikdə       DELETE /v1/sites/{siteId}
"hostinqə daxil ol"      POST   /v1/reseller/services/{siteId}/sso

Təminat (provisioning) iki sorğudan ibarətdir və açarlar vacibdir:

# 1. müştərinin hesabı — SİZİN müştəri ID-nizlə əlaqələndirilib
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. onların saytı — SİZİN xidmət ID-nizlə əlaqələndirilib
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"}'

Səhv etdikdə sizə baha başa gələn iki qayda

  1. Hesabı MÜŞTƏRİNİZLƏ, saytı isə XİDMƏTİNİZLƏ əlaqələndirin. Müştərinin ikinci sifarişi artıq mövcud olduğu hesaba düşməlidir. Hər ikisini xidmətlə əlaqələndirsəniz, müştəri üç əlaqəsiz hesabla və üç ayrı panellə nəticələnəcək.
  2. Hər POST sorğusunda obyekt üçün öz ID-nizdən yaradılmış Idempotency-Key göndərin. Hər bir billing sistemi yenidən cəhd edir – şlüz əks-əlaqəsi (callback) iki dəfə gəlir, administrator uğursuz təminatı yenidən işə salır, müştəri iki dəfə klikləyir. Açar olmadıqda ikinci cəhd ikinci sayt yaradır və bunun üçün sizə hesab yazılır.

İkiyə endirə bilməyəcəyiniz üç cavab

  • unsuspend 409 cavabını qaytara bilər. Bu o deməkdir ki, saytı siz deyil, bizim sui-istifadə (abuse) komandamız saxlayır. Mesajı göstərin; yenidən cəhd etməyin.
  • **Xitam vermək silinməni planlaşdırır, onu dərhal yerinə yetirmir.** Tarix pending_deletion_at olaraq qayıdır. Müştəriyə məlumatlarının artıq silindiyini demək, əslində silinmədiyi halda, ona heç nə deməməkdən daha pisdir.
  • disk_used_bytes null ola bilər və null sıfır demək deyil. Bu o deməkdir ki, biz ölçə bilməmişik, heç nə istifadə olunmayıb demək deyil. Bunu ötürün – öz qeydlərinizə 0 yazmayın, əks halda heç bir oxunuşunuz olmayan sayt üçün müştəriyə yaşıl istifadə zolağı göstərəcəksiniz.

4. Müştərini daxil edin

POST /v1/reseller/services/{siteId}/sso bir dəfəlik istifadə üçün URL qaytarır ki, bu da müştərinizi birbaşa öz hesabına, artıq daxil olmuş vəziyyətdə yönləndirir.

Onu səhifəni render edərkən deyil, kliklədikdə yaradın. Link bir dəfəlikdir və dəqiqələr ərzində etibarlılığını itirir, buna görə də səhifəyə yazılmış link ilk səhifə baxışında yanır və sizinlə brauzer arasındakı hər kəşdə (cache) qalır.

5. Əvəzində modul quraşdırın

  • WHMCS — modulu modules/servers/zinn/ qovluğuna kopyalayın, Password hissəsi sizin API açarınız olan server əlavə edin və məhsul xəttini məhsulda təyin edin. Test Connection düyməsini sıxın: o, real sorğu edir və platformanın nə dediyini sizə göstərir.
  • HostBillincludes/modules/Hosting/zinn/ qovluğuna kopyalayın və eyni qaydada qoşun.
  • WordPressZinn® Reseller Toolkit: domen axtarışı, müştərilərinizin hostinqinə daxil olma linki və sifariş ödənilərkən WooCommerce təminatı. Açıq mənbəli olaraq <https://github.com/Zinn-Digital/zinn-reseller-toolkit> ünvanındadır və ya idarə panelinizdəki Plugins bölməsindən yükləyə bilərsiniz.

6. Canlı rejimə keçin

Real sifariş qəbul etməzdən əvvəl bunları yoxlayın:

  • Modulda əlaqə testi uğurla keçir və ya ilk curl sorğunuz siyahı qaytarır.
  • Qiymət siyahınız təyin edilib (Reselling → Your prices).
  • Ödəniş şlüzünüz qoşulub (Reselling → Payment gateways) – müştəriləriniz sizə öz hesabınız vasitəsilə ödəniş edir.
  • Şirkət məlumatlarınız daxil edilib (Reselling → Your company) ki, müştəri qaimələriniz bizim deyil, sizin hüquqi şəxsinizi və ƏDV nömrənizi daşısın.
  • Siz başdan-başa bir real sifariş yerləşdirmisiniz və saytın yarandığını izləmisiniz.

Qalan hər şey haradadır

Tam API bələdçisi – hər birendpoint, spesifikasiyamızdan yaradılmışdır və hər birinin ehtiyac duyduğu icazə ilə birlikdə <https://zinndigital.com/developers/api> ünvanındadır.

Hələ də çətinlik çəkirsiniz?

Dəstək hər bir plana daxildir və cavablar öz dilinizdə verilir.

Dəstəklə əlaqə saxlayın Bütün məqalələr