Ce face KernelHost API (API Reseller)
API-ul Reseller KernelHost expune exact acele acțiuni de comandă și administrare pe care altfel le-ați parcurge prin clic în portalul de clienți. Vă permite să automatizați propria activitate de revânzare, să integrați produsele KernelHost în frontendul sau sistemul propriu de facturare și să păstrați control complet asupra permisiunilor, limitelor de rată și listelor albe IP pentru fiecare cheie.
Fiecare apel este semnat cu HMAC-SHA256, protejat împotriva atacurilor de tip replay, procesat idempotent (obligatoriu pentru comenzi) și înregistrat într-un jurnal de audit rezistent la manipulări. Plățile se efectuează mai întâi din soldul dumneavoastră de credit, apoi de pe cardul salvat. Din motive de securitate, cardurile noi pot fi adăugate doar în portalul de clienți (3-D Secure 2).
https://www.kernelhost.com/cp/kernelhost_api/v1
Cuprins
- Ghid rapid în 5 minute
- Autentificare (HMAC-SHA256)
- Referință de endpointuri
- Coduri de eroare (RFC 7807)
- SDK-uri și exemple de cod
- Securitate și bune practici
- Istoric versiuni
Ce puteți face
- Consultați produse și prețuri (rootservere KVM, servere dedicate, webspace, Minecraft, VPN, trafic nelimitat).
- Plasați comenzi (Idempotency-Key protejează împotriva dublelor debitări la reîncercări de rețea).
- Listați propriile servicii, verificați-le starea și executați acțiuni: start, stop, reboot, rezilierea la sfârșitul perioadei de facturare și revocarea acesteia.
- Citiți credențialele exclusiv ale propriilor servicii (permisiune separată, înregistrată în audit, e-mail opțional de confirmare la fiecare acces).
- Obțineți facturi, verificați soldul de credit, descărcați PDF-urile facturilor.
- Înregistrați câte o adresă URL de webhook pentru fiecare cheie. Trimiterea evenimentelor (pentru comenzi, servicii și facturi) este în pregătire; până atunci, interogați starea prin GET /v1/orders/{id} și GET /v1/services/{id}.
Concept de securitate la nivel maxim
API-ul este proiectat pornind de la premisa că fiecare apel are impact financiar direct și poate expune credențiale sensibile de server. Cerințele de securitate sunt, prin urmare, mult peste standardele uzuale REST.
- Semnătură HMAC-SHA256 a cererii peste metodă, cale, marcaj temporal, nonce și hash al corpului. Comparație în timp constant.
- Protecție împotriva atacurilor replay: fereastră de marcaj temporal +-300s, cache de nonce de unică folosință timp de 600s.
- Codurile secrete sunt stocate exclusiv sub formă de criptograme AES-256-GCM. Forma în clar există tranzitoriu doar în memorie, pentru verificarea semnăturii. Cheia master se află în afara bazei de date.
- Permisiuni granulare pentru fiecare cheie. Permisiunile periculoase (read:credentials, write:orders) trebuie activate explicit. Valoarea implicită este doar pentru citire.
- Izolarea datelor la nivel de bază de date: fiecare interogare filtrează strict după ID-ul contului dumneavoastră. Accesul între tenanți este imposibil prin construcție.
Exemplu: interogarea propriului cont
Cererea este semnată integral cu codul secret. Codul secret nu părăsește niciodată memoria clientului; doar semnătura este transmisă.
TS=$(date +%s)
NONCE=$(openssl rand -hex 16)
BODY_SHA256=$(printf '' | openssl dgst -sha256 -hex | awk '{print $2}')
SIG_INPUT=$(printf 'GET\n/v1/me\n%s\n%s\n%s' "$TS" "$NONCE" "$BODY_SHA256")
SIG=$(printf '%s' "$SIG_INPUT" | openssl dgst -sha256 -hmac "$KH_SECRET" -hex | awk '{print $2}')
curl https://www.kernelhost.com/cp/kernelhost_api/v1/me \
-H "KH-Key: $KH_KEY" \
-H "KH-Timestamp: $TS" \
-H "KH-Nonce: $NONCE" \
-H "KH-Signature: $SIG"
Întrebări frecvente
Cine poate utiliza API-ul Reseller?
Orice client KernelHost existent poate crea chei în portalul de clienți, prin opțiunea de meniu "KernelHost API", fiecare cu propria etichetă, propriile permisiuni și propria listă albă IP. Doar proprietarul contului poate crea, roti sau revoca chei. Nu este necesar un contract separat de reseller: toate produsele listate public pot fi comandate prin API.
Cum sunt plătite comenzile?
Ordinea de plată: mai întâi soldul dumneavoastră de credit, apoi metoda de plată salvată. Dacă plata eșuează sau nu există niciun card înregistrat, API-ul returnează HTTP 402 "Payment Required" cu un motiv precis (insufficient_credit_and_no_card, card_declined, credit_apply_failed) și anulează imediat comanda, astfel încât să nu rămână nicio comandă neplătită.
Pot citi parolele serviciilor prin API?
Da, doar pentru propriile servicii și doar cu permisiunea explicită read:credentials, care trebuie activată separat la crearea cheii. Răspunsul conține hostname-ul, adresele IP, numele de utilizator și parola. Fiecare acces generează o intrare credentials.read în jurnalul de audit și un e-mail de confirmare către adresa contului, astfel încât niciun abuz ascuns să nu treacă neobservat.
Ce se întâmplă dacă codul meu secret este compromis?
Rotiți secretul cu un singur clic în zona de client, iar secretul vechi devine imediat invalid. Încercările de autentificare eșuate sunt înregistrate și limitate per IP sursă, dar nu vă blochează niciodată cheia, astfel încât nimeni nu vă poate bloca integrarea doar pentru că îi cunoaște ID-ul public.
Creați prima cheie API în portalul de clienți, secțiunea "KernelHost API" și urmați ghidul rapid.

