Mit nyújt a KernelHost API (Viszonteladói API)
A KernelHost Viszonteladói API pontosan azokat a megrendelési és kezelési műveleteket teszi elérhetővé, amelyeket egyébként az ügyfélportálon kattintással végezne. Lehetővé teszi viszonteladói üzletének automatizálását, a KernelHost-termékek integrálását saját frontendjébe vagy számlázási rendszerébe, miközben teljes mértékben Ön kezében marad a kulcsonkénti jogosultságok, sebességkorlátok és IP fehérlisták felügyelete.
Minden hívás HMAC-SHA256 aláírást kap, visszajátszás ellen védett, feldolgozása idempotens (megrendeléseknél kötelező), és manipulációbiztos audit-naplóba kerül. A fizetés először az Ön egyenlegét, majd az eltárolt kártyáját terheli. Biztonsági okokból új kártyát kizárólag az ügyfélportálon lehet hozzáadni (3-D Secure 2).
https://www.kernelhost.com/cp/kernelhost_api/v1
Tartalomjegyzék
- Gyors kezdés 5 perc alatt
- Hitelesítés (HMAC-SHA256)
- Végpont referencia
- Hibakódok (RFC 7807)
- SDK-k és kódpéldák
- Biztonság és bevált gyakorlatok
- Változásnapló
Mire használhatja az API-t
- Termékek és árak böngészése (KVM-rootszerverek, dedikált, tárhely, Minecraft, VPN, korlátlan forgalom).
- Megrendelések leadása (az Idempotency-Key megvédi a kettős terheléstől hálózati újrapróbálkozáskor).
- Saját szolgáltatások listázása, állapotuk ellenőrzése és műveletek futtatása (start, stop, reboot), valamint felmondás a számlázási időszak végére és annak visszavonása.
- Kizárólag saját szolgáltatások hozzáférési adatainak kiolvasása (külön jogosultság, auditált, választható megerősítő e-mail minden hozzáférésnél).
- Számlák lekérése, egyenleg ellenőrzése, számla PDF-ek letöltése.
- Kulcsonként egy webhook URL beállítása. A megrendelési, szolgáltatási és számlázási események kézbesítése előkészítés alatt áll; addig az állapotot a GET /v1/orders/{id} és a GET /v1/services/{id} segítségével kérdezheti le.
Maximális biztonságra tervezve
Az API-t azzal a feltételezéssel terveztük, hogy minden egyes hívásnak közvetlen pénzügyi következménye van és érzékeny szerverhozzáférési adatokat tárhat fel. A biztonsági alapszint ezért jóval a szokványos REST-elvárások felett van.
- HMAC-SHA256 kérésaláírás a metódus, útvonal, időbélyeg, nonce és törzs hash felett. Állandó idejű összehasonlítás.
- Visszajátszás elleni védelem: +-300 másodperces időablak, egyszer használatos nonce-gyorsítótár 600 másodpercig.
- A titkokat kizárólag AES-256-GCM rejtjelszövegként tároljuk. Nyílt szöveg csak átmenetileg, a memóriában létezik az aláírás-ellenőrzéshez. A mesterkulcs az adatbázison kívül található.
- Részletes, kulcsonkénti jogosultságok. A veszélyes jogosultságokat (read:credentials, write:orders) kifejezetten engedélyezni kell. Az alapértelmezés csak olvasás.
- Adatbázis-szintű adatelkülönítés: minden lekérdezés szigorúan az Ön fiókazonosítójára szűr. Bérlők közötti hozzáférés tervezetten lehetetlen.
Példa: saját fiók lekérdezése
A kérés teljes egészében az Ön titkával kerül aláírásra. A titok soha nem hagyja el a kliens memóriáját, csak az aláírás kerül továbbításra.
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"
Gyakran ismételt kérdések
Ki használhatja a Viszonteladói API-t?
Minden meglévő KernelHost-ügyfél létrehozhat kulcsokat az ügyfélportál "KernelHost API" menüpontjában, mindegyiket saját címkével, jogosultságokkal és IP fehérlistával. Kulcsot kizárólag a fióktulajdonos hozhat létre, rotálhat vagy vonhat vissza. Külön viszonteladói szerződésre nincs szükség: minden nyilvánosan listázott termék megrendelhető az API-n keresztül.
Hogyan történik a megrendelések kifizetése?
A fizetés sorrendje: először az egyenlege, majd az eltárolt fizetési módja. Ha a fizetés sikertelen, vagy nincs eltárolt kártya, az API HTTP 402 "Payment Required" választ ad pontos indoklással (insufficient_credit_and_no_card, card_declined, credit_apply_failed), és a megrendelést azonnal törli, így nem marad vissza kifizetetlen megrendelés.
Le tudom kérni a szolgáltatási jelszavakat az API-n keresztül?
Igen, de kizárólag a saját szolgáltatásaihoz, és csak a kifejezett read:credentials jogosultsággal, amelyet a kulcs létrehozásakor külön engedélyezni kell. A válasz tartalmazza a hosztnevet, az IP-címeket, a felhasználónevet és a jelszót. Minden hozzáférésről credentials.read audit-naplóbejegyzés készül, és megerősítő e-mail megy a fiókhoz tartozó e-mail-címre, így a rejtett visszaélés nem marad észrevétlen.
Mi történik, ha a titkom kompromittálódik?
A secretet egyetlen kattintással rotálhatja az ügyfélportálon, a régi secret azonnal érvénytelenné válik. A sikertelen hitelesítési kísérleteket naplózzuk és forrás-IP-nként korlátozzuk, de soha nem zárolják a kulcsát, így senki sem blokkolhatja az integrációját pusztán azért, mert ismeri a kulcs nyilvános azonosítóját.
Hozza létre az első API-kulcsát az ügyfélportálon a "KernelHost API" menüpont alatt, majd kövesse a gyors kezdési útmutatót.

