Znalostní báze

Prodej hostingových služeb Zinn® z vašich vlastních systémů

Ovládejte hosting Zinn ze svého vlastního fakturačního panelu, webu WordPress nebo skriptů: získejte API klíč, proveďte své první volání a šest volání, ze kterých se skládá celá integrace.

Přeprodáváte náš hosting. Vaši klienti jsou vaši: vaše ceny, vaše faktury, váš platební poskytovatel. Takto ovládáte naši platformu odkudkoli, co už provozujete – z fakturačního panelu, vlastního webu na WordPress nebo skriptu.

Co vaši klienti skutečně vidí

Než se pustíme do mechaniky: vaši klienti nás nikdy nemusí vidět. Máte k dispozici tři rozhraní a záleží jen na vás, které si vyberete.

| Rozhraní | Čí je | |---|---| | Hostingový panel na vaší vlastní doméně | Nastavte doménu panelu v sekci Přeprodávání → Vaše značka a vaši klienti se budou přihlašovat na adrese panel.yourcompany.com s vaším logem a barvami. Stejný panel, vaše adresa. | | Váš vlastní web | Plugin pro WordPress umístí na váš web vyhledávání domén a odkaz pro přihlášení jedním kliknutím a vyřídí objednávku přes vaši vlastní pokladnu WooCommerce. | | Váš fakturační panel | Hlavní vstupní branou zůstává WHMCS nebo HostBill; modul zajišťuje zřízení služeb na pozadí a tlačítko v klientské sekci přihlásí uživatele rovnou do jeho hostingu. |

⛔ Ať už si vyberete cokoli, jste pro své klienty oficiálním prodejcem (merchant of record): vaše ceny, vaše faktury, vaše IČ DPH, váš platební poskytovatel. My fakturujeme vám, jednou měsíčně, za velkoobchodní ceny.

Jakmile nastavíte doménu panelu, zadejte ji pouze do pole Adresa panelu v pluginu pro WordPress – nikam jiného. Odkazy pro přihlášení vygenerované tímto API ji budou následovat automaticky.

Čtyři způsoby, jak začít

Existují čtyři cesty a pod kapotou dělají všechny to samé:

| | Pro | |---|---| | Modul WHMCS | Obchod na WHMCS | | Modul HostBill | Obchod na HostBill | | Plugin pro WordPress | Prodej z vlastního webu na WordPress nebo WooCommerce | | API | Cokoli jiného – Blesta, vlastní systém, skript cron |

1. Získejte klíč API

Ve svém administrátorském panelu přejděte do sekce Klíče API a jeden vytvořte. Udělte mu pouze oprávnění, která skutečně potřebuje:

| Oprávnění | Proč | |---|---| | org.read | Čtení klientských účtů | | sites.create | Zřízení webu | | sites.view | Čtení služeb | | sites.delete | Zrušení | | reseller.view | Zobrazení seznamu vašich služeb a čtení dat o využití | | reseller.provision | Pozastavení, uvolnění a přihlášení klienta |

Nedávejte integraci oprávnění reseller.manage. Toto oprávnění upravuje váš ceník a přihlašovací údaje k vaší vlastní platební bráně. Oprávnění reseller.provision existuje přesně proto, aby klíč, který vložíte do fakturačního panelu nebo na web, toto oprávnění nepotřeboval.

Klíč se zobrazí pouze jednou. Uložte ho tam, kde uchováváte ostatní citlivé údaje – nikdy v souboru, který váš webový server zpřístupňuje veřejně.

2. Proveďte své první volání

curl https://api.zinndigital.com/v1/reseller/services \
  -H "Authorization: Bearer zdk_live_…"

Tento příkaz vrátí všechny služby, které jste zřídili, po jednom řádku pro každý web, včetně klienta, ke kterému náleží, jeho stavu a ceny, kterou si účtujete. U nového účtu půjde o prázdný seznam – což je správná odpověď, nikoli chyba.

3. Celá integrace v šesti voláních

KDY                  VOLÁNÍ
objednávka je zaplacena POST /v1/orgs                                   jednou pro každého ZÁKAZNÍKA
                        POST /v1/sites                                  jednou pro každou SLUŽBU
zákazník nezaplatil     POST /v1/reseller/services/{siteId}/suspend
zákazník zaplatil       POST /v1/reseller/services/{siteId}/unsuspend
zákazník zrušil službu  DELETE /v1/sites/{siteId}
"přihlásit do hostingu" POST /v1/reseller/services/{siteId}/sso

