Detta exempel visar hur man via Perl ansluter till vår XML-RPC-server och registrerar ett domännamn som betalas med Loopia PrePAID-krediter. Vidare läggs domänkonfiguration upp för att skicka all besökstrafik till 127.0.0.1 både för domänen i sig och eventuella subdomäner.
Notera att kodexemplet nedan inte innehåller någon felhantering för läsbarhetens skull.
Exempel
Nedan följer koden för ovanstående exempel.
#!/usr/bin/perl
use RPC::XML;
use RPC::XML::Client;
use Data::Dumper;
use Encode;
my $global_check_domain_server_url =
'https://api.loopia.se/RPCSERV';
my $global_username = "YOUR_USERNAME";
my $global_password = "YOUR_PASSWORD";
my $client =
RPC::XML::Client->new($global_check_domain_server_url);
$RPC::XML::ENCODING = "UTF-8";
my $response = $client->simple_request('orderDomain',
$global_username, $global_password, $domain,
RPC::XML::boolean->new(1));
print "Account created: " . Dumper($response) . "\n\n";
die unless defined($response);
$response = $client->simple_request('getDomain', $global_username,
$global_password, $domain);
print "Domain object: " . Dumper($response) . "\n\n";
my $reference_no = $response->{"reference_no"};
my $amount = $response->{"unpaid_amount"};
$response = $client->simple_request('payInvoiceUsingCredits',
$global_username, $global_password,
RPC::XML::string->new($reference_no));
print "Invoice $reference_no paid ($amount SEK): " .
Dumper($response) . "\n\n";
$response = $client->simple_request('addSubdomain',
$global_username, $global_password, $domain, "\@");
print "Subdomain added: " . Dumper($response) . "\n\n";
$response = $client->simple_request('addZoneRecord',
$global_username, $global_password, $domain, "\@",
{ "type" => "A", "priority" => undef, "ttl" => "300",
"rdata" => "127.0.0.1" });
print "Record added: " . Dumper($response) . "\n\n";
$response = $client->simple_request('addSubdomain',
$global_username, $global_password, $domain, "*");
print "Subdomain added: " . Dumper($response) . "\n\n";
$response = $client->simple_request('addZoneRecord',
$global_username, $global_password, $domain, "*",
{ type => "A", "priority" => undef, "ttl" =>"300",
"rdata" => "127.0.0.1" });
print "Record added: " . Dumper($response) . "\n\n";
