Modul Zinn Digital® převádí vlastní tlačítka systému WHMCS na skutečné akce na naší platformě. Objednávka zřídí hosting vašeho klienta. Automatizace nezaplacených faktur ve WHMCS jej pozastaví. Označení faktury jako uhrazené jej uvolní. Zrušení naplánuje smazání. A váš klient získá v klientské sekci tlačítko Přihlásit se do ovládacího panelu hostingu, které jej rovnou přihlásí.
Je bezplatný, licencovaný pod GPL-2.0-or-later a nemá na naši platformu žádný privilegovaný přístup: každé volání, které provádí, směřuje na zdokumentovaný koncový bod, který můžete sami volat pomocí vlastního klíče API.
Než začnete
Potřebujete dvě věci a ta druhá lidi často zaskočí.
- Účet prodejce Zinn® s aktivním programem. Zaregistrujte se na
zinndigital.com a zapněte prodej.
- Plán prodejce s povolenou kapacitou webů. Weby, které si vaši klienti objednají, se započítávají do vašeho
plánu, takže potřebujete takový, ve kterém zbývá místo.
⚠️ Test Connection nedokáže určit, zda objednávka uspěje. Načte váš program a nic nezřídí, takže nahlásí v pořádku stav active u účtu, který zatím nemůže nic prodávat. Pokud vaše první objednávka selže s hlášením „This organization has no hosting plan, so it cannot host a site yet“, je to přesně tento případ — zakupte nebo navyšte svůj plán prodejce a odešlete objednávku znovu. S modulem není nic v nepořádku.
1. Vytvořte klíč API
V administračním rozhraní Zinn® otevřete API keys a vytvořte klíč s přesně těmito jedenácti oprávněními:
| Oprávnění | Proč je potřeba |
|---|
org.create | Založení účtu Zinn® vašeho klienta při jeho první objednávce. |
org.read | Čtení účtů vašich klientů. |
sites.create | Zřízení webu. |
sites.view | Zobrazení údajů o službě a jejím využití. |
sites.delete | Zrušení (ukončení). |
reseller.view | Výpis toho, co jste prodali, a čtení disku i přenosu dat. |
reseller.provision | Pozastavení, uvolnění, přihlášení klienta, nastavení jeho plánu a změna jeho balíčku. |
billing.view | Zjištění ceny upgradu před jeho provedením. |
sites.manage | Vymazání mezipaměti a vytvoření zálohy z tlačítek. |
sites.panel_access | Změna hesla správce systému WordPress. |
hosting.php.manage | Přepnutí verze PHP při upgradu nebo downgradu. |
⛔ Neudělujte reseller.manage. Klíč vložený do fakturačního panelu by měl mít možnost zablokovat klienta pro neplacení a přihlásit jej. Neměl by mít možnost číst a měnit přihlašovací údaje k vaší vlastní platební bráně. Oprávnění reseller.provision existuje proto, abyste nemuseli udělovat toto rozsáhlejší oprávnění. ⛔ org.create není volitelné. Bez něj může modul vaše účty číst, ale nemůže žádný vytvořit, takže Test Connection projde a první objednávka vrátí 403. ⛔⛔ Udělte oprávnění z celé tabulky a mějte na paměti, že Test Connection nedokáže poznat, zda jste tak neučinili. Načte váš partnerský program prodejce a nic nezřizuje, takže se zobrazí zeleně i u klíče, kterému kterékoli z nich chybí. Místo toho pak po měsících od zákazníka obdržíte 403 při té jediné operaci, kterou chybějící oprávnění pokrývá.
2. Nainstalujte modul
- Stáhněte si modul a rozbalte jej.
- Nahrajte adresář
zinn do instalace WHMCS, aby se soubor modulu nacházel v
modules/servers/zinn/zinn.php.
⛔ Adresář se musí jmenovat zinn. WHMCS odvozuje názvy funkcí zřizovacího modulu z názvu jeho adresáře, takže jeho přejmenování na zinn-whmcs nebo zinndigital vytvoří modul, který WHMCS uvede v seznamu, umožní vám jej vybrat a poté jej nikdy nezavolá — a to zcela bez chybové zprávy. Soubor zip se již rozbaluje se správným názvem; jen jej nepřejmenovávejte.
3. Přidejte server
V systému WHMCS: Configuration → System Settings → Servers → Add New Server.
- Name: cokoli, např.
Zinn Digital®
- Hostname:
api.zinndigital.com
- Type:
Zinn Digital®
- Password: váš klíč API z kroku 1
⛔ Klíč patří do pole Password, které WHMCS ukládá šifrovaně. Nevkládejte jej do konfiguračních možností produktu — ty jsou v databázi uloženy v prostém textu a viditelné pro každého správce, přičemž tento přihlašovací údaj může zakládat i rušit hosting vašich klientů.
Stiskněte Test Connection. Provede skutečné volání a ohlásí odpověď naší platformy, namísto pouhé kontroly, zda jsou pole vyplněna.
4. Vytvořte produkt
Přejděte do Configuration → System Settings → Products/Services a v části Module Settings nastavte server, který jste právě přidali. Pole jsou:
| Pole | Povinné | Co znamená |
|---|
| Product line | ano | Produktová řada Zinn®, kterou prodáváte — mainstream (spravovaný WordPress), footprint_free, wordpress, linux, cloud, agency, app_hosting, ai_hosting, lms_hosting, managed_database, vector_hosting, zinn_compute, fleet_linux, fleet_enterprise, mail nebo reseller. |
| Stack | ano | Co se vytvoří: wordpress (výchozí), woocommerce, php, static, node, one_click, headless_cms, nextcloud nebo owncloud. |
| Application | ne | Pouze pro stacky one_click a headless_cms — jakou aplikaci nainstalovat. Uvedení u jakéhokoli jiného stacku je odmítnuto, protože daný stack již určuje, co se nainstaluje. |
| PHP version | ne | např. 8.3. Ponechte prázdné pro výchozí verzi dané řady. Verze, kterou řada nenabízí, je odmítnuta se seznamem dostupných verzí. |
| Plan code | ano | Plán Zinn®, který tento produkt prodává. GET /v1/reseller/prices zobrazí vaše plány. Objednávka bez něj bude odmítnuta — viz varování níže. |
| Billing interval | ne | monthly (výchozí) nebo annual — interval, ve kterém je pro tohoto klienta vystavena vaše velkoobchodní položka. Částka, kterou účtujete vlastnímu klientovi, se nastavuje v produktu WHMCS a zůstává nedotčena. |
⛔⛔ Kód plánu (Plan code) je povinný a objednávka bez něj je úmyslně odmítnuta. Do 2026-09-01 bylo toto pole pouze dekorativní a nic jej nečetlo, takže modul objednával hosting, který neměl přiřazený vůbec žádný plán — a veškeré důsledky toho byly tiché. Váš velkoobchodní výpis se skládá z aktivních předplatných vašich klientů, takže pro danou službu neexistovala žádná položka a po celou dobu jejího běhu vám nebylo nic fakturováno; váš klient nezdědil žádné příděly, takže na jeho web nebyla aplikována žádná kvóta disku ani souborů; a funkce Change Package neměla co změnit, takže upgrade, který jste prodali, nebylo možné provést. Web po celou dobu fungoval a odbavoval provoz zcela bez problémů.
Modul nyní místo toho objednávku odmítne, protože neexistuje žádný bezpečný plán, který by mohl odhadnout: odhad by zřídil hosting na plánu, který jste nevybrali a možná ani neocenili, a — na rozdíl od odmítnutí, které zjistíte okamžitě — by se projevil až ve chvíli, kdy by dorazil výpis, pokud vůbec.
Nastavte Auto Setup podle svých preferencí — modul je idempotentní vůči ID služby WHMCS, takže opakovaný pokus o zřízení vrátí stejný web, místo aby vám byl účtován druhý.
Co dělají jednotlivé akce WHMCS
| Akce WHMCS | Co se stane na naší straně |
|---|
| Create | Vytvoří účet Zinn® klienta (nebo použije ten, který již má) a zřídí jeho web. |
| Suspend | Pozastaví web z důvodu neplacení. Obsah zůstává zachován; nic se nemaže. |
| Unsuspend | Uvolní vaše pozastavení. |
| Terminate | Naplánuje smazání webu s ochrannou lhůtou. Datum se zobrazuje v klientské sekci. |
| Usage update | Aktualizuje využití disku a přenosu dat u každé služby, jednou denně. |
| Log in to hosting panel | Otevře jednorázový odkaz pro přihlášení přímo do ovládacího panelu vašeho klienta. |
| Change Package | Provede upgrade nebo downgrade služby. Přenese balíček a případně verzi PHP, pokud ji nový produkt uvádí. |
| Change Password | Nastaví heslo správce systému WordPress. Pole se nezobrazuje u stacků, které takový účet nemají. |
| Renew | Potvrdí, že služba stále existuje. Hosting Zinn® je nepřetržitý, takže se na dálku neprodlužuje žádné období. |
| Sync Usage / Purge Cache / Take Backup | Tlačítka na stránce správy služby. Váš klient získá tlačítka Purge Cache a Take Backup ve své klientské sekci. |
| Záložka služby | Stav, plán, disk, přenos dat, případné naplánované smazání a informace o tom, kdo pozastavení nastavil. |
| Import | ListAccounts čte každou stránku, takže se import nemůže tiše zastavit na té první. |
Upgrady: kdo komu co účtuje
Společnost Zinn® vašemu klientovi nikdy nic nefakturuje, a to ani při objednávce, ani při upgradu. Vy mu fakturujete prostřednictvím WHMCS; my fakturujeme vám na vašem velkoobchodním výpisu. Změna balíčku (Change Package) tedy přesune oprávnění vašeho klienta a položku na vašem příštím výpisu a nedotkne se žádné karty — systém WHMCS již od vašeho klienta peníze přijal a vypočítal vlastní poměrné rozúčtování.
Druhá služba klienta. Na stejném plánu se jedná o další web v rámci povolené kapacity webů daného plánu a nic dalšího se neposkytuje. Na odlišném plánu je odmítnuta: nahrazení aktivního plánu by způsobilo, že jedna ze dvou služeb by zůstala nevyfakturována. Buď obě prodejte na stejném plánu, nebo klienta ve WHMCS nastavte jako samostatný klientský záznam.
Změna hesla (Change Password) existuje pouze pro WordPress. Hosting Zinn® nemá žádné jediné „heslo ke službě“ — váš klient přistupuje do svého panelu pomocí přihlašovacího tlačítka — a web typu php nebo static nemá žádný aplikační účet, který by bylo možné změnit. WHMCS toto pole raději zcela skryje, než aby zobrazoval takové, které nemůže fungovat.
Tři odpovědi, které nesmíte redukovat na dvě
- Unsuspend může vrátit odmítnutí. To znamená, že web byl pozastaven naším týmem pro řešení
zneužití (abuse tým), nikoli vámi, a žádný fakturační panel jej nemůže uvolnit. Zpráva to uvádí; ukažte ji svému správci a nepokoušejte se o to znovu.
- Terminate naplánuje smazání, neprovádí jej ihned. Datum se vrátí jako
pending_deletion_at a zobrazí se v klientské sekci. Tvrdit zákazníkovi, že jeho data jsou již smazána, když tomu tak není, je horší než neříkat nic.
- Využití disku a přenosu dat může mít neznámou hodnotu a neznámá hodnota není nula. Pokud jsme měření nemohli
provést, modul ponechá hodnotu beze změny, než aby zapsal 0 — jinak by WHMCS zákazníkovi zobrazil uklidňující prázdný ukazatel využití u webu, ze kterého nemáme žádné údaje.
Řešení problémů
Test Connection projde a první objednávka selže s chybou oprávnění. Klíči API chybí org.create. Modul musí nejprve otevřít účet klienta, než bude moci vytvořit jeho web.
Objednávka selže se zprávou, že organizace nemá žádný hostingový plán. Váš plán prodejce již nemá žádnou volnou kapacitu pro weby nebo jej ještě nevlastníte. Viz část Než začnete výše.
Objednávka selže s odkazem na stack. Pole Stack u produktu je prázdné nebo uvádí něco, co nevytváříme. Nastavte jej na wordpress, pokud neprodáváte něco jiného.
Rušení služeb selhává. Ujistěte se, že používáte modul verze 1.0.0 nebo novější. Dřívější sestavení neodesílala žádné potvrzení o smazání a každé ukončení bylo odmítnuto, což ponechalo službu aktivní a fakturovanou.
Odmítnutí, které uvádí pole. Naše chyby validace uvádějí dané pole a důvod v závorkách za zprávou, např. (php_version: 7.2 is not offered on this product line). To je ta část, podle které je třeba jednat — věta před ní je záměrně obecná.
Ověřte svůj stažený soubor
Každý archiv je poskytován přes TLS přímo z našeho vlastního hostitele a nikdy není přesměrován na hostitele třetí strany. Jeho kontrolní součet SHA-256 je uveden vedle odkazu ke stažení na stránce stahování. Po stažení jej porovnejte:
- macOS nebo Linux:
shasum -a 256 zinn-whmcs-1.0.0.zip
- Windows:
certutil -hashfile zinn-whmcs-1.0.0.zip SHA256
Nepoužíváte WHMCS?
Pro jakýkoli jiný systém je k dispozici modul HostBill a jedno-souborový klient v PHP, oba zdarma a oba na stejné stránce stahování. Každý koncový bod, který moduly používají, je uveden v referenční příručce API.