Anda menjual semula pengehosan kami. Klien anda adalah milik anda: harga anda, invois anda, penyedia pembayaran anda. Ini adalah cara anda mengendalikan platform kami daripada apa sahaja yang anda sedia jalankan — panel pengebilan, laman WordPress anda sendiri, atau skrip.
Perkara yang sebenarnya dilihat oleh klien anda
Sebelum mekaniknya: klien anda tidak perlu melihat kami langsung. Tiga permukaan, dan anda memilih yang mana satu untuk digunakan.
| Permukaan | Milik siapa |
|---|
| Panel pengehosan, pada nama hos anda sendiri | Tetapkan nama hos panel di bawah Menjual Semula → Jenama anda dan klien anda log masuk di panel.syarikatanda.com dengan logo anda dan warna anda. Panel yang sama, alamat anda. |
| Laman web anda sendiri | Pemalam WordPress meletakkan carian domain dan pautan log masuk satu klik pada laman anda, dan menerima pesanan melalui daftar keluar WooCommerce anda sendiri. |
| Panel pengebilan anda | WHMCS atau HostBill kekal sebagai pintu hadapan; modul memperuntukkan di belakangnya dan butang kawasan klien melog masuk mereka terus ke dalam pengehosan mereka. |
⛔ Mana-mana yang anda pilih, anda ialah pedagang rekod (merchant of record) untuk klien anda: harga anda, invois anda, nombor VAT anda, penyedia pembayaran anda. Kami mengebil anda, sebulan sekali, pada harga borong.
Sebaik sahaja anda telah menetapkan nama hos panel, masukkannya dalam medan Alamat panel pada pemalam WordPress dan bukan pada tempat lain — pautan log masuk yang dijana oleh API ini mengikutinya secara automatik.
Empat cara masuk
Terdapat empat cara masuk, dan kesemuanya melakukan perkara yang sama di sebaliknya:
| Untuk |
|---|
| Modul WHMCS | Kedai WHMCS |
| Modul HostBill | Kedai HostBill |
| Pemalam WordPress | Menjual daripada laman WordPress atau WooCommerce anda sendiri |
| API | Apa-apa sahaja yang lain — Blesta, sistem dalaman, skrip cron |
1. Dapatkan kunci API
Dalam papan pemuka anda, pergi ke Kunci API dan cipta satu. Berikannya hanya apa yang diperlukannya:
| Keizinan | Sebab |
|---|
org.read | Membaca akaun klien anda |
sites.create | Memperuntukkan tapak |
sites.view | Membaca perkhidmatan |
sites.delete | Menamatkan |
reseller.view | Menyenaraikan perkhidmatan anda dan membaca penggunaan |
reseller.provision | Menggantung, melepaskan, dan melog masuk klien |
⛔ Jangan berikan reseller.manage kepada integrasi. Keizinan tersebut mengedit senarai harga anda dan kelayakan gerbang pembayaran anda sendiri. reseller.provision wujud khusus agar kunci yang anda tampal ke dalam panel pengebilan atau laman web tidak memerlukannya.
Kunci ini ditunjukkan sekali sahaja. Simpannya di tempat anda menyimpan kelayakan anda yang lain — jangan sekali-kali dalam fail yang disediakan oleh pelayan web anda.
2. Buat panggilan pertama anda
curl https://api.zinndigital.com/v1/reseller/services \
-H "Authorization: Bearer zdk_live_…"
Itu mengembalikan setiap perkhidmatan yang telah anda peruntukkan, satu baris bagi setiap tapak, bersama klien pemiliknya, statusnya, dan jumlah yang anda caj untuknya. Pada akaun baharu ia merupakan senarai kosong — yang merupakan jawapan yang betul, bukannya ralat.
3. Keseluruhan integrasi, dalam enam panggilan
BILA PANGGILAN
pesanan dibayar POST /v1/orgs sekali bagi setiap PELANGGAN
POST /v1/sites sekali bagi setiap PERKHIDMATAN
mereka belum bayar POST /v1/reseller/services/{siteId}/suspend
mereka bayar POST /v1/reseller/services/{siteId}/unsuspend
mereka batal DELETE /v1/sites/{siteId}
"log masuk ke hos" POST /v1/reseller/services/{siteId}/sso
Peruntukan melibatkan dua panggilan, dan kuncinya adalah penting:
# 1. akaun pelanggan — berpandukan id pelanggan ANDA
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. tapak mereka — berpandukan id perkhidmatan ANDA
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"}'
Dua peraturan yang menelan kos apabila anda tersilap melakukannya
- Gunakan id PELANGGAN anda untuk akaun dan id PERKHIDMATAN anda untuk tapak. Pesanan kedua pelanggan mesti dimasukkan ke dalam akaun yang mereka sudah miliki. Jika kedua-duanya berpandukan perkhidmatan, seorang pelanggan akhirnya mempunyai tiga akaun yang tidak berkaitan dan tiga panel yang berasingan.
- Hantar
Idempotency-Key pada setiap POST, yang dibina daripada id anda sendiri untuk perkara tersebut. Setiap sistem pengebilan mencuba semula — panggil balik gerbang tiba dua kali, pentadbir menjalankan semula peruntukan yang gagal, pelanggan mengklik dua kali. Tanpa kunci tersebut, percubaan kedua akan mencipta tapak kedua dan anda dibilkan untuknya.
Tiga jawapan yang tidak boleh anda samakan menjadi dua
unsuspend boleh menjawab 409. Ini bermakna pasukan salah guna kami sedang menahan tapak tersebut, bukan anda. Paparkan mesej tersebut; jangan mencubanya semula.
- **Penamatan menjadualkan pemadaman, ia tidak melaksanakannya secara serta-merta.** Tarikh akan dikembalikan sebagai
pending_deletion_at. Memberitahu pelanggan bahawa data mereka sudah tiada sedangkan ia masih ada adalah lebih buruk daripada tidak memberitahu apa-apa.
disk_used_bytes boleh menjadi null, dan null bukan sifar. Ini bermakna kami tidak dapat mengukurnya, bukan bermakna tiada apa yang digunakan. Abaikan ia — jangan tulis 0 ke dalam rekod anda sendiri, atau anda akan menunjukkan bar penggunaan hijau kepada pelanggan untuk tapak yang anda tiada bacaannya.
4. Melog masuk klien
POST /v1/reseller/services/{siteId}/sso mengembalikan URL guna sekali yang membawa klien anda terus ke dalam akaun mereka sendiri, sudah dilog masuk.
⛔ Jana ia apabila mereka mengklik, jangan sekali-kali apabila anda memaparkan halaman. Pautan ini adalah untuk kegunaan sekali sahaja dan tamat tempoh dalam masa beberapa minit, jadi pautan yang ditulis ke dalam halaman akan lupus pada paparan halaman pertama dan ditinggalkan dalam setiap cache antara anda dan pelayar.
5. Pasang modul sebagai ganti
- WHMCS — salin modul ke
modules/servers/zinn/, tambah pelayan dengan Kata Laluan ialah kunci API anda, dan tetapkan barisan produk pada produk tersebut. Tekan Uji Sambungan: ia membuat panggilan sebenar dan memberitahu anda apa yang dinyatakan oleh platform.
- HostBill — salin ke
includes/modules/Hosting/zinn/ dan sambungkannya dengan cara yang sama.
- WordPress — Zinn® Reseller Toolkit: carian domain, pautan log masuk ke dalam pengehosan klien anda, dan peruntukan WooCommerce apabila pesanan dibayar. Sumber terbuka di <https://github.com/Zinn-Digital/zinn-reseller-toolkit>, atau muat turun daripada Pemalam dalam papan pemuka anda.
6. Siarkan secara langsung
Semak perkara ini sebelum anda menerima pesanan sebenar:
- Ujian sambungan berjaya pada modul, atau
curl pertama anda mengembalikan senarai.
- Senarai harga anda telah ditetapkan (Menjual Semula → Harga anda).
- Gerbang pembayaran anda disambungkan (Menjual Semula → Gerbang pembayaran) — klien anda membayar anda, melalui akaun anda sendiri.
- Butiran syarikat anda dimasukkan (Menjual Semula → Syarikat anda) supaya invois klien anda membawa entiti sah dan nombor VAT anda, bukan kami.
- Anda telah membuat satu pesanan sebenar secara menyeluruh dari awal hingga akhir dan melihat tapak tersebut muncul.
Di mana letaknya perkara lain
Rujukan API yang lengkap — setiap titik akhir, dijana daripada spesifikasi kami, bersama keizinan yang diperlukan oleh setiap satu — berada di <https://zinndigital.com/developers/api>.