Zřízení služby obnáší dvě volání a klíče jsou důležité:

# 1. zákaznický účet – identifikovaný podle VAŠEHO ID zákazníka
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. jejich web – identifikovaný podle VAŠEHO ID služby
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"}'

Dvě pravidla, která vás budou stát peníze, pokud je porušíte

  1. Identifikujte účet podle ZÁKAZNÍKA a web podle SLUŽBY. Druhá objednávka stejného zákazníka
  2. musí skončit v účtu, který už má. Pokud obojí identifikujete podle služby, skončí jeden zákazník se třemi nesouvisejícími účty a třemi samostatnými panely.

  3. Posílejte hlavičku Idempotency-Key ke každému požadavku POST, sestavenou z vašeho vlastního ID dané položky.
  4. Každý fakturační systém opakuje požadavky – zpětné volání platební brány dorazí dvakrát, administrátor spustí neúspěšné zřízení znovu, zákazník klikne dvakrát. Bez tohoto klíče vytvoří druhý pokus druhý web a vám bude naúčtován.

Tři odpovědi, které nesmíte zjednodušit na dvě

  • unsuspend může vrátit odpověď 409. To znamená, že web zadržuje náš tým pro řešení zneužití,
  • nikoli vy. Zobrazte tuto zprávu a požadavek neopakujte.

  • Zrušení služby naplánuje její smazání, neprovede ho okamžitě. Datum se vrátí v poli
  • pending_deletion_at. Tvrdit zákazníkovi, že jeho data jsou již pryč, když tomu tak není, je horší než mu neříkat nic.

  • disk_used_bytes může být null, přičemž null neznamená nula. Znamená to, že hodnotu
  • nebylo možné změřit, nikoli že nebylo využito žádné místo. Tuto hodnotu ignorujte – nezapisujte do svých záznamů 0, jinak zákazníkovi zobrazíte zelený ukazatel využití u webu, ze kterého nemáte žádná data.

4. Přihlášení klienta

Požadavek POST /v1/reseller/services/{siteId}/sso vrátí jednorázovou adresu URL, která přihlásí vašeho klienta přímo do jeho vlastního účtu.

Vygenerujte ji až ve chvíli, kdy uživatel klikne, nikdy při vykreslování stránky. Odkaz je jednorázový a vyprší během několika minut. Pokud jej zapíšete přímo do stránky, spotřebuje se při prvním zobrazení a zůstane uložený v každé mezipaměti mezi vámi a prohlížečem.

5. Místo toho nainstalujte modul

  • WHMCS – zkopírujte modul do adresáře modules/servers/zinn/, přidejte server, jehož
  • heslo je váš klíč API, a u produktu nastavte produktovou řadu. Klikněte na Test připojení – systém provede skutečné volání a sdělí vám, co platforma odpověděla.

  • HostBill – zkopírujte do includes/modules/Hosting/zinn/ a připojte stejným způsobem.
  • WordPressZinn® Reseller Toolkit: vyhledávání domén, odkaz pro přihlášení do hostingu
  • vašich klientů a zřízení přes WooCommerce po zaplacení objednávky. Open-source kód najdete na adrese <https://github.com/Zinn-Digital/zinn-reseller-toolkit> nebo si jej stáhněte v sekci Pluginy ve svém administrátorském panelu.

6. Spuštění do ostrého provozu

Než přijmete první skutečnou objednávku, zkontrolujte následující:

  • Test připojení u modulu je úspěšný, případně váš první požadavek curl vrátil seznam.
  • Váš ceník je nastaven (v sekci Přeprodávání → Vaše ceny).
  • Vaše platební brána je připojena (v sekci Přeprodávání → Platební brány) – vaši klienti
  • platí vám, prostřednictvím vašeho vlastního účtu.

  • Údaje o vaší společnosti jsou vyplněny (v sekci Přeprodávání → Vaše společnost), aby faktury
  • vašich klientů obsahovaly vaše právní údaje a IČ DPH, nikoli naše.

  • Zmáčkli jste jednu reálnou zkušební objednávku od začátku do konce a sledovali, jak se web objevil.

Kde najdete vše ostatní

Kompletní referenční příručka API – všechny koncové body (endpoints) vygenerované z naší specifikace včetně požadovaných oprávnění – je k dispozici na adrese <https://zinndigital.com/developers/api>.

Stále si nevíte rady?

Podpora je součástí každého tarifu a odpovídáme v češtině.

Kontaktovat podporu Všechny články