Tudásbázis

Zinn® tárhelyek értékesítése saját rendszereiből

Irányítsd a Zinn tárhelyet saját számlázási felületedről, WordPress webhelyedről vagy szkriptjeidről: szerezz be egy API-kulcsot, indítsd el az első hívást, és ismerd meg azt a hat hívást, amelyből a teljes integráció áll.

Viszonteladja a tárhelyünket. Az ügyfelei az öné: az ön árai, az ön számlái, az ön fizetési szolgáltatója. Így vezérelheti a platformunkat bármiről, amit már használ — egy számlázási felületről, a saját WordPress-oldaláról vagy egy szkriptről.

Amit az ügyfelei valójában látnak

Mielőtt a technikai részletekbe mennénk: az ügyfeleinek soha nem kell látniuk minket. Három felület áll rendelkezésre, és ön választja ki, melyiket használja.

| Felület | Kié | |---|---| | A tárhelypanel, a saját hálózatnevén (hostname) | Állítson be egy panel-hálózatnevet a Viszonteladás → Az ön márkája menüpontban, és az ügyfelei a panel.azoncsege.hu címen jelentkezhetnek be az ön logójával és színeivel. Ugyanaz a panel, az ön címe. | | A saját weboldala | A WordPress-bővítmény doménkeresőt és egykattintásos bejelentkezési hivatkozást helyez el az oldalán, és a megrendelést a saját WooCommerce-pénztárán keresztül dolgozza fel. | | A számlázási felülete | A WHMCS vagy a HostBill marad a főbejárat; a modul a háttérben végzi a létesítést, az ügyfélfiók gombja pedig közvetlenül a tárhelyükre lépteti be őket. |

⛔ Bármelyiket is választja, ön a szerződő kereskedő (merchant of record) az ügyfelei számára: az ön árai, az ön számlái, az ön adószáma, az ön fizetési szolgáltatója. Mi önnek számlázunk, havonta egyszer, nagykereskedelmi áron.

Amint beállította a panel hálózatnevét, adja meg azt a WordPress-bővítmény Panel címe mezőjében, és sehova máshova — az API által generált bejelentkezési hivatkozások automatikusan ezt fogják követni.

A négy bejutási mód

Négy bejutási mód létezik, és a háttérben mindegyik ugyanazt teszi:

| | Amire való | |---|---| | A WHMCS-modul | WHMCS-áruházhoz | | A HostBill-modul | HostBill-áruházhoz | | A WordPress-bővítmény | Értékesítés saját WordPress- vagy WooCommerce-oldalról | | Az API | Bármi másra — Blesta, saját belső rendszer, cron-szkript |

1. Hozzon létre egy API-kulcsot

A vezérlőpultján lépjen az API-kulcsok menüponthoz, és hozzon létre egyet. Csak a szükséges jogosultságokat adja meg neki:

| Jogosultság | Miért szükséges | |---|---| | org.read | Ügyfélfiókok adatainak olvasása | | sites.create | Oldal létesítése | | sites.view | Szolgáltatás adatainak olvasása | | sites.delete | Megszüntetés | | reseller.view | Szolgáltatások listázása és a használat olvasása | | reseller.provision | Felfüggesztés, feloldás és ügyfél bejelentkeztetése |

Ne adjon egy integrációnak reseller.manage jogosultságot. Ez a jogosultság módosítja az árlistáját és a saját fizetési átjárójának hitelesítési adatait. A reseller.provision pontosan azért létezik, hogy egy számlázási felületre vagy weboldalra beillesztett kulcsnak ne legyen erre szüksége.

A kulcs csak egyszer jelenik meg. Tárolja ott, ahol a többi hitelesítési adatát tárolja — soha ne olyan fájlban, amelyet a webszerver kiszolgál.

2. Indítsa el az első hívást

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

Ez visszadja az összes általad létesített szolgáltatást (oldalanként egy sorban), a hozzá tartozó ügyféllel, a státuszával és az érte felszámított árral. Új fiók esetén ez egy üres lista — ami a helyes válasz, nem pedig hiba.

3. A teljes integráció, hat hívásban

AMIKOR               HÍVÁS
egy rendelést kifizetnek POST   /v1/orgs                                   ÜGYFELENKÉNT egyszer
                         POST   /v1/sites                                  SZOLGÁLTATÁSONKÉNT egyszer
nem fizettek             POST   /v1/reseller/services/{siteId}/suspend
fizetnek                 POST   /v1/reseller/services/{siteId}/unsuspend
lemondják                DELETE /v1/sites/{siteId}
"bejelentkezés a tárhelyre" POST /v1/reseller/services/{siteId}/sso

A létesítés két hívásból áll, és a kulcsok számítanak:

