Modul Zinn Digital® pretvara gumbe unutar sustava WHMCS u stvarne radnje na našoj platformi. Narudžba priprema hosting Vašeg klijenta. Automatizacija neplaćenih računa unutar sustava WHMCS ga suspendira. Označavanje računa plaćenim ga reaktivira. Otkazivanje zakazuje brisanje. A Vaš klijent u svom korisničkom dijelu dobiva gumb Log in to hosting panel koji ga izravno prijavljuje.
Besplatan je, licenciran pod GPL-2.0-or-later i nema povlašteni pristup našoj platformi: svaki poziv koji izvršava dokumentirana je krajnja točka koju možete i sami pozvati vlastitim API ključem.
Prije nego što počnete
Potrebne su Vam dvije stvari, a druga često promakne korisnicima.
- Zinn® preprodavački račun s aktivnim programom. Registrirajte se na
zinndigital.com i uključite preprodaju.
- Preprodavački paket s raspoloživim brojem stranica. Stranice koje Vaši klijenti naruče ubrajaju se u Vaš
paket, stoga Vam je potreban paket u kojem imate slobodnog mjesta.
⚠️ Test Connection ne može Vam reći hoće li narudžba uspjeti. On samo očitava Vaš program i ništa ne priprema, stoga prijavljuje ispravan active račun koji još uvijek ne može ništa prodavati. Ako Vaša prva narudžba ne uspije uz poruku "This organization has no hosting plan, so it cannot host a site yet", upravo se to dogodilo — kupite ili proširite svoj preprodavački paket i ponovno pošaljite narudžbu. S modulom je sve u redu.
1. Izradite API ključ
Na svojoj Zinn® upravljačkoj ploči otvorite API keys i izradite ključ s točno ovih jedanaest dozvola:
| Dozvola | Zašto je potrebna |
|---|
org.create | Otvaranje Zinn® računa Vašeg klijenta pri njegovoj prvoj narudžbi. |
org.read | Čitanje računa Vaših klijenata. |
sites.create | Priprema i postavljanje stranice. |
sites.view | Očitavanje usluge i njezine potrošnje. |
sites.delete | Usklađivanje i gašenje usluge (terminacija). |
reseller.view | Pregled onoga što ste prodali te očitavanje diska i prometa. |
reseller.provision | Suspenzija, reaktivacija, prijava klijenta, postavljanje paketa i promjena paketa. |
billing.view | Očitavanje troška nadogradnje prije njezina izvršenja. |
sites.manage | Pražnjenje predmemorije i izrada sigurnosne kopije putem gumba. |
sites.panel_access | Promjena lozinke administratora sustava WordPress. |
hosting.php.manage | Promjena verzije PHP-a pri nadogradnji ili smanjenju paketa. |
⛔ Nemojte dodijeliti reseller.manage. Ključ zalijepljen u naplatnu ploču trebao bi moći zadržati klijenta zbog neplaćanja i prijaviti ga. Ne bi trebao moći čitati i mijenjati vjerodajnice Vašeg vlastitog pristupnika za plaćanje. Dozvola reseller.provision postoji kako ne biste morali dodijeliti ovu veću. ⛔ org.create nije izborna. Bez nje modul može čitati Vaše račune, ali ne može otvoriti novi, pa Test Connection prolazi, a prva narudžba vraća 403. ⛔⛔ Dodijelite cijelu tablicu i imajte na umu da Vam Test Connection ne može reći ako to niste učinili. On očitava Vaš preprodavački program i ništa ne priprema, stoga je zelen čak i za ključ kojemu nedostaje bilo koja od ovih stavki. Umjesto toga, mjesecima kasnije, od kupca ćete dobiti pogrešku 403 na onoj operaciji koju pokriva dozvola koja nedostaje.
2. Instalirajte modul
- Preuzmite modul i raspakirajte ga.
- Prenesite direktorij
zinn u svoju instalaciju sustava WHMCS tako da datoteka modula završi na
modules/servers/zinn/zinn.php.
⛔ Direktorij se mora zvati zinn. WHMCS nazive funkcija modula za pripremu izvodi iz naziva njegova direktorija, stoga preimenovanje u zinn-whmcs ili zinndigital stvara modul koji WHMCS prikazuje na popisu, dopušta Vam odabir, a zatim ga nikada ne poziva — bez ikakve pogreške. Zip se već raspakirava pod ispravnim nazivom; samo ga nemojte preimenovati.
3. Dodajte poslužitelj
U sustavu WHMCS: Configuration → System Settings → Servers → Add New Server.
- Name: bilo što, npr.
Zinn Digital®
- Hostname:
api.zinndigital.com
- Type:
Zinn Digital®
- Password: Vaš API ključ iz 1. koraka
⛔ Ključ se unosi u polje Password, koje WHMCS pohranjuje šifrirano. Nemojte ga stavljati u konfiguracijsku opciju proizvoda — one se u bazi podataka nalaze kao čisti tekst i vidljive su svakom administratoru, a ova vjerodajnica može stvarati i brisati hosting Vaših klijenata.
Pritisnite Test Connection. On izvršava stvarni poziv i prijavljuje odgovor naše platforme, umjesto da samo provjeri jesu li polja popunjena.
4. Izradite proizvod
Configuration → System Settings → Products/Services, zatim postavite Module Settings na poslužitelj koji ste upravo dodali. Polja su:
| Polje | Obavezno | Što predstavlja |
|---|
| Product line | da | Zinn® linija koju prodajete — mainstream (upravljani WordPress), footprint_free, wordpress, linux, cloud, agency, app_hosting, ai_hosting, lms_hosting, managed_database, vector_hosting, zinn_compute, fleet_linux, fleet_enterprise, mail ili reseller. |
| Stack | da | Što se postavlja: wordpress (zadano), woocommerce, php, static, node, one_click, headless_cms, nextcloud ili owncloud. |
| Application | ne | Samo za stogove one_click i headless_cms — koja se aplikacija instalira. Navođenje aplikacije na bilo kojem drugom stogu se odbija jer taj stog već određuje što se instalira. |
| PHP version | ne | npr. 8.3. Ostavite prazno za zadanu vrijednost linije. Verzija koju linija ne nudi se odbija uz popis onih koje nudi. |
| Plan code | da | Zinn® paket koji ovaj proizvod prodaje. GET /v1/reseller/prices ispisuje Vaše pakete. Narudžba bez ovoga se odbija — pogledajte upozorenje u nastavku. |
| Billing interval | ne | monthly (zadano) ili annual — interval prema kojem se izdaje Vaš veleprodajni račun za ovog klijenta. Ono što naplaćujete vlastitom klijentu postavlja se na WHMCS proizvodu i na to nema utjecaja. |
⛔⛔ Plan code je obavezan, a narudžba bez njega namjerno se odbija. Do
- 9. 2026. polje je bilo dekorativno i ništa ga nije čitalo, pa je modul naručivao hosting koji
nije imao nikakav paket — a sve posljedice toga bile su neprimjetne. Vaš veleprodajni obračun sastavlja se iz aktivnih pretplata Vaših klijenata, pa nije bilo stavke za tu uslugu i nije Vam naplaćeno ništa za cijelo vrijeme njezina rada; Vaš klijent nije naslijedio nikakva prava, pa na njegovu stranicu nije primijenjena kvota diska ni datoteka; i Change Package nije imao što promijeniti, pa se nadogradnja koju ste prodali nije mogla izvršiti. Stranica se cijelo vrijeme bez problema pripremala i posluživala.
Modul sada umjesto toga odbija narudžbu jer ne postoji siguran paket koji bi mogao pretpostaviti: pretpostavka bi pripremila hosting na paketu koji niste odabrali i za koji možda niste odredili cijenu, te bi se — za razliku od odbijanja, koje odmah vidite — pojavila tek kada stigne obračun, ako i tada.
Postavite Auto Setup na opciju koja Vam više odgovara — modul je idempotentan prema ID-ju WHMCS usluge, pa ponovljeni pokušaj pripreme vraća istu stranicu umjesto da Vam naplati drugu.
Što radi pojedina radnja u sustavu WHMCS
| WHMCS radnja | Što se događa na našoj strani |
|---|
| Create | Stvara Zinn® račun klijenta (ili ponovno koristi postojeći) i priprema njegovu stranicu. |
| Suspend | Postavlja stranicu na čekanje zbog neplaćanja. Sadržaj se zadržava; ništa se ne briše. |
| Unsuspend | Uklanja Vašu suspenziju. |
| Terminate | Zakazuje brisanje stranice, uz poček. Datum se prikazuje u korisničkom dijelu. |
| Usage update | Ažurira podatke o disku i prometu za svaku uslugu, jednom dnevno. |
| Log in to hosting panel | Otvara jednokratnu poveznicu za prijavu izravno na ploču Vašeg klijenta. |
| Change Package | Nadograđuje ili smanjuje uslugu. Mijenja paket, kao i verziju PHP-a ako je novi proizvod navodi. |
| Change Password | Postavlja lozinku WordPress administratora. Polje se ne pojavljuje na stogovima koji nemaju takav račun. |
| Renew | Potvrđuje da usluga još uvijek postoji. Zinn® hosting je kontinuiran, pa nema udaljenog razdoblja za produženje. |
| Sync Usage / Purge Cache / Take Backup | Gumbi na administratorskoj stranici usluge. Vaš klijent dobiva Purge Cache i Take Backup u svom korisničkom dijelu. |
| Service tab | Status, paket, disk, promet, eventualno zakazano brisanje i podatak o tome tko je postavio suspenziju. |
| Import | ListAccounts čita svaku stranicu, tako da uvoz ne može tiho stati na prvoj. |
Nadogradnje: tko kome naplaćuje
Zinn® Vašem klijentu nikada ne izdaje račun, ni pri narudžbi ni pri nadogradnji. Vi im naplaćujete putem sustava WHMCS; mi naplaćujemo Vama, na Vašem veleprodajnom obračunu. Dakle, Change Package mijenja prava Vašeg klijenta i stavku na Vašem sljedećem obračunu, a ne tereti karticu — WHMCS je već naplatio novac od Vašeg klijenta i izračunao vlastiti razmjerni dio (proraciju).
Druga usluga klijenta. Na istom paketu to je još jedna stranica unutar dopuštenog broja stranica tog paketa i ništa se dodatno ne odobrava. Na drugom paketu se odbija: zamjena aktivnog paketa ostavila bi jednu od dviju usluga neneplaćenom. Ili prodajte obje na istom paketu ili klijenta postavite kao zaseban zapis klijenta u sustavu WHMCS.
Change Password postoji samo za WordPress. Zinn® hosting nema jedinstvenu "lozinku usluge" — Vaš klijent pristupa svojoj ploči putem gumba za prijavu — a php ili static stranica nema korisnički račun aplikacije koji bi se mijenjao. WHMCS u potpunosti skriva to polje umjesto da prikazuje ono koje ne može raditi.
Tri odgovora koja ne smijete svesti na dva
- Unsuspend može odgovoriti odbijanjem. To znači da je stranicu suspendirao naš tim za zloupotrebu,
a ne Vi, i nijedna naplatna ploča ne smije je reaktivirati. Poruka to navodi; pokažite je svom administratoru umjesto ponovnog pokušaja.
- Terminate zakazuje brisanje, ne izvršava ga odmah. Datum se vraća kao
pending_deletion_at i korisnički dio ga prikazuje. Reći kupcu da su njegovi podaci već nestali kada to nije slučaj gore je nego ne reći mu ništa.
- Disk i promet mogu biti nepoznati, a nepoznato nije nula. Kada nismo mogli očitati
podatke, modul ostavlja vrijednost nepromijenjenom umjesto upisivanja 0 — inače bi WHMCS Vašem kupcu prikazao umirujući prazan grafikon potrošnje za stranicu za koju nemamo očitanje.
Rješavanje problema
Test Connection prolazi, a prva narudžba ne uspijeva uz pogrešku o dozvolama. API ključu nedostaje org.create. Modul mora otvoriti račun klijenta prije nego što može izraditi njegovu stranicu.
Narudžba ne uspijeva uz poruku da organizacija nema hosting paket. Vaš preprodavački paket nema više raspoloživih stranica ili ga još nemate. Pogledajte odlomak Prije nego što počnete iznad.
Narudžba ne uspijeva uz spominjanje stoga. Polje Stack na proizvodu je prazno ili navodi nešto što mi ne izrađujemo. Postavite ga na wordpress, osim ako ne prodajete nešto drugo.
Otkazivanja ne uspijevaju. Provjerite koristite li verziju modula 1.0.0 ili noviju. Ranije verzije nisu slale potvrdu o brisanju i svako gašenje (terminacija) bilo je odbijeno, zbog čega je usluga ostajala aktivna i naplaćivala se.
Odbijanje koje navodi polje. Naše pogreške pri provjeri valjanosti navode polje i razlog u zagradama nakon poruke, npr. (php_version: 7.2 is not offered on this product line). To je korisni dio na temelju kojeg možete djelovati — rečenica ispred njega namjerno je općenita.
Provjerite svoje preuzimanje
Svaka se arhiva poslužuje putem TLS-a s našeg vlastitog naziva poslužitelja i nikada se ne preusmjerava na poslužitelje trećih strana. Njezin SHA-256 kontrolni zbroj otisnut je pored poveznice za preuzimanje na stranici za preuzimanja. Usporedite ga nakon preuzimanja:
- macOS ili Linux:
shasum -a 256 zinn-whmcs-1.0.0.zip
- Windows:
certutil -hashfile zinn-whmcs-1.0.0.zip SHA256
Ne koristite WHMCS?
Dostupan je HostBill modul i jednodatotečni PHP klijent za sve ostalo, oboje besplatno i oboje na istoj stranici za preuzimanja. Svaka krajnja točka koju moduli koriste nalazi se u API referenci.