Arkadaşlar Uzun Zamandır İnternette Rastladıgım bir konu Biraz Açıklamak istedim yazdıgınız Scriptlere api ile pleski kontrol etmek isterken Bazı Sıkıntılar ile karsılasıyorsanız Api ve rpc dökümanları hakkında Bilgiye sahip değilseniz resimli ve bir kaç küçük deneme kodları ile size nasıl yapıldıgını anlatmaya calısıcam konu hakkında ihtiyacı olan arkadaslar Yararlanabilirler.
Öncelikle Apilerin Ne işe yaradığını çözmemiz Gerekir çok anlaşılır ve kısa anlatıcam arkadslar Plesk API'leri Kontrol panelini Dışarıdan Müdahile Edebilmek için Geliştirilmiş açık arayüzdür. peki nasıl kullanırız ? öncelikle Pleskin Destek sitesinde Yayınlamış oldugu Apilere bir göz Atalım
Buradan Görebilirsiniz.
API
Açılan Sayfada Yan Taraftaki Tree(ağaç) Menüden işlemlere ulaşabiliyorsunuz
bizi ilgilendiren kısım
"Supported Operations" Kısmı Burada örnek apiler Mevcut
Arayüzü biraz anlatıyım size
Alıntı
Şimdi Üstte gördüğünüz Resimde 1,2,3,4 olarak Kısımlandırdım Diğer Bolumler Bizi Çok ilgilendirmiyor

En azından burası kodlama için ihtiyacımızı Görüyor
Kısım 1 "Supported Operations"
plesk ile Yapabileceğimiz İşlemlerin tümünü Kapsar
Örnek : "Managing Client Templates" Yani template olusturma ve yonetme Api sidir. Diğerleride zaten Sıralı oalrak alt alta yer almakta bu kısımdan template apilerini kullanarak işlem yapatırabiliyoruz.
Plesk version: Bu kısım Apinin hangi Versiyonu Destekledigini Soyluyor bize Yani Plesk 8.0 unix sistem veya 7.5 windows sonra sı için Bu api işlemini Kullanabilirsiniz.
API RPC : 1.4.1.0 Bizim Api versiyon keyimiz Her plesk Versiyonu için Bu versiyon değişir. 8.0 , 7.5 için konuda bahsi gecen versiyondur Bu numara ile işlem yapabilirsiniz az sonra bu numarayı nerde kullanacagınızıda acıklıycam
Plesk version: Plesk 8.0 for UNIX | Plesk 7.6 for Windows and higher
API RPC version: 1.4.1.0 and higher
şimdilik sayfa kullanımını buraya kadar anlatmış oldum3 ve 4 ü anlatmıyorum zaten bir işlem değil 3 apinin acıklaması 4 te Kullanabileceginiz değişkenleri
Örnek Add,Del gibi ekleme silme yi destekledigini belirtmiş 4 ncü kısımda bir sonraki adıma gecelim.
Yandaki Tree(Ağaç) menude
API RPC Evolution Sekmesinden Tüm versionları öğrenebilirsiniz "1.4.1.0" ,"1.6.0.0" gibi hangi version hangi sisteme uyumlu oldugunu görebilirsiniz
ÖRNEK APİ :
Gördüğümüz gibi versiyon 1.6.0.0 destekliyor 1.6 dışında bu api geçerli olmaz yani kullanamayız
1.6.0.0
Plesk 9.0.0
Reseller
Reseller template
gördüğümüz gibi bu apiyi 9.0 serisi için kullanabiliyoruz yani sisteminiz plesk 8 ise bu api çalışmayacaktır. hata alırsınız. tüm apilerin çalışacagı gibi bir düşünceniz olmasın

apiler versiyonlar ile sınırlıdır her versionda her işlemi yapamassınız bunun için tüm apileri kullanmak isterseniz malesef pleskin son surumunu almanız gerekecektir.
ORNEK 1 Template olusturma
<packet version="1.6.0.0">
<client-template>
<add>
<name>Yeni Template adı</name>
<ip-pool>
<ip-address>196.0.2.121</ip-address>
<ip-address>196.0.2.122</ip-address>
<allocate-ip>2</allocate-ip>
</ip-pool>
<owner-login>admin</owner-login>
</add>
</client-template>
</packet>
ÖRNEK 2 Yeni FTP kullanıcısı Açtırmak
Bu kısım için Plesk panelinizden domainin id sini Alabilirsiniz. "<domain-id>48</domain-id>"
DOMAİN ID Ogrenmek için basit bir yol Api kullanarakta Ogrenebilirsiniz ama Basit Duzeyde ele alalım şuan
<packet version="1.4.2.0">
<ftp-user>
<add>
<name>levent</name>
<password>1234</password>
<home/>
<domain-id>2</domain-id>
</add>
</ftp-user>
</packet>
Bu işlem Sonucunda yeni Bir FTP kullanıcısı eklemiş olduk
test.com adresimizn id'si 2 biz 2 nci id ye levent 1234 şifresi ile yenibir kullanıcı ekledik artık test.com adresine levent 1234 ile baglana biliriz.
2 örnekle anlattıgım api olayını ASP script ile Sonlandırıyorum arkadslar kendimce Kısa bir Anlatım yapmaya Çalıştım umarım yararlı olur. PHP geliştirici olmadıgım için maalesef php olarak kodlamasını veremiyorum ama bilen arkadslarımız eminmki yapıp yayınlıyacaktır.
Not: Bu işlemlerin tümünü Xml Verisi gondererek Gerçekleştirmek zorundayız Https: olarak veya direk http olarak işleme izin veriyor bildiğniz üzere https kullanmanız guvenlik şifrelemesi için daha iyi olur isteyenler http de kullana bilirler.
ÖRNEK ASP KODU:
Alıntı
PAKET Sekmesine İstediğimiz APİ 'yi Düzenliyip yapıstırıyoruz ve çalıstırıyoruz
'1.4.2.0' Destekliyen sistem için işlem gerçekleşmiş olucak
<%
'eMail Kutusu Oluşturma apisi
Response.Charset = "utf-8"
Response.ContentType = "text/html"
Dim msxml, cevap,uurl
uurl="http://test.com:8880/enterprise/control/agent.php"
paket = "<packet version='1.4.2.0'><mail><create><filter><domain_id >2</domain_id><mailname><name>admin27</name><mailbox><enabled>true</enabled></mailbox><password>12345</password><password_type>crypt</password_type><permissions><cp_access>true</cp_access></permissions></mailname></filter></create></mail></packet>"
Set msxml = Server.CreateObject("Msxml2.ServerXMLHTTP")
msxml.Open "POST", uurl, FALSE
msxml.setRequestHeader "HTTP_AUTH_LOGIN", "admin"
msxml.setRequestHeader "HTTP_AUTH_PASSWD", "1234"
msxml.setRequestHeader "Content-Type", "text/xml; charset=UTF-8;"
msxml.setRequestHeader "Content-length", Len(paket)
msxml.Send(paket)
cevap = msxml.ResponseText
Response.Write(cevap)
Set msxml = Nothing
%>
Tüm arkadslara şimdiden kolay gelsin Eyer işin içinden Çıkamaz iseniz elimden geldiğince yardımcı olurum
Son kısım Send ,Get ,Post'a kalmış
bir panel haline getirip Müşterilerinize Sunabilirsiniz.