# 1. az ügyfél fiókja — az ÖN ügyfél-azonosítójához kulcsozva
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. az oldaluk — az ÖN szolgáltatás-azonosítójához kulcsozva
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"}'

Két szabály, amely pénzbe kerül, ha elrontja

  1. Kulcsozza a fiókot az ÖN ÜGYFELÉHEZ, az oldalt pedig az ÖN SZOLGÁLTATÁSÁHOZ. Egy ügyfél második megrendelésének a már meglévő fiókjába kell érkeznie. Ha mindkettőt a szolgáltatáshoz kulcsozza, az ügyfél három független fiókkal és három külön panellel fog rendelkezni.
  2. Küldjön egy Idempotency-Key-t minden POST kérésben, amelyet a saját azonosítójából képez az adott elemre. Minden számlázási rendszer újrapróbálkozik — egy fizetési átjáró visszahívása kétszer érkezik meg, az adminisztrátor újrafuttat egy sikertelen létesítést, az ügyfél duplán kattint. A kulcs nélkül a második kísérlet egy második oldalt hoz létre, és azt kiszámlázzuk önnek.

Három válasz, amelyet nem szabad kettővé összevonni

  • Az unsuspend adhat 409-es választ. Ez azt jelenti, hogy a mi visszaélésekkel foglalkozó csapatunk tartja visszatartás alatt az oldalt, nem ön. Jelenítse meg az üzenetet; ne próbálkozzon újra.
  • **A megszüntetés a törlést ütemezi, nem azonnal hajtja végre.** A dátum pending_deletion_at értékeként tér vissza. Azt mondani az ügyfélnek, hogy az adatai már törlődtek, amikor még nem, rosszabb, mintha semmit sem mondana.
  • A disk_used_bytes értéke lehet null, és a null nem nullát jelent. Ez azt jelenti, hogy nem tudtuk lemérni, nem azt, hogy semmit sem használtak fel. Hagyja ki — ne írjon 0-át a saját nyilvántartásába, különben egy zöld használati sávot fog mutatni az ügyfélnek egy olyan oldalról, amelyről nincs mérésünk.

4. Ügyfél bejelentkeztetése

A POST /v1/reseller/services/{siteId}/sso egy egyszer használatos URL-t ad vissza, amely az ügyfelet közvetlenül a saját fiókjába lépteti be, már bejelentkezve.

Akkor generálja, amikor rákattintanak, soha ne az oldal renderelésekor. A hivatkozás egyszer használatos és perceken belül lejár, így az oldalba írt hivatkozás az első oldalmegtekintéskor elég, és ott marad minden gyorsítótárban ön és a böngésző között.

5. Modul telepítése ehelyett

  • WHMCS — másolja a modult a modules/servers/zinn/ könyvtárba, adjon hozzá egy szervert, amelynek a Password mezője az ön API-kulcsa, és állítsa be a termékcsaládot a terméken. Nyomja meg a Test Connection gombot: ez egy valódi hívást indít, és megmondja, mit válaszolt a platform.
  • HostBill — másolja az includes/modules/Hosting/zinn/ könyvtárba, és csatlakoztassa ugyanígy.
  • WordPress — a Zinn® Reseller Toolkit: doménkereső, bejelentkezési hivatkozás az ügyfelek tárhelyére, és WooCommerce-létesítés egy megrendelés kifizetésekor. Nyílt forráskódú a <https://github.com/Zinn-Digital/zinn-reseller-toolkit> címen, vagy letölthető a vezérlőpult Bővítmények menüpontjából.

6. Élesítés

Ellenőrizze ezeket, mielőtt éles rendelést fogadna:

  • A kapcsolat tesztelése sikeres a modulon, vagy az első curl hívása listát ad vissza.
  • Az árlistája be van állítva (Viszonteladás → Az ön árai).
  • A fizetési átjárója csatlakoztatva van (Viszonteladás → Fizetési átjárók) — az ügyfelei önnek fizetnek, a saját fiókján keresztül.
  • A cégadatai meg vannak adva (Viszonteladás → Az ön cége), így az ügyfélszámláin az ön jogi személye és adószáma szerepel, nem a miénk.
  • Leadott egy valódi megrendelést az elejétől a végéig, és végignézte az oldal megjelenését.

Hol található minden más

A teljes API-referencia — minden végpont, a specifikációnkból generálva, az egyes végpontokhoz szükséges jogosultságokkal — a <https://zinndigital.com/developers/api> címen érhető el.

Még mindig elakadtál?

Minden csomag tartalmaz ügyfélszolgálatot, a válaszokat pedig a saját nyelvén kapja meg.

Kapcsolat a támogatással Összes cikk