Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
cPanel API, cPanel ve WHM üzerindeki işlemleri yazılımla otomatikleştirmek için kullanılan arayüzdür. Yeni entegrasyonlarda kullanım alanına göre iki temel arayüz öne çıkar: cPanel hesabına ait işlemler için UAPI, sunucu ve hesap yönetimi için WHM API 1. Yeni bir entegrasyonda cPanel hesabı işlemleri için genellikle UAPI tercih edilir; kullanıcı adı, alan adı, e-posta, veritabanı ve hesap ayarlarını komut satırı veya HTTP isteğiyle yönetebilirsiniz.

UAPI ve WHM API 1 farkı​


UAPI, tek bir cPanel hesabının yetkileriyle çalışır. Örneğin bir hesabın e-posta kutularını listelemek, alan adı eklemek veya hesap ayarlarını okumak için kullanılır. Komut satırındaki temel biçimi şöyledir:

Kod:
uapi --user=KULLANICI --output=json Modül Fonksiyon parametre=değer

WHM API 1 ise sunucu yöneticisi veya yetkili reseller işlemleri içindir. Hesap oluşturma, hesap listesini alma ve sunucu servislerini yönetme gibi işlemler bu katmana girer. Komut satırındaki temel biçimi şöyledir:

Kod:
whmapi1 --output=json Fonksiyon parametre=değer

Bir işlem yalnızca cPanel hesabını ilgilendiriyorsa UAPI, birden fazla hesabı veya WHM ayarlarını ilgilendiriyorsa WHM API 1 seçilmelidir.

Hangi API’yi seçmelisiniz?​


Aşağıdaki ayrım, entegrasyonun yanlış yetkiyle kurulmasını önler.
İhtiyaçKullanılacak APIYetki bağlamı
E-posta, dosya, veritabanı veya alan adı işlemleriUAPITek cPanel hesabı
Hesap oluşturma veya hesap listesini yönetmeWHM API 1root veya yetkili reseller
Sunucu servisi ve WHM ayarlarıWHM API 1WHM yetkisi
API seçimini yaptıktan sonra fonksiyon adını ve parametrelerini cPanel’in API dokümantasyonundan kontrol edin. Modül ve fonksiyon adları büyük-küçük harfe duyarlı olabilir; arayüzdeki HTML sayfalarına doğrudan parametre göndererek işlem yaptırmak yerine ilgili API fonksiyonunu çağırın.

Çalışan en küçük UAPI örneği​


Aşağıdaki örnek, cPanel sunucusundaki username hesabında e-posta kutularını JSON olarak listeler. Komut yetkili sunucu oturumunda, belirtilen cPanel hesabı bağlamında çalıştırılır. Bir WHM yöneticisinin başka hesabı belirtmesi uygun yönetim yetkisi gerektirir; UAPI işlemi root adına değil seçilen cPanel hesabında yürür:
  1. username değerini gerçek cPanel kullanıcı adıyla değiştirin.
  2. Aşağıdaki komutu çalıştırın:
Kod:
uapi --user=username --output=json Email list_pops

Başarılı UAPI yanıtında result.status değeri 1 olmalı; result.errors ve varsa uyarılar da incelenmelidir. Başarı durumunda veri listesi boşsa bu hesabın filtreye uyan e-posta kutusu bulunmaması anlamına gelebilir; API’nin çalışmadığını göstermez. command not found alırsanız cPanel sunucusunda değilseniz veya komut yolu sistemde bulunmuyorsa tam yolu deneyin:

Kod:
/usr/local/cpanel/bin/uapi --user=username --output=json Email list_pops

Harici bir uygulamadan çağrı yapmak için cPanel API token oluşturup HTTPS üzerinden 2083 portunu kullanabilirsiniz. Aşağıdaki metin bir terminal komutu değil, HTTPS isteğinin yol ve başlık yapısını gösterir:

Kod:
GET /execute/Email/list_pops HTTP/1.1
Host: example.com:2083
Authorization: cpanel username:APITOKEN

APITOKEN yalnız yer tutucudur. Gerçek değeri entegrasyonun korumalı gizli ayarından yükleyin; terminal komutuna açıkça yazarak geçmişe veya işlem argümanlarına düşürmeyin. Token’ı cPanel’de Security → Manage API Tokens bölümünden oluşturun ve yalnızca gerekli entegrasyonda kullanın. Token oluşturma ekranını göremiyorsanız bu özellik hosting yöneticisi tarafından kapatılmış olabilir.

Sonucu nasıl yorumlamalısınız?​


JSON yanıtında yalnızca HTTP durum koduna bakmayın. Uygulamanızda API’nin sonuç durumunu ve hata mesajını da kontrol edin. Yetki yetersizliği, yanlış kullanıcı adı, eksik parametre veya hatalı modül-fonksiyon adı farklı hata sonuçları doğurabilir. Başarılı listeleme işleminden sonra dönen kayıtları uygulamanızın beklediği alanlara eşleyin; yanıt yapısını sabit varsaymadan ilgili fonksiyonun dokümantasyonundaki alanları kullanın.

Değişiklik yapan fonksiyonlarda önce aynı işlemin listeleme veya kontrol fonksiyonu varsa onu çalıştırın. Örneğin e-posta oluşturma işleminden önce alan adının hesaba bağlı olduğunu ve aynı kullanıcı adının mevcut olmadığını kontrol edin. İşlem başarısız olursa dönen hata metnini saklayın; doğrudan aynı isteği tekrar tekrar göndermek, özellikle oluşturma ve silme fonksiyonlarında istenmeyen sonuçlara yol açabilir.

Sık yapılan hatalar​


UAPI yerine WHM API 1 kullanmak: Hesap seviyesindeki işlemlerde gereksiz WHM yetkisi istemek entegrasyonu karmaşıklaştırır.

Yanlış port kullanmak: cPanel API çağrıları için güvenli bağlantıda 2083, WHM API 1 için 2087 kullanılır. cPanel çağrısını WHM portuna göndermek yetki veya fonksiyon bulunamadı hatası oluşturabilir.

Token’ı URL’ye yazmak: Token, Authorization başlığında gönderilmelidir. Komut geçmişine, hata kayıtlarına veya istemci tarafı JavaScript koduna token koymayın.

Boolean değerleri yanlış göndermek: API parametrelerinde doğru ve yanlış değerleri için genellikle 1 ve 0 kullanılır; true ve false her fonksiyonda geçerli kabul edilmez.

Eski arayüz adreslerini çağırmak: cPanel’in .html arayüz URL’lerine parametre eklemek desteklenen API kullanımı değildir. İlgili UAPI veya WHM API 1 fonksiyonunu çağırın.

Sık sorulan sorular​


API token süresi dolunca otomatik silinir mi?​


Token süresi dolsa bile kayıt sistemden otomatik kaldırılmayabilir. Kullanılmayan veya süresi dolan token’ları cPanel ya da WHM token yönetim ekranından iptal edin.

API çağrısını önce nerede test edebilirim?​


WHM tarafında yetkiniz varsa API Shell ile WHM API 1 fonksiyonlarını test edebilirsiniz. Canlı veriler üzerinde çalıştığı için silme veya değiştirme yapan fonksiyonlarda önce parametreleri ve etkisini kontrol edin.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.