API v1 — kararli

Alan Adi Bayilik API Referansi

Alan adlarini bayi seviyenizin fiyatiyla kaydetmek, yenilemek ve yonetmek icin bir HTTP arayuzu — kendi faturalama sisteminizden otomatik cagrilmak uzere tasarlandi.

https://servernet.cloud/tr/developers · 2026/08/25

Cikis sunucusu tunel kullanici yonetimi mi ariyorsunuz? O arayuzun kendi referansi var: Cikis Sunucusu Tunel API Referansi

1Baslangic

  1. Hesabinizin alan adi bayisi olarak etkinlestirilmesi gerekir; aksi halde uc noktalar yetki hatasi doner.
  2. Musteri panelinde Guvenlik bolumunden bir API token uretin ve kapsamini entegrasyonunuzun asgari ihtiyacina daraltin.
  3. Kendi sunucunuzun cikis IP sini o tokenin izin listesine ekleyin. IP kisiti olmayan bir token her yerden kullanilabilir.
  4. Hesabi fonlayin. Kayit ve yenileme cagri aninda kredinizden tahsil edilir; sonradan odemeli faturalama yoktur.
  5. Saglik uc noktasina bir test cagrisi yapin ve donen kademe ile bakiyeyi panelle karsilastirin.
Ham token yalnizca uretim aninda bir kez gosterilir. Yalnizca kriptografik ozetini sakliyoruz ve geri getirilmesi hesaplama acisindan mumkun degildir.

2Kimlik dogrulama ve kapsam

Kimlik dogrulama Authorization basligindaki bearer token ile yapilir. Oturum, cerez veya CSRF katmani yoktur; her istek bagimsiz ve durumsuzdur. Token asla URL de veya tarayici kodunda yer almamalidir.

curl -H "Authorization: Bearer sn_xxxxxxxx" \
     https://servernet.cloud/api/v1/ping

Kapsamlar

readhesap profili, hizmetler, faturalar ve kredi bakiyesini okuma
domains:readalan adi portfoyu, uygunluk ve kademe fiyatlarini okuma
domains:writealan adi kaydi ve yenileme — hesap kredisinden tahsil edilir
domains:managemevcut alan adlarinda ad sunucu ve otomatik yenileme degisikligi
tunnel:readcikis sunucunuzun WireGuard-over-TCP hesaplarini okuma
tunnel:writetunel hesabi olusturma ve silme — ozel anahtar yalnizca bir kez doner

Yazma kapsami okuma kapsamini icerir; tersi asla gecerli degildir. Her ortam icin ayri token uretmenizi oneririz.

3Yanit sozlesmesi

Her yanit sabit bicimli bir JSON zarfidir. Istemci mantigi mesaj metnine degil, makine tarafindan okunabilen error tanimlayicisina gore dallanmalidir.

{"ok": true,  "data": { ... }}
{"ok": false, "error": "insufficient_credit", "message": "..."}
Yalnizca HTTP durum koduna guvenmeyin; her zaman ok alanini degerlendirin. Bu zincirdeki bazi ust servisler hatada bile 200 dondurur.

4Uc noktalar

GET /api/v1/ping baglanti testi, kademe ve kredi read
GET /api/v1/tlds uzanti fiyatlari domains:read
POST /api/v1/domains/check uygunluk ve fiyat domains:read
GET /api/v1/domains alan adlariniz domains:read
GET /api/v1/domains/{domain} ayrinti, bitis, durum domains:read
POST /api/v1/domains kayit — krediden dusulur domains:write
POST /api/v1/domains/{domain}/renew yenileme — krediden dusulur domains:write
PUT /api/v1/domains/{domain}/nameservers ad sunucu ayarla domains:manage
POST /api/v1/domains/{domain}/lock transfer kilidini ac domains:manage
POST /api/v1/domains/{domain}/auto-renew otomatik yenileme domains:manage

Uygunluk ve fiyatlandirma

POST https://servernet.cloud/api/v1/domains/check
{"domain": "example.com", "tlds": ["com", "net"]}

{"ok": true, "data": [{
  "domain": "example.com", "state": "free", "available": true,
  "currency": "IRT",
  "price": {"register": 1150000, "renew": 1250000, "retail": 1320000},
  "discount_pct": 12.88, "price_floored": false
}]}

Istemci mantigi available booleanina degil state alanina gore dallanmalidir. unchecked degeri sorgunun sonuclanmadigi anlamina gelir ve gecici bir durum olarak ele alinmalidir.

