Perl

partner10.createKey()

#!/usr/bin/perl

# Retrieve key and write to local file

use Frontier::Client;

use MIME::Base64;

$login = 'API_LOGIN'; # username for API

$pass = 'API_PASSWORD'; # password for API

$url = 'https://ka.demo.plesk.com:7050'; # server url

$server = Frontier::Client->new( 'url' => $url, 'debug' => 1 );

%authInfo = ( login => $login,

           password => $pass);

%serverInfo = (ips => ['192.168.0.1'],
               macs => []);

print "Invoking partner10.createKey method ...\n";

$results = $server->call('partner10.createKey', \%authInfo,\%serverInfo, 'CLIENT_LOGIN','PLESK_8',['30_DOMAINS']);

if($results->{resultCode} != 100){

  die("\nError creating new key\n");

}

$key_number = $results->{mainKeyNumber};

print "\nSucessfully created new $key_number\n";

partner10.retrieveKey()

# Retrieve key and write to local file

# plug in required modules (xml-rpc client and base64 decoder/encoder)
use Frontier::Client;
use MIME::Base64;

# define variables related to KA API
$login = 'API_LOGIN'; # username for API
$pass = 'API_PASSWORD'; # password for API
$url = 'https://ka.demo.plesk.com:7050'; # server url
$key = 'PLSK.00052355'; # key to retrieve

# create xmlrpc client instance point to KA service
$server = Frontier::Client->new( 'url' => $url, 'debug' => 1 );

# create authInfo structure 
%authInfo = ( login => $login,

           password => $pass);

print "Retrieving $key ...\n";

# invoke KA api method partner10.retrieveKey
$results = $server->call('partner10.retrieveKey', \%authInfo, $key);

# check result code 
if($results->{resultCode} != 100){

  die("\nError retrieving key: $key\n");

}

# get base64 encoded key number from response, decode it and print
$key_number = $results->{keyNumber};
$key_file = decode_base64($results->{key}->value()) . "\n";
open(KEY, ">$key.sh");
print KEY $key_file;
close(KEY);

print "\nSucessfully retrieved key $key as $key.sh\n";
 

Leave your feedback on this topic here

If you have questions or need support, please visit the Plesk forum or contact your hosting provider.
The comments below are for feedback on the documentation only. No timely answers or help will be provided.