Från och med idag finns ett öppet programmeringssgränssnitt mot vår domänplattform, smidigt kallat LoopiaAPI. Snart sagt allt du kan göra i LoopiaDNS går nu att sköta via API-anrop. LoopiaAPI är ett XML-RPC-gränssnitt som idag öppnats för ett fåtal utvalda utvecklare. Under våren kommer API:t även att öppnas för allmänheten att använda till egna applikationer samt till de som vill erbjuda egna domäntjänster.
Fullständig dokumentation och kodexempel finns redan nu tillgängliga på loopia.se/api/. Är du intresserad av API:t och vill sätta dig in i hur det fungerar, tveka då inte att kika in på ovanstående adress. Där hittar du även information om hur du automatiskt blir informerad när tjänsten öppnar för alla.
Frågor och svar om LoopiaAPI
Kan jag via API-anrop skapa ett LoopiaDNS-konto, registrera två domännamn, betala dessa och lägga upp 27 olika subdomäner?
– Ja. Betalning av domännamnen kan ske antingen med krediter från ens Loopia PrePAID-pott vilket innebär att allt sker helt automatiskt och att domännamnen skickas för omedelbar registrering. Det går dock även att begära ut en faktura för sedvanlig förskottsbetalning.
Kan jag skapa egna domänapplikationer som Loopia inte tänkt på?
– Självklart.
Om jag hittar på en tokbra domänfunktion och utvecklar denna med LoopiaAPI, kan denna då implementeras i Loopias kontrollpaneler?
– Med bra och värdefulla funktioner är vi givetvis inte främmande för detta. Däremot står det dig givetvis fritt att även på fri fot erbjuda din idé till allmänheten.
Kan jag skapa en white label-lösning så jag själv kan erbjuda registrering och hantering av domännamn.
– Visst kan du det, kan även vara ett tips för de nuvarande .SE-ombud som inte vill gå igenom den certifieringsprocess som det innebär att bli ackrediterad registrar.
Vilka domäntyper kan man registrera och administrera?
– Alla de domäntyper som Loopia säljer idag.
Har ni något litet kodexempel man kan få se?
– Visst har vi det, all dokumentation hittar du på loopia.se/api/, men nedan har vi klistrat in ett litet kodexempel som i Perl ansluter till vår XML-RPC-server, skapar ett LoopiaDNS-konto, registrerar en domän och lägger upp domänkonfiguration så all besökstrafik till domänen samt eventuella subdomäner går till IP-adressen 127.0.0.1.
#!/usr/bin/perl use RPC::XML; use RPC::XML::Client; use Data::Dumper; 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); $client->credentials("Loopia-API", $global_username, $global_password); my $contact = { "firstname" => "anders", "lastname" => "andersson", "company" => "loopia ab", "street" => "kopparlundsvägen 7b", "street2" => "", "zip" => 72130, "city" => "västerås", "country_iso2" => "se", "orgno" => "556633-9304", "phone" => "021-128222", "cell" => "", "fax" => "", "email" => "info@loopia.se" }; my $domain = "anderstestarapi" . `date +%s | tr -d "\n"` . ".se"; my $password = "generated_password_for_customer"; my $response = $client->simple_request('addDNSAccount', $domain, $password, $contact, $contact, $contact, RPC::XML::boolean->new(1), RPC::XML::boolean->new(1)); print "Account created: " . Dumper($response) . "\n\n"; $response = $client->simple_request('addSubdomain', $domain, $password, $domain, "\@"); print "Subdomain added: " . Dumper($response) . "\n\n"; $response = $client->simple_request('addZoneRecord', $domain, $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', $domain, $password, $domain, "*"); print "Subdomain added: " . Dumper($response) . "\n\n"; $response = $client->simple_request('addZoneRecord', $domain, $password, $domain, "*", { type => "A", "priority" => undef, "ttl" =>"300", "rdata" => "127.0.0.1" }); print "Record added: " . Dumper($response) . "\n\n";
Har du något spännande förslag på funktion som kan skapas med ett sånt här API? Tveka inte att skriva en rad. 😉
Låter som ljuv musik i mina öron 🙂 Nu ska det bara implementeras i WHMCS också så blir jag en lycklig man 🙂
YAY! 😀
Det här har jag verkligen väntat på 🙂
Det pågår alltså en testfas med ”ett fåtal utvecklare”. Betyder det att APIn är spikad och att det bara handlar om testning? Dvs, kan jag börja koda nu, på en gång, genast, så att jag har något färdigt när tjänsten blir tillgänglig för allmänheten?
En sak som vore praktisk, tror jag, är en dummyserver som man kan skriva testkod mot, utan att riskera att pajja något i sitt konto eller köpa domäner för riktiga pengar.
Per: Det är spikat, vi vill bara börja i mindre skala än ”hela sverige” först. 🙂
Angående utvecklingsmiljö så var det den bästa idén som jag hört sedan jag konfirmerade mig.
Jag ser till att vi fixar en publik testmiljö som andra än de som testar live-miljön kan börja utveckla mot direkt och som nollställs en gång om dagen.
Återkommer när det är fixat.
Är mycket intresserad av att implementera denna lösning i vårat CMS!
Lite fler saker jag kom att tänka på (de första två är väl intressantast). Jag förstår att ni säkert har mer på lut än det ni hittils har publicerat, men det skadar ju aldrig med extra input.
* Jag har inte sett till några metoder för XML-RPC Introspection (http://xmlrpc-c.sourceforge.net/introspection.html) vilket är väldigt praktiskt när man vill kunna generera (t.ex. Java-) kod mot LoopiaAPI.
* Jag saknar metoder för att ändra informationen i ett befintligt DNSAccount. Om en sådan metod tillkommer, ser ni då till att lämplig information propageras till samtliga domäner för det kontot (vilket inte verkar vara fallet i dagens system).
* Gör det möjligt att markera en domän som ”förnyas ej”, ”förnya atomatiskt med PREPAID” eller ”förnya atomatiskt med faktura”. I dagsläget är det inte så finkornigt och ”förnyas ej” sköts mig veterligen via e-post med supporten…
* Jag saknar utökad information om domänen i domain_obj, det jag i dagsläget kan parsa fram genom http://whois.loopia.se/?domain_name=mittdomannamn.se
Jag kommer säkert på mer efterhand, men XML-RPC Introspection är väl det om är viktigast för själva utvecklingen.
Bra punkter, vi funderar på det – men lovar inget.
Förutom för introspection-punkten.
Introspection stödjs i enlighet med metoderna som du hittar på http://search.cpan.org/dist/RPC-XML/lib/RPC/XML/Server.pm#The_Default_Methods_Provided.
Jag ber vår marknadsavdelning att uppgradera dokumentationen.
Helt underbart! Kan vi vänta oss något API för webbhotellsbiten också?
Gud vare prisad! Här kommer skatteåterbäringen… eh, Loopia API! På dagen ett år efter att jag började drömma om specialgjorda domäntjänster i massor.
Nu undrar jag bara vad det blev av mina idéer här ovan. Främst testmiljön då.
Hej Per.
Ja, nu är det bara och tuta och köra…
Vi är mycket tacksamma för dina åsikter och kommer att ta dem i beaktande när vi vidareutvecklar tjänsten.
Återkom gärna med mer åsikter när du provkört lite 🙂