ZiraCP Müşteri Paneli

ZiraCP API Referansı

ZiraCP tamamen API-öncelikli tasarlanmıştır: panelde yapabildiğiniz her şey REST API üzerinden de yapılabilir. Bu, WHMCS gibi faturalama sistemleriyle ve kendi otomasyonlarınızla entegrasyonu mümkün kılar.

Genel bakış

API, JSON gövdeli REST uç noktaları ve canlı iş ilerlemesi için SSE (Server-Sent Events) akışları sunar. İki düzlem, iki router olarak ayrılmıştır: yönetici (zCenter) ve kullanıcı (zPanel). Her istek sunucu tarafında yeniden yetkilendirilir ve hash-zincirli audit log'a yazılır.

Temel URL

API, panelinizin kendi ana makinesinde çalışır — merkezi bir bulut yoktur, verileriniz sizde kalır:

# Yönetici düzlemi (zCenter)
https://SUNUCU:7443/api/v1

# Kullanıcı düzlemi (zPanel)
https://SUNUCU:7444/api/v1

Kimlik doğrulama

İki yöntem desteklenir:

curl https://SUNUCU:7443/api/v1/accounts \
  -H "Authorization: Bearer zcp_XXXXXXXXXXXXXXXX"

API tokenları

Tokenlar zCenter'daki API & Webhook ekranından oluşturulur. Her token kapsamlıdır (scoped) — yalnızca izin verdiği eylemleri yapar. Token yalnızca oluşturulurken bir kez gösterilir ve veritabanında yalnızca hash'i saklanır.

Güvenlik: hiçbir kapsam, kendisinden daha geniş bir token ya da oturum üretemez. Tokenı kaybederseniz iptal edip yenisini oluşturun.

Hatalar

Hatalar tutarlı bir JSON gövdesi ve uygun HTTP durum kodu döndürür:

{
  "error": {
    "code": "forbidden",
    "message": "role \"user\" may not call this endpoint"
  }
}
KodHTTPAnlamı
bad_request400Geçersiz gövde/parametre
unauthorized401Kimlik doğrulama gerekli
forbidden403Yetki yetersiz
not_found404Kaynak yok
unavailable502/503Alt sistem erişilemez

Webhook'lar

Olay bildirimleri için webhook'lar tanımlayabilirsiniz. İki tür kanca vardır: pre-veto (işlemi engelleyebilir) ve post-notify (bilgilendirir). Tüm giden istekler tek bir SSRF-güvenli HTTP istemcisinden geçer.

Hesaplar

GET/accountsHesapları listele
POST/accountsHesap oluştur
POST/accounts/{id}/suspendAskıya al
DELETE/accounts/{id}Sonlandır

Web siteleri

GET/sitesSiteleri listele
POST/sitesSite oluştur
PUT/sites/{id}PHP sürümü / ayar güncelle
DELETE/sites/{id}Site sil

DNS

GET/dns/zonesBölgeleri listele
POST/dns/zonesBölge oluştur
PUT/dns/zones/{zone}/recordsKayıtları ayarla

Veritabanları

GET/databasesVeritabanlarını listele
POST/databasesVeritabanı oluştur
POST/databases/usersKullanıcı + yetki

E-posta

GET/mail/accountsPosta kutuları
POST/mail/accountsPosta kutusu oluştur
GET/mail/deliverabilitySPF/DKIM/DMARC durumu

Yedekler

GET/backupsYedekleri listele
POST/backupsYedek başlat
POST/backups/{id}/restoreGranüler geri yükle

İşler & SSE

Uzun süren işlemler (hesap açma, kurulum, yedek) bir iş kuyruğuna alınır ve ilerleme SSE ile canlı akıtılır. Last-Event-ID ile kaldığı yerden devam eder.

GET/jobsİşleri listele
GET/jobs/streamSSE ilerleme akışı

Lisans & sürüm

GET/licenseLisans/deneme durumu
POST/licenseLisans anahtarı etkinleştir
GET/versionÇalışan sürüm
POST/system/updateGüncellemeyi başlat

OpenAPI şeması

TypeScript istemcisi spec'ten üretilir; bu yapısal olarak "UI'daki her özellik API'de var" garantisini verir. Çalışan panelinizin makine-okunur şeması kendi kurulumunuzdan sunulur:

https://SUNUCU:7443/api/v1/openapi.json
Bu sayfa üst düzey bir referanstır. Tüm parametreleri, gövde şemalarını ve yanıt tiplerini içeren tam ve kesin sözleşme, kendi kurulumunuzun openapi.json dosyasıdır.

Dokümanlar · ziracp.com