Api XmlRpc/SOAP Unbit

Tramite le api unbit e' possibile realizzare applicazioni personalizzate per gestire il proprio account.

Il pannello di controllo unbit non è altro che un client per web services, e utilizzando le api xmlrpc/soap è possibile realizzarne una versione completamente customizzata per le proprie esigenze.

Vediamo un esempio in python che restituisce l'elenco dei domini attivi sul proprio account:

import xmlrpclib

account = 'xxx'
password = 'xxx'

proxy = xmlrpclib.ServerProxy("https://soap.unbit.it:8192/dom/api")

domains = proxy.GetDomList(account,password)

print domains

...e in perl

use SOAP::Lite;

$user = 'xxx' ;
$pass = 'xxx' ;

my $domlist = SOAP::Lite->service("https://soap.unbit.it:8192/dom/wsdl")->GetDomList($user,$pass) ;

foreach( @{$domlist}) {
        print $_->{'dominio'}."\n" ;
}

...invio un messaggio via jabber

use SOAP::Lite;

$soap = SOAP::Lite->service("https://soap.unbit.it:8192/jabber/wsdl") ;

print $soap->Sendmsg('myjid@jabber.unbit.it','mypasswd','destjid@jabber.org','il mio messaggio') ;

...creazione di un sottodominio

use SOAP::Lite;

my $user = 'xxxx' ;
my $password = 'xxx' ;
my $dominio = 'pippo.it' ;
my $subdom = 'pluto' ;

$soap = SOAP::Lite->service("https://soap.unbit.it:8192/dom/wsdl") ;


# ricavo l'id del dominio
my $dom_id = $soap->GetDomId($user,$password,$dominio) ;


if ($dom_id) {
        print $soap->AddSubdom($user,$password,$subdom,$dom_id)."\n" ;
}

Una semplice libreria php per la creazione di indirizzi email (si ringrazia studiolodesign.it)

<?

require_once 'lib/nusoap.php' ;

$account = 'xxx' ;
$key = 'xxx' ;
$client = new soapclient('https://soap.unbit.it:8192/mail/wsdl', true);


function unbit_remove_address($address) {

        global $account,$key,$client ;
        $result = $client->call('DropAddress',array($account,$key,$address)) ;
        if ($client->fault) {
                return 'errore api' ;
        }
        if ($client->getError()) {
                return 'errore api' ;
        }
        return $result ;
}


function unbit_add_address($address,$goto) {

        global $account,$key,$client ;
        $newaddress = array('address' => $address,'goto' => $goto) ;
        $result = $client->call('AddAddress',array($account,$key,$newaddress)) ;
        if ($client->fault) {
                return 'errore api' ;
        }
        if ($client->getError()) {
                return 'errore api' ;
        }
        return $result ;
}


?>

WSDL

gestione domini: https://soap.unbit.it:8192/dom/wsdl

gestione email: https://soap.unbit.it:8192/mail/wsdl

gestione jabber: https://soap.unbit.it:8192/jabber/wsdl

gestione ftp: https://soap.unbit.it:8192/ftp/wsdl

gestione svn: https://soap.unbit.it:8192/svn/wsdl

gestione smtp: https://soap.unbit.it:8192/smtp/wsdl

ApiXmlRPC-SOAP (l'ultima modifica è del 2007-04-05 13:08:56, fatta da RobertoDeIoris)