KernelHost API

KernelHost API (Reseller API) neler sunar

KernelHost Reseller API, müşteri panelinde tıklayarak yapabileceğiniz tüm sipariş ve yönetim eylemlerini birebir programatik olarak sunar. Bu sayede kendi hosting bayilik işinizi otomatikleştirir, KernelHost ürünlerini kendi ön yüzünüze veya faturalama sisteminize entegre eder ve her anahtar bazında kapsam/izin, hız sınırı ile IP beyaz listesi üzerinde tam kontrol sahibi olursunuz.

Her çağrı HMAC-SHA256 ile imzalanır, replay saldırılarına karşı korunur, idempotent olarak işlenir (siparişlerde zorunludur) ve manipülasyona karşı korumalı bir denetim kaydında belgelenir. Ödemeler önce bakiyenizden, ardından kayıtlı kartınızdan tahsil edilir. Güvenlik nedeniyle yeni kartlar yalnızca müşteri panelinden eklenebilir (3-D Secure 2).

Temel URL
https://www.kernelhost.com/cp/kernelhost_api/v1

İçindekiler

API ile neler yapabilirsiniz

  • Ürünleri ve fiyatları sorgulama (KVM rootserver, dedicated, webhosting, Minecraft, VPN, sınırsız trafik).
  • Sipariş verme (Idempotency-Key ağ tekrar denemelerinde çift kayıt riskine karşı koruma sağlar).
  • Kendi servislerinizi listeleme, durumlarını kontrol etme ve aksiyon yürütme: start, stop, reboot, faturalama dönemi sonunda iptal ve bu iptalin geri alınması.
  • Yalnızca kendi servislerinizin erişim bilgilerini okuma (ayrı kapsam/izin, denetim kaydı, her erişimde isteğe bağlı onay e-postası).
  • Faturaları çekme, bakiye kontrolü, fatura PDF indirme.
  • Anahtar başına bir webhook URL'si tanımlama. Olay gönderimi (sipariş, servis ve fatura olayları) hazırlık aşamasındadır; o zamana kadar durumu GET /v1/orders/{id} ve GET /v1/services/{id} ile sorgulayın.

En üst düzey güvenlik tasarımı

API, her çağrının doğrudan finansal etkisi olduğu ve hassas sunucu erişim bilgilerine ulaşabileceği varsayımıyla tasarlanmıştır. Bu nedenle güvenlik gereksinimleri olağan REST standardının çok üzerindedir.

  • Metot, yol, zaman damgası, nonce ve gövde hash'i üzerinden HMAC-SHA256 istek imzası. Sabit zamanlı karşılaştırma.
  • Replay koruması: zaman damgası penceresi +-300s, tek kullanımlık nonce önbelleği 600s.
  • Gizli anahtarlar sunucuda yalnızca AES-256-GCM şifreli olarak saklanır. Düz metin yalnızca imza doğrulaması için bellekte geçici olarak bulunur. Ana anahtar veritabanı dışında tutulur.
  • Anahtar başına granüler kapsam/izin sistemi. Tehlikeli kapsamlar (read:credentials, write:orders) açıkça etkinleştirilmek zorundadır, varsayılan salt okunurdur.
  • Veritabanı düzeyinde veri izolasyonu: her sorgu hesap kimliğinize sıkı filtre uygular, kiracılar arası erişim tasarım gereği imkânsızdır.

Örnek: kendi hesap bilgilerinizi sorgulama

Çağrı, isteğin tamamını gizli anahtarınızla imzalar. Gizli anahtar istemci belleğinden asla çıkmaz, yalnızca imza iletilir.

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"

Sık sorulan sorular

Reseller API'yi kimler kullanabilir?

Mevcut her KernelHost müşterisi, müşteri panelindeki "KernelHost API" menü öğesi üzerinden anahtar oluşturabilir; her anahtarın kendi etiketi, kapsam/izinleri ve IP beyaz listesi vardır. Anahtar oluşturma, yenileme ve iptal etme yetkisi yalnızca hesap sahibine aittir. Ayrı bir bayilik sözleşmesi gerekmez: herkese açık listelenen tüm ürünler API üzerinden sipariş edilebilir.

Sipariş ödemesi nasıl yapılır?

Ödeme sırası: önce bakiyeniz, ardından kayıtlı ödeme yönteminiz. Ödeme başarısız olursa veya kayıtlı bir kart yoksa API, HTTP 402 "Payment Required" yanıtını net bir nedenle (insufficient_credit_and_no_card, card_declined, credit_apply_failed) döndürür ve siparişi hemen iptal eder; böylece geride ödenmemiş bir sipariş kalmaz.

Servis parolalarını API üzerinden okuyabilir miyim?

Evet, yalnızca kendi servisleriniz için ve yalnızca anahtar oluşturulurken ayrıca etkinleştirilmesi gereken read:credentials kapsam/izniyle. Yanıtta hostname, IP adresleri, kullanıcı adı ve parola yer alır. Her erişimde bir credentials.read denetim kaydı girdisi oluşturulur ve hesap adresine bir onay e-postası gönderilir; böylece gizli bir kötüye kullanım gözden kaçmaz.

Gizli anahtarım ele geçirilirse ne olur?

Secret'ı müşteri panelinde tek tıkla yenilersiniz ve eski secret anında geçersiz olur. Başarısız kimlik doğrulama denemeleri kaydedilir ve kaynak IP başına sınırlandırılır, ancak anahtarınızı asla kilitlemez; böylece kimse yalnızca anahtarınızın herkese açık kimliğini bildiği için entegrasyonunuzu engelleyemez.

Başlamaya hazır mısınız?

İlk API anahtarınızı müşteri panelindeki "KernelHost API" bölümünde oluşturun ve hızlı başlangıç rehberini takip edin.