Baza de cunoștințe
Vânzarea de găzduire Zinn® de pe propriile sisteme
Gestionează găzduirea Zinn din propriul tău panou de facturare, site WordPress sau scripturi: obține o cheie API, efectuează primul tău apel și cele șase apeluri din care este alcătuită întreaga integrare.
Revindeți găzduirea noastră. Clienții dumneavoastră vă aparțin: prețurile dumneavoastră, facturile dumneavoastră, procesatorul dumneavoastră de plăți. Așa puteți controla platforma noastră din orice rulați deja — un panou de facturare, propriul site WordPress sau un script.
Ce văd de fapt clienții dumneavoastră
Înainte de partea tehnică: clienții dumneavoastră nu trebuie să ne vadă niciodată. Există trei interfețe și dumneavoastră alegeți pe care o folosiți.
| Interfață | A cui este | |---|---| | Panoul de găzduire, pe propriul nume de gazdă | Setați un nume de gazdă pentru panou la Revânzare → Brandul tău, iar clienții se autentifică la panel.yourcompany.com cu logoul și culorile dumneavoastră. Același panou, adresa dumneavoastră. | | Propriul site web | Modulul WordPress adaugă pe site-ul dumneavoastră căutarea de domenii și un link de autentificare printr-un singur clic, preluând comanda prin propria pagină de finalizare a comenzii WooCommerce. | | Panoul dumneavoastră de facturare | WHMCS sau HostBill rămâne pagina principală; modulul furnizează serviciile în fundal, iar butonul din zona de clienți îi autentifică direct în contul lor de găzduire. |
⛔ Indiferent ce alegeți, dumneavoastră sunteți comerciantul oficial pentru clienții dumneavoastră: prețurile dumneavoastră, facturile dumneavoastră, codul dumneavoastră de TVA, procesatorul dumneavoastră de plăți. Noi vă facturăm pe dumneavoastră, o dată pe lună, la preț de gros.
După ce ați setat un nume de gazdă pentru panou, introduceți-l în câmpul Adresă panou din modulul WordPress și nicăieri altundeva — linkurile de autentificare generate de acest API îl vor prelua automat.
Cele patru modalități de acces
Există patru modalități de acces, iar în fundal toate fac același lucru:
| | Pentru | |---|---| | Modulul WHMCS | Magazin WHMCS | | Modulul HostBill | Magazin HostBill | | Modulul WordPress | Vânzare de pe propriul site WordPress sau WooCommerce | | API-ul | Orice altceva — Blesta, un sistem intern, un script cron |
1. Obțineți o cheie API
În panoul de control, mergeți la Chei API și creați una. Acordați-i doar permisiunile necesare:
| Permisiune | Motiv | |---|---| | org.read | Citirea conturilor de client | | sites.create | Furnizarea unui site | | sites.view | Citirea unui serviciu | | sites.delete | Rezilierea | | reseller.view | Listarea serviciilor și citirea consumului | | reseller.provision | Suspendarea, reactivarea și autentificarea unui client |
⛔ Nu acordați unei integrări permisiunea reseller.manage. Această permisiune editează lista dumneavoastră de prețuri și datele de acces la propriile procesatoare de plăți. Permisiunea reseller.provision există tocmai pentru ca o cheie pe care o introduceți într-un panou de facturare sau pe un site web să nu aibă nevoie de ea.
Cheia este afișată o singură dată. Salvați-o acolo unde păstrați celelalte date de acces — niciodată într-un fișier furnizat direct de serverul dumneavoastră web.
2. Efectuați primul apel
curl https://api.zinndigital.com/v1/reseller/services \
-H "Authorization: Bearer zdk_live_…"
Acest apel returnează toate serviciile pe care le-ați furnizat, câte un rând pentru fiecare site, împreună cu clientul de care aparține, statusul acestuia și prețul pe care îl percepeți. Pe un cont nou, răspunsul va fi o listă goală — ceea ce este răspunsul corect, nu o eroare.
3. Întreaga integrare, în șase apeluri
CÂND APEL
o comandă e plătită POST /v1/orgs o dată per CLIENT
POST /v1/sites o dată per SERVICIU
clientul nu a plătit POST /v1/reseller/services/{siteId}/suspend
clientul plătește POST /v1/reseller/services/{siteId}/unsuspend
clientul anulează DELETE /v1/sites/{siteId}
"autentificare" POST /v1/reseller/services/{siteId}/sso
Furnizarea serviciului necesită două apeluri, iar cheile sunt importante:
# 1. contul clientului — identificat după id-ul DUMNEAVOASTRĂ de client
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. site-ul clientului — identificat după id-ul DUMNEAVOASTRĂ de serviciu
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"}'
Două reguli care vă costă bani dacă le greșiți
- Identificați contul după CLIENT și site-ul după SERVICIU. A doua comandă a unui client trebuie să ajungă în contul pe care îl are deja. Dacă le identificați pe ambele după serviciu, un singur client va ajunge să aibă trei conturi nelegate între ele și trei panouri separate.
- Trimiteți un
Idempotency-Keyla fiecarePOST, creat din propriul id al entității. Fiecare sistem de facturare reîncearcă operațiunile — o confirmare de la procesatorul de plăți sosește de două ori, un administrator reia o furnizare eșuată, un client dă dublu clic. Fără această cheie, a doua încercare creează un al doilea site, iar dumneavoastră veți fi facturat pentru el.
Trei răspunsuri pe care nu trebuie să le reduceți la două
unsuspendpoate returna codul409. Asta înseamnă că echipa noastră de securitate/abuzuri blochează site-ul, nu dumneavoastră. Afișați mesajul; nu reîncercați apelul.- **Rezilierea programează o ștergere, nu o execută pe loc.** Data este returnată sub formă de
pending_deletion_at. Să spuneți unui client că datele lui au fost șterse definitiv când de fapt nu au fost este mai rău decât să nu îi spuneți nimic. disk_used_bytespoate finull, iar null nu înseamnă zero. Asta înseamnă că nu am putut efectua măsurătoarea, nu că nu s-a consumat nimic. Ignorați valoarea — nu salvați0în propriile evidențe, altfel îi veți afișa clientului o bară de consum pe verde pentru un site de la care nu aveți nicio citire.
4. Autentificarea unui client
POST /v1/reseller/services/{siteId}/sso returnează un URL de unică folosință care îl redirecționează pe clientul dumneavoastră direct în propriul cont, deja autentificat.
⛔ Generați-l doar când clientul dă clic, niciodată când randați pagina. Linkul este de unică folosință și expiră în câteva minute, așa că un link scris direct în pagină este consumat la prima afișare și rămâne salvat în toate sistemele de cache dintre dumneavoastră și browser.
5. Instalarea unui modul ca alternativă
- WHMCS — copiați modulul în
modules/servers/zinn/, adăugați un server având drept Password cheia dumneavoastră API și setați linia de produse pe produs. Apăsați pe Test Connection: va efectua un apel real și vă va comunica răspunsul platformei. - HostBill — copiați în
includes/modules/Hosting/zinn/și conectați-l în același mod. - WordPress — modulul Zinn® Reseller Toolkit: căutare de domenii, link de autentificare în găzduirea clienților și furnizare prin WooCommerce la achitarea unei comenzi. Sursă deschisă la <https://github.com/Zinn-Digital/zinn-reseller-toolkit> sau descărcabil din secțiunea Module a panoului dumneavoastră de control.
6. Lansarea în producție
Verificați următoarele înainte de a prelua o comandă reală:
- Testul de conexiune reușește pe modul sau primul dumneavoastră apel
curlreturnează o listă. - Lista dumneavoastră de prețuri este configurată (Revânzare → Prețurile tale).
- Procesatorul dumneavoastră de plăți este conectat (Revânzare → Procesatoare de plăți) — clienții vă plătesc dumneavoastră, prin propriul cont.
- Datele companiei sunt completate (Revânzare → Compania ta), astfel încât facturile clienților să conțină datele dumneavoastră legale și codul de TVA, nu ale noastre.
- Ați plasat o comandă reală cap-coadă și ați confirmat că site-ul a fost creat.
Unde găsiți tot restul documentației
Documentația API completă — fiecare punct de acces, generat din specificațiile noastre, împreună cu permisiunile necesare — este disponibilă la <https://zinndigital.com/developers/api>.
Încă blochezi?
Asistența este inclusă în orice plan și oferă răspunsuri în limba ta.
Contactați asistența tehnică → Toate articolele →