free kaydedilebilir premium kaydedilebilir, registry premium fiyatiyla taken zaten kayitli unchecked sorgu sonuclanmadi — tekrar denenebilir unsupported uzanti satis katalogumuzda degil no_price kaydedilebilir, ancak guvenilir fiyat yok

price_floored degeri true ise, kademe indiriminiz o uzantida tam uygulanmamistir cunku fiyat marj tabanimiza ulasmistir.

Kayit

POST https://servernet.cloud/api/v1/domains
Idempotency-Key: your-order-12345
{"domain": "example.com", "years": 1,
 "nameservers": ["ns1.you.com", "ns2.you.com"]}

{"ok": true, "data": {
  "domain": "example.com", "status": "pending",
  "order_state": "registered", "registrant": "reseller",
  "charged": 1265000, "currency": "IRT"
}}
order_state
registerednihai — alan adi registry de kayitlibaska islem gerekmez
pendingnihai degil — siparis kabul edildi ve kuyruktaartan araliklarla sorgulayin; yeniden siparis vermeyin
manualnihai degil — tarafimizda insan incelemesindetutar tutulur ve sonuc bildirilir
failednihai — kayit tamamlanmaditutar tamamen kredinize iade edilir
pending bir hata degildir ve oyle islenmemelidir. Hata sanip yeniden gondermek, o anda kaydedilmekte olan alan adini ikinci kez satin alabilir.

5Idempotency ve yeniden deneme

Sunucu Idempotency-Key basligi olmayan istekleri de kabul eder, ancak bu durumda hicbir tekrar korumasi uygulanmaz; bu nedenle her ucretli islemde gonderilmesi her entegrasyonun dogruluk sartidir. Anahtar en fazla 80 karakterdir ve is yapilmadan once benzersiz bir veritabani indeksinde talep edilir.

Yenileme anahtari mevcut bitis tarihini icermelidir

Anahtar yalnizca alan adindan turetilirse, bir sonraki donem yenilemesi ayni anahtari uretir ve onceki yanit tekrar oynatilir: sisteminiz basari kaydeder, musteri odeme yapar ve registry de hicbir yenileme gerceklesmez.

sha256("renew|example.com|2027-01-01|1")

Ayni anahtari koruyarak ussel geri cekilme ve jitter ile yeniden deneyin; yeniden denemede yeni anahtar uretmek tum garantiyi bozar.

6Hata tanimlayicilari

missing_tokenAuthorization basligi gonderilmedi
invalid_tokentoken taninmadi
token_expiredtoken suresi doldu — yenisini uretin
token_revokedtoken iptal edilmis
ip_not_allowedkaynak IP bu tokenin izin listesinde degil
insufficient_scopetoken gerekli kapsama sahip degil
panel_onlybu islem API uzerinden sunulmuyor
insufficient_creditkredi yetersiz — gereken ve mevcut tutarlar data alaninda
daily_cap_reachedhesabin gunluk harcama limiti tukendi
already_registeredalan adi aktif portfoyumuzde mevcut
renewal_in_progressbu alan adi icin yenileme zaten calisiyor
request_in_progressbu idempotency anahtarli istek hala isleniyor
tld_blockedbu uzantida kayit gecici olarak askida; ucret alinmadi
tld_not_solduzanti satis katalogunda degil
registrant_incompletehesabinizdaki kayit sahibi bilgileri eksik
no_priceguvenilir fiyat yok
lookup_failedkayit sirketi sorgusu sonuclanmadi — tekrar denenebilir
registrar_rejectedkayit sirketi istenen degisikligi reddetti
validation_failedistek govdesi gecersiz — alan bazli ayrinti data icinde
bad_idempotency_keyidempotency anahtari 80 karakteri asiyor
conflictbu idempotency anahtari baska bir istek tarafindan kullanilmis
invalid_domainalan adi sozdizimsel olarak gecersiz
not_foundalan adi hesabinizda degil
not_registeredalan adi kayit sirketinde henuz kayitli degil — yonetim islemleri kullanilamaz
not_activeyalnizca aktif bir alan adi yenilenebilir
already_yoursalan adi zaten kendi hesabinizda
account_inactivebayi hesabi kullanilamiyor
order_failedsiparis tamamlanmadi — ucret alinmadi

7Fiyatlandirma ve kademeler

API nin dondurdugu fiyat alis fiyatinizdir: perakende eksi kademe indirimi. Kademe, son on iki aylik hacim ve aktif portfoy buyuklugunden ayni anda turetilir.

  • Yukseltmeler aninda uygulanir.
  • Dususler kademelidir: once ek sure, sonra en fazla bir basamak. Bu asimetri kasitlidir.
  • Mevcut kademeniz ve bir sonraki esige uzakliginiz bayi panelinde ve saglik uc noktasi yanitinda mevcuttur.

