Ju rishitni shërbimin tonë të hosting-ut. Klientët tuaj janë tuajt: çmimet tuaja, faturat tuaja, ofruesi juaj i pagesave. Kjo është mënyra se si ju e drejtoni platformën tonë nga çfarëdo sistemi që përdorni tashmë — një panel faturimi, faqja juaj WordPress, ose një skript.
Çfarë shohin në të vërtetë klientët tuaj
Përpara mekanikës: klientët tuaj nuk kanë nevojë të na shohin kurrë. Tri ndërfaqe, dhe ju zgjidhni se cilën të përdorni.
| Ndërfaqja | E kujt është |
|---|
| Paneli i hosting-ut, në emrin e domenit tuaj (hostname) | Caktoni një emër domeni për panelin te Rishitja → Marka juaj dhe klientët tuaj do të identifikohen në panel.yourcompany.com me logon dhe ngjyrat tuaja. I njëjti panel, adresa juaj. |
| Uebsajti juaj | Shtojca e WordPress vendos kërkimin e domenit dhe një lidhje identifikimi me një klikim në faqen tuaj, si dhe pranon porosinë përmes procesit tuaj të arkëtimit në WooCommerce. |
| Paneli juaj i faturimit | WHMCS ose HostBill mbetet porta kryesore; moduli e kryen konfigurimin automatik (provisioning) në prapaskenë dhe butoni i zonës së klientit i identifikon ata drejtpërdrejt në hosting-un e tyre. |
⛔ Cilëndo që të zgjidhni, ju jeni tregtari i regjistruar për klientët tuaj: çmimet tuaja, faturat tuaja, numri juaj i TVSH-së, ofruesi juaj i pagesave. Ne ju faturojmë juve, një herë në muaj, me çmim me shumicë.
Pasi të keni caktuar një emër domeni për panelin, vendoseni atë në fushën Adresa e panelit të shtojcës së WordPress dhe në asgjë tjetër — lidhjet e identifikimit që krijon ky API e ndjekin atë automatikisht.
Katër mënyrat e hyrjes
Ekzistojnë katër mënyra hyrjeje, dhe të gjitha bëjnë të njëjtën gjë në thelb:
| Për |
|---|
| Moduli WHMCS | Një dyqan WHMCS |
| Moduli HostBill | Një dyqan HostBill |
| Shtojca e WordPress | Shitje nga faqja juaj WordPress ose WooCommerce |
| API | Çdo gjë tjetër — Blesta, një sistem i brendshëm, një skript cron |
1. Merrni një çelës API
Në panelin tuaj të kontrollit, shkoni te Çelësat API dhe krijoni një. Jepini vetëm atë që i nevojitet:
| Leja | Pse |
|---|
org.read | Lexoni llogaritë e klientëve tuaj |
sites.create | Krijoni një faqe |
sites.view | Lexoni një shërbim |
sites.delete | Përfundoni shërbimin |
reseller.view | Renditni shërbimet tuaja dhe lexoni përdorimin |
reseller.provision | Pezulloni, lironi dhe identifikoni një klient |
⛔ Mos i jepni një integrimi lejen reseller.manage. Ajo leje modifikon listën tuaj të çmimeve dhe të dhënat tuaja të hyrjes për portën e pagesave. reseller.provision ekziston pikërisht që një çelës që ngjisni në një panel faturimi ose në një faqe interneti të mos ketë nevojë për të.
Çelësi shfaqet vetëm një herë. Ruajeni aty ku ruani të dhënat e tjera të hyrjes — kurrë në një skedar që serveri juaj i uebit e shfaq publikisht.
2. Bëni thirrjen tuaj të parë
curl https://api.zinndigital.com/v1/reseller/services \
-H "Authorization: Bearer zdk_live_…"
Kjo kthen çdo shërbim që keni konfiguruar, një rresht për faqe, me klientin të cilit i përket, statusin e tij dhe shumën që ju i tarifoni për të. Në një llogari të re është një listë bosh — që është përgjigjja e saktë, jo një gabim.
3. I gjithë integrimi, në gjashtë thirrje
KUR THIRRJA
një porosi paguhet POST /v1/orgs një herë për KLIENT
POST /v1/sites një herë për SHËRBIM
ata nuk kanë paguar POST /v1/reseller/services/{siteId}/suspend
ata paguajnë POST /v1/reseller/services/{siteId}/unsuspend
ata anulojnë DELETE /v1/sites/{siteId}
"hyni në hosting" POST /v1/reseller/services/{siteId}/sso
Konfigurimi automatik (provisioning) kërkon dy thirrje, dhe çelësat kanë rëndësi:
# 1. llogaria e klientit — e lidhur me id-në e KLIENTIT TUAJ
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. faqja e tyre — e lidhur me id-në e SHËRBIMIT TUAJ
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"}'
Dy rregulla që ju kushtojnë para kur i bëni gabim
- Lidheni llogarinë me KLIENTIN tuaj dhe faqen me SHËRBIMIN tuaj. Porosia e dytë e një klienti duhet të kalojë në llogarinë që ai tashmë ka. Nëse i lidhni të dyja me shërbimin, një klient do të përfundojë me tri llogari të palidhura dhe tri panele të veçanta.
- Dërgoni një
Idempotency-Key në çdo POST, të ndërtuar nga id-ja juaj për atë element. Çdo sistem faturimi bën ritentime — një përgjigje nga porta e pagesave mbërrin dy herë, një administrator riekzekuton një konfigurim të dështuar, një klient klikon dy herë. Pa këtë çelës, përpjekja e dytë krijon një faqe të dytë dhe ju faturoheni për të.
Tri përgjigje që nuk duhet t'i thjeshtoni në dy
unsuspend mund të përgjigjet me 409. Kjo do të thotë se ekipi ynë i abuzimeve po e mban faqen të pezulluar, jo ju. Shfaqni mesazhin; mos e ritentoni.
- **Përfundimi i shërbimit (terminating) programon një fshirje, nuk kryen menjëherë një të tillë.** Data kthehet si
pending_deletion_at. T'i thoni një klienti se të dhënat e tij tashmë janë zhdukur kur nuk janë, është më keq sesa të mos i thoni asgjë.
disk_used_bytes mund të jetë null, dhe null nuk është zero. Kjo do të thotë se ne nuk mundëm ta matnim, jo se nuk u përdor asgjë. Anashkalojeni — mos shkruani 0 në të dhënat tuaja, përndryshe do t'i shfaqni klientit një shirit përdorimi jeshil për një faqe nga e cila nuk keni asnjë matje.
4. Identifikoni një klient
POST /v1/reseller/services/{siteId}/sso kthen një URL njëpërdorimëshe që e çon klientin tuaj drejtpërdrejt në llogarinë e tij, tashmë të identifikuar.
⛔ Gjenerojeni atë kur klienti klikon, kurrë kur renderoni faqen. Lidhja është njëpërdorimëshe dhe skadon brenda pak minutash, kështu që një lidhje e shkruar në një faqe digjet në hapjen e parë të faqes dhe mbetet në çdo memorie të përkohshme (cache) midis jush dhe shfletuesit.
5. Instaloni një modul në vend të kësaj
- WHMCS — kopjoni modulin te
modules/servers/zinn/, shtoni një server fjalëkalimi i të cilit (Password) është çelësi juaj API, dhe caktoni linjën e produktit te produkti. Shtypni Test Connection: bën një thirrje reale dhe ju tregon se çfarë u përgjigj platforma.
- HostBill — kopjojeni te
includes/modules/Hosting/zinn/ dhe lidheni në të njëjtën mënyrë.
- WordPress — Zinn® Reseller Toolkit: kërkimi i domenit, një lidhje identifikimi në hosting-un e klientëve tuaj dhe konfigurimi automatik në WooCommerce kur një porosi paguhet. Me kod të hapur në <https://github.com/Zinn-Digital/zinn-reseller-toolkit>, ose shkarkojeni nga Shtojcat në panelin tuaj të kontrollit.
6. Dilni publikisht (Go live)
Kontrolloni këto përpara se të merrni një porosi reale:
- Testi i lidhjes kalon me sukses në modul, ose komanda juaj e parë
curl kthen një listë.
- Lista juaj e çmimeve është caktuar (Rishitja → Çmimet tuaja).
- Porta juaj e pagesave është lidhur (Rishitja → Portat e pagesave) — klientët tuaj ju paguajnë juve, përmes llogarisë suaj.
- Të dhënat e kompanisë suaj janë vendosur (Rishitja → Kompania juaj) në mënyrë që faturat e klientëve tuaj të mbajnë entitetin tuaj ligjor dhe numrin e TVSH-së, jo tonat.
- Keni bërë një porosi reale nga fillimi në fund dhe keni parë faqen të shfaqet.
Ku ndodhet çdo gjë tjetër
Dokumentacioni i plotë i referencës së API-t — çdo endpoint, i gjeneruar nga specifikimi ynë, me lejen që kërkon secili prej tyre — gjendet në <https://zinndigital.com/developers/api>.