A Zinn Digital® modul valódi műveletekké alakítja a WHMCS saját gombjait a platformunkon. Egy megrendelés létrehozza az ügyfele tárhelyét. A WHMCS lejárt számlákra vonatkozó automatizmusa felfüggeszti azt. A számla kifizetettként való megjelölése feloldja a felfüggesztést. A lemondás ütemezi a törlést. Ügyfele pedig kap egy Log in to hosting panel gombot az ügyfélkapujában, amely közvetlenül bejelentkezteti őt.
Ingyenes, GPL-2.0-or-later licencű, és nem rendelkezik kiemelt hozzáférési útvonallal a platformunkhoz: minden hívása egy dokumentált végpont, amelyet Ön is meghívhatna a saját API-kulcsával.
Mielőtt elkezdi
Két dologra van szüksége, és a második gyakran megtéveszti az embereket.
- Egy aktív programmal rendelkező Zinn® viszonteladói fiók. Regisztráljon a
zinndigital.com oldalon, és kapcsolja be a viszontértékesítést.
- Egy webhelykerettel rendelkező viszonteladói csomag. Az ügyfelei által megrendelt webhelyek az Ön
csomagjának terhére számítanak, így olyanra van szüksége, amelyben van még szabad hely.
⚠️ A Test Connection nem tudja megmondani, hogy egy megrendelés sikeres lesz-e. Beolvassa az Ön programját, és semmit sem hoz létre, így egy működőképes, active fiókról számol be, amellyel még nem lehet értékesíteni. Ha az első megrendelése a "This organization has no hosting plan, so it cannot host a site yet" hibával meghiúsul, pontosan ez történt — vásároljon vagy bővítsen viszonteladói csomagot, majd adja le újra a megrendelést. A modullal semmi baj sincs.
1. Az API-kulcs létrehozása
A Zinn® vezérlőpultján nyissa meg az API keys menüpontot, és hozzon létre egy kulcsot pontosan ezzel a tizenegy jogosultsággal:
| Jogosultság | Miért szükséges |
|---|
org.create | Ügyfele Zinn® fiókjának megnyitása az első megrendelésekor. |
org.read | Ügyfélfiókjai adatainak olvasása. |
sites.create | A webhely létrehozása. |
sites.view | Egy szolgáltatás és használatának beolvasása. |
sites.delete | Megszüntetés. |
reseller.view | Az eladott tételek listázása, valamint a tárhely és sávszélesség beolvasása. |
reseller.provision | Felfüggesztés, feloldás, ügyfél bejelentkeztetése, csomag beállítása és csomagváltás. |
billing.view | Csomagbővítés költségének kiolvasása a művelet végrehajtása előtt. |
sites.manage | Gyorsítótár ürítése és biztonsági mentés készítése a gombokról. |
sites.panel_access | A WordPress adminisztrátor jelszavának módosítása. |
hosting.php.manage | PHP-verzió váltása magasabb vagy alacsonyabb csomagra váltáskor. |
⛔ Ne adja meg a reseller.manage jogosultságot. Egy számlázási felületre bemásolt kulcsnak képesnek kell lennie az ügyfelek nemfizetés miatti zárolására és bejelentkeztetésére. Nem szabad azonban hozzáférnie és felülírnia a saját fizetési átjáróinak hitelesítő adatait. A reseller.provision azért létezik, hogy Önnek ne kelljen megadnia a nagyobb jogosultságot. ⛔ Az org.create nem opcionális. Enélkül a modul képes olvasni a fiókjait, de nem tud újat nyitni, így a Test Connection sikeres lesz, az első megrendelésre viszont 403-as választ ad. ⛔⛔ Adja meg a teljes táblázatot, és vegye figyelembe, hogy a Test Connection nem tudja jelezni, ha nem tette meg. Beolvassa az Ön viszonteladói programját, és semmit sem hoz létre, így zöld jelzést ad egy olyan kulcsra is, amelyből ezek bármelyike hiányzik. Helyette hónapokkal később egy ügyfélnél fog 403-as hibát kapni azon az egyetlen műveleten, amelyet a hiányzó jogosultság lefedne.
2. A modul telepítése
- Töltse le a modult, és csomagolja ki.
- Töltse fel a
zinn könyvtárat a WHMCS-telepítésébe úgy, hogy a modulfájl a következő helyre
kerüljön: modules/servers/zinn/zinn.php.
⛔ A könyvtár nevének kötelezően zinn-nek kell lennie. A WHMCS a könyvtár nevéből képezi a provizionáló modul funkcióneveit, így a zinn-whmcs vagy zinndigital névre történő átnevezés olyan modult eredményez, amelyet a WHMCS kilistáz, enged kiválasztani, de aztán soha nem hív meg — hibajelzés nélkül. A zip-fájl már alapból a megfelelő névre csomagolódik ki; egyszerűen csak ne nevezze át.
3. A szerver hozzáadása
A WHMCS-ben: Configuration → System Settings → Servers → Add New Server.
- Name: tetszőleges, pl.
Zinn Digital®
- Hostname:
api.zinndigital.com
- Type:
Zinn Digital®
- Password: az Ön API-kulcsa az 1. lépésből
⛔ A kulcsot a Password mezőbe kell beírni, amelyet a WHMCS titkosítva tárol. Ne tegye termékkonfigurációs beállításba — azok egyszerű szövegként szerepelnek az adatbázisban, és minden adminisztrátor számára láthatóak, ez a hitelesítő adat pedig képes létrehozni és törölni az ügyfelei tárhelyeit.
Kattintson a Test Connection gombra. Valódi hívást hajt végre, és azt jelzi vissza, amit a platformunk válaszolt, ahelyett, hogy csupán a mezők kitöltöttségét ellenőrizné.
4. A termék létrehozása
Configuration → System Settings → Products/Services, majd állítsa a Module Settings értékét az épp hozzáadott szerverre. A mezők a következők:
| Mező | Kötelező | Leírás |
|---|
| Product line | igen | Az Ön által értékesített Zinn® termékvonal — mainstream (menedzselt WordPress), footprint_free, wordpress, linux, cloud, agency, app_hosting, ai_hosting, lms_hosting, managed_database, vector_hosting, zinn_compute, fleet_linux, fleet_enterprise, mail vagy reseller. |
| Stack | igen | Mi kerüljön felépítésre: wordpress (alapértelmezett), woocommerce, php, static, node, one_click, headless_cms, nextcloud vagy owncloud. |
| Application | nem | Kizárólag a one_click és headless_cms stackek esetében — a telepítendő alkalmazás. Bármely más stacken megadott értéket a rendszer elutasít, mivel az a stack már eleve meghatározza a telepítendő szoftvert. |
| PHP version | nem | pl. 8.3. Hagyja üresen a termékvonal alapértelmezett értékéhez. Olyan verzió megadását, amelyet a termékvonal nem kínál, a rendszer elutasítja az elérhető verziók listájával együtt. |
| Plan code | igen | A Zinn® csomag, amelyet ez a termék értékesít. A GET /v1/reseller/prices listázza az Ön csomagjait. Az ezen adat nélküli megrendelést a rendszer elutasítja — lásd az alábbi figyelmeztetést. |
| Billing interval | nem | monthly (alapértelmezett) vagy annual — az elszámolási időszak, amely alapján az Ön nagykereskedelmi tétele megjelenik erre az ügyfélre. Az, hogy Ön mennyit számít fel a saját ügyfelének, a WHMCS terméknél van beállítva, és ez nem érinti. |
⛔⛔ A csomagkód megadása kötelező, és az anélküli megrendelést a rendszer szándékosan elutasítja. 2026-09-01-ig a mező csupán dekoratív jellegű volt, és semmi sem olvasta be, így a modul olyan tárhelyet rendelt meg, amely egyáltalán nem tartalmazott csomagot — és ennek minden következménye észrevétlen maradt. Az Ön nagykereskedelmi elszámolása az ügyfelei aktív előfizetéseiből épül fel, így nem volt tételsor a szolgáltatáshoz, és Önnek semmit sem számláztunk ki, amíg az futott; ügyfele nem örökölt semmilyen keretet, így nem érvényesült tárhely- vagy fájlkvóta a webhelyén; a Change Package funkciónak pedig nem volt mit módosítania, így az Ön által értékesített csomagváltást nem lehetett végrehajtani. A webhely mindvégig hibátlanul létrejött és működött.
A modul mostantól inkább elutasítja a megrendelést, mert nincs olyan biztonságos csomag, amelyet kikövetkeztethetne: a tippelés olyan csomagon hozna létre tárhelyet, amelyet Ön nem választott ki, és lehet, hogy nem is árazott be, és — az azonnal leolvasható elutasítással ellentétben — ez legfeljebb csak a számlakivonat megérkezésekor derülne ki, ha egyáltalán kiderülne.
Állítsa az Auto Setup opciót arra, amelyiket preferálja — a modul idempotens a WHMCS szolgáltatásazonosítóra (service id), így egy megismételt létrehozás ugyanazt a webhelyet adja vissza ahelyett, hogy egy másodikat számlázna Önnek.
Mit csinálnak az egyes WHMCS-műveletek
| WHMCS-művelet | Mi történik a mi oldalunkon |
|---|
| Create | Létrehozza az ügyfél Zinn® fiókját (vagy újrahasználja a meglévőt), és létrehozza a webhelyét. |
| Suspend | Nemfizetés miatti zárolás alá helyezi a webhelyet. A tartalom megmarad; semmi sem törlődik. |
| Unsuspend | Feloldja az Ön zárolását. |
| Terminate | Ütemezi a webhely törlését egy türelmi időszakkal. A dátum megjelenik az ügyfélkapuban. |
| Usage update | Naponta egyszer frissíti a tárhely- és sávszélesség-használatot minden szolgáltatásnál. |
| Log in to hosting panel | Egy egyszer használatos bejelentkezési hivatkozást nyit meg közvetlenül az ügyfél felületére. |
| Change Package | Magasabb vagy alacsonyabb csomagra váltja a szolgáltatást. Áthelyezi a csomagot, valamint a PHP-verziót is, ha az új termék meghatároz ilyet. |
| Change Password | Beállítja a WordPress adminisztrátor jelszavát. A mező nem jelenik meg olyan stackeken, amelyek nem rendelkeznek ilyen fiókkal. |
| Renew | Megerősíti, hogy a szolgáltatás még létezik. A Zinn® tárhely folyamatos jellegű, így nincs távoli futamidő, amit meg kellene hosszabbítani. |
| Sync Usage / Purge Cache / Take Backup | Gombok az adminisztrátori szolgáltatásoldalon. Ügyfele a Purge Cache és a Take Backup lehetőséget kapja meg az ügyfélkapujában. |
| Service fül | Állapot, csomag, tárhely, sávszélesség, esetlegesen ütemezett törlés, és hogy ki állította be a felfüggesztést. |
| Import | A ListAccounts minden oldalt beolvas, így az importálás nem állhat le észrevétlenül az elsőnél. |
Csomagváltások: ki kinek számláz
Ügyfelének a Zinn® soha nem állít ki számlát, sem megrendeléskor, sem csomagváltáskor. Ön a WHMCS-en keresztül számláz nekik; mi Önnek számlázunk a nagykereskedelmi elszámolásán. Így a Change Package módosítja az ügyfele jogosultságait és a következő elszámolásán szereplő tételsort, a bankkártyát viszont nem érinti — a WHMCS már levonta az összeget az ügyfelétől, és kiszámította a saját időarányosítását.
Egy ügyfél második szolgáltatása. Ugyanazon a csomagon ez egy újabb webhely az adott csomag saját webhelykeretén belül, és semmilyen további keret nem kerül jóváírásra. Eltérő csomag esetén a rendszer elutasítja: az aktív csomag lecserélése esetén a két szolgáltatás egyike számlázatlanul maradna. Vagy értékesítse mindkettőt ugyanazon a csomagon, vagy hozza létre az ügyfelet külön ügyfélrekordként a WHMCS-ben.
A Change Password funkció kizárólag a WordPresshez létezik. A Zinn® tárhely nem rendelkezik egyetlen „szolgáltatási jelszóval” — az ügyfele a bejelentkezési gombbal éri el a felületét —, egy php vagy static webhely pedig nem tartalmaz módosítható alkalmazásfiókot. A WHMCS teljesen elrejti ezt a mezőt ahelyett, hogy olyat jelenítene meg, ami nem működhet.
Három válasz, amelyet tilos kettőre leegyszerűsíteni
- Az Unsuspend elutasítással is válaszolhat. Ez azt jelenti, hogy a webhelyet a visszaélésekkel foglalkozó
(abuse) csapatunk függesztette fel, nem Ön, és egyetlen számlázási felület sem oldhatja fel. Az üzenet ezt egyértelműen közli; az újrapróbálkozás helyett mutassa meg azt az adminisztrátorának.
- A Terminate művelet ütemezi a törlést, nem pedig végrehajtja. A dátum
pending_deletion_at értékként
érkezik vissza, és az ügyfélkapu megjeleníti azt. Azt mondani az ügyfélnek, hogy az adatai már megsemmisültek, amikor még nem, rosszabb, mint nem mondani semmit.
- A tárhely és a sávszélesség állapota lehet ismeretlen, és az ismeretlen nem egyenlő a nullával. Ha nem
tudtunk adatot leolvasni, a modul érintetlenül hagyja a számot ahelyett, hogy 0-t írna be — ellenkező esetben a WHMCS egy megnyugtató, üres használati sávot mutatna az ügyfelének egy olyan webhelyről, amelyről nincs adatunk.
Hibaelhárítás
A Test Connection sikeres, de az első megrendelés jogosultsági hibával meghiúsul. Az API-kulcsból hiányzik az org.create jogosultság. A modulnak meg kell nyitnia az ügyfél fiókját, mielőtt létrehozhatná a webhelyét.
A megrendelés azzal a hibával hiúsul meg, hogy a szervezetnek nincs tárhelycsomagja. A viszonteladói csomagjában nem maradt szabad webhelykeret, vagy még nem rendelkezik ilyennel. Lásd a fenti Mielőtt elkezdi részt.
A megrendelés egy stackre hivatkozva hiúsul meg. A terméken a Stack mező üres, vagy olyasmit nevez meg, amit nem építünk fel. Állítsa wordpress értékre, hacsak nem valami mást értékesít.
A lemondások meghiúsulnak. Győződjön meg arról, hogy az 1.0.0 vagy újabb modulverziót használja. A korábbi verziók nem küldtek törlési megerősítést, és minden megszüntetést elutasított a rendszer, ami miatt a szolgáltatás tovább futott és számlázódott.
Egy elutasítás, amely egy mezőt nevez meg. Validációs hibáink az üzenet után zárójelben megnevezik a mezőt és az okot, például: (php_version: 7.2 is not offered on this product line). Ez a cselekvésre alkalmas rész — az előtte lévő mondat szándékosan általános megfogalmazású.
A letöltés ellenőrzése
Minden archívumot TLS-en keresztül szolgálunk ki a saját gépnevünkről, és soha nem irányítjuk át harmadik fél kiszolgálójára. Az SHA-256 ellenőrzőösszeg a letöltési link mellett található a letöltési oldalon. Hasonlítsa össze a letöltés után:
- macOS vagy Linux:
shasum -a 256 zinn-whmcs-1.0.0.zip
- Windows:
certutil -hashfile zinn-whmcs-1.0.0.zip SHA256
Nem WHMCS-t használ?
Elérhető egy HostBill-modul és egy egyfájlos PHP-kliens minden más rendszerhez, mindkettő ingyenes, és mindkettő ugyanazon a letöltési oldalon található. A modulok által használt összes végpont megtalálható az API-referenciában.