Marj tabani

Marjimiz uzantiya gore degisir ve ilgili registry nin maliyet yapisini izler. Dusuk marjli uzantilarda indirim yalnizca maliyetimizin ustunde kalan bir tabana kadar uygulanir.

Bu kisitin acikca belirtilmesi bilincli bir tercihtir. Beyan edilmemis bir taban, istemcinin mutabakat yapamayacagi bir fark uretir.

8Kotalar ve limitler

okuma istekleri120 / 1 dakika
uygunluk ve fiyat sorgulari60 / 1 dakika
yazma islemleri20 / 1 dakika
siparis basina azami sure (yil)10
azami es zamanli aktif token20

Hiz limitinin asilmasi 429 doner ve daha fazla es zamanlilikla degil geri cekilmeyle yonetilmelidir. Ayrica her hesabin gunluk harcama limiti vardir.

9Bilerek kapsam disi

Asagidakiler eksik degil, token yuzeyinden bilerek cikarilmistir. Olcut acik: ele gecirilmis bir tokenla son musteri alan adinin kontrolunu devreden her islem yalnizca panelde insan dogrulamasiyla yapilir.

auth_codetransfer yetki (EPP) kodu alan adi sahipliginin hamiline kimlik bilgisidir; API den donerse kayitlarda kalici olur.
transfer_unlocktransfer kilidini kaldirmak alan adini baska bir kayit sirketine tasimanin ilk adimidir.
registrant_changekayit sahibini degistirmek yasal sahiplik devridir, iletisim bilgisi guncellemesi degil.
dnsDNS kayit yonetimi bu arayuzun kapsami disindadir; kendi ad sunucularinizi delege edin.
Mevcut surumde registry tarafindaki kayit sahibi bayi hesabinizdir, son musteriniz degil. Gonderilen musteri iletisim alanlari yok sayilir ve saklanmaz.
Iran ulusal uzantilari bu kanaldan sunulmaz; sorgu unsupported doner ve hic fiyat uretilmez. Bu teknik degil tedarik kaynakli bir kisittir.

10Resmi moduller

Bu arayuze karsi iki referans uygulama surdurulmektedir; ikisi de bayi panelinden indirilebilir. Yiginiz bunlardan biriyse el yazimi entegrasyon yerine modulu tercih edin.

WHMCS modules/registrars/servernet/

Standart bir registrar modulu. WHMCS registrar dizinine kurulur ve yalnizca token gerektirir. Sorgu, kayit, yenileme, ad sunucu, transfer kilidi ve fiyat aktarimini kapsar.

WordPress + WooCommerce wp-content/plugins/servernet-domains/

Istege bagli WooCommerce entegrasyonlu bir WordPress eklentisi. Kisa kod arama arayuzunu olusturur; odeme onaylandiginda kayit otomatik calisir.

Modullerin uyguladigi uc finansal koruma — el yazimi entegrasyonun da uygulamasi gerekir
  1. Fiyat asla tarayicidan kabul edilmez; sepete ekleme aninda bu arayuzden yeniden sorgulanir ve degistirilir.
  2. Kayit yurutulmeden once alis fiyati siparis anindaki tutarla karsilastirilir; artis tanimli tolerani asarsa otomatik kayit atlanir ve siparis insan karari icin bekletilir.
  3. Idempotency anahtari siparis kimliginden degil siparis satiri kimliginden turetilir; bir siparis birden fazla alan adi icerebilir ve WooCommerce bir siparisi birden fazla bagimsiz yoldan odenmis isaretler.

11Yol haritasi

Asagidakiler planlanmistir ancak v1 arayuzunde henuz yayinlanmamistir. Yayina kadar ilgili uc nokta 404 doner. Uc nokta eklemek geriye donuk uyumlu bir degisikliktir.

transfergelen alan adi transferi — yetki kodunun gonderilmesi, istek durumunun izlenmesi ve eklenen yilin tahsili. Gelistirme asamasinda. TLD listeleme uc noktasi transfer fiyatini simdiden dondurur; ancak transfer islemi henuz cagrilabilir degildir.
irIran ulusal uzantilarinin uluslararasi kayit sirketi yerine dogrudan baglantiyla saglanmasi.
webhookkendi uc noktaniza olay iletimi; nihai olmayan siparisler icin surekli sorgulama gereksinimini kaldirir.
contactson musteri bazinda kayit sahibi veri yolu, ilgili riza ve silme mekanizmalariyla.

Panel PDF surumu