Perl CreateOrder - Register_Domain

Registers a domain. Please look at the TLD-Kit for special rules.

Response CreateOrder(string sessionId,Order order)

Response codes

ResultCodeMessageValue
200Order validated
200Order received
400Order not validatedMessages
401Authorization failed
405Access denied

CreateOrder request

PropertyDescription
sessionIdExample: o58t9fjgw9bjarp6q7byv13e
order

CreateOrderResponse

Property
CreateOrderResult
order

Perl example

use SOAP::Lite;
use Date::Format;
$proxy = "https://awstest.ascio.com/2012/01/01/AscioService.svc";
$namespace = "http://www.ascio.com/2007/01";
$soap = SOAP::Lite -> on_action( sub { "http://www.ascio.com/2007/01/IOrderService/CreateOrder" } ) -> proxy($proxy);
$soap->autotype(0);
$method = SOAP::Data->name("CreateOrder")
->attr({xmlns => $namespace});

#Registrant
$registrant =  \SOAP::Data->value(
	SOAP::Data->name('Name','John Doe'),
	SOAP::Data->name('Address1','Address1Test'),
	SOAP::Data->name('City','CityTest'),
	SOAP::Data->name('PostalCode','888349'),
	SOAP::Data->name('CountryCode','DK'),
	SOAP::Data->name('Email',$config->getEmail(),
	SOAP::Data->name('Phone','+45.123456789')
);

#Contact
$adminContact =  \SOAP::Data->value(
	SOAP::Data->name('FirstName','John'),
	SOAP::Data->name('LastName','Doe'),
	SOAP::Data->name('Address1','Address1Test'),
	SOAP::Data->name('PostalCode','888349'),
	SOAP::Data->name('City','CityTest'),
	SOAP::Data->name('CountryCode','DK'),
	SOAP::Data->name('Email',$config->getEmail(),
	SOAP::Data->name('Phone','+45.123456789')
);

#Contact
$techContact =  \SOAP::Data->value(
	SOAP::Data->name('FirstName','John'),
	SOAP::Data->name('LastName','Doe'),
	SOAP::Data->name('Address1','Address1Test'),
	SOAP::Data->name('PostalCode','888349'),
	SOAP::Data->name('City','CityTest'),
	SOAP::Data->name('CountryCode','DK'),
	SOAP::Data->name('Email',$config->getEmail(),
	SOAP::Data->name('Phone','+45.123456789')
);

#Contact
$billingContact =  \SOAP::Data->value(
	SOAP::Data->name('FirstName','John'),
	SOAP::Data->name('LastName','Doe'),
	SOAP::Data->name('Address1','Address1Test'),
	SOAP::Data->name('PostalCode','888349'),
	SOAP::Data->name('City','CityTest'),
	SOAP::Data->name('CountryCode','DK'),
	SOAP::Data->name('Email',$config->getEmail(),
	SOAP::Data->name('Phone','+45.123456789')
);

#NameServer
$nameServer1 =  \SOAP::Data->value(
	SOAP::Data->name('HostName','ns1.ascio.com')
);

#NameServer
$nameServer2 =  \SOAP::Data->value(
	SOAP::Data->name('HostName','ns2.ascio.com')
);

#NameServers
$nameServers =  \SOAP::Data->value(
	SOAP::Data->name('NameServer1',$nameServer1),
	SOAP::Data->name('NameServer2',$nameServer2)
);

#Domain
$domain =  \SOAP::Data->value(
	SOAP::Data->name('DomainName','testdomain123.com'),
	SOAP::Data->name('Registrant',$registrant),
	SOAP::Data->name('AdminContact',$adminContact),
	SOAP::Data->name('TechContact',$techContact),
	SOAP::Data->name('BillingContact',$billingContact),
	SOAP::Data->name('NameServers',$nameServers)
);

#Order
$order =  \SOAP::Data->value(
	SOAP::Data->name('Type','Register_Domain'),
	SOAP::Data->name('Domain',$domain)
);
@query = (
	SOAP::Data->name(sessionId => $sessionId),
	SOAP::Data->name(order => $order)
);
$result = $soap->call($method => @query);
unless ($result->fault) {
	$response = $result->valueof("//CreateOrderResponse/CreateOrderResult");
	print "ResultCode : $response->{'ResultCode'}\r\n";
	print "Message : $response->{'Message'}\r\n";
	print "Values: ", join(", ", $result->valueof("//CreateOrderResponse/CreateOrderResult/Values/[>0]")), "\n";
	if ($response->{"ResultCode"} == 200) {
		$order = $result->valueof("//CreateOrderResponse/order");
		print "OrderId : $order->{"OrderId"}\r\n";
	}
}
else {
	print join ", ",
	$result->faultcode,
	$result->faultstring,
	$result->faultdetail;
}
WSDL for AWS v2
https://aws.demo.ascio.com/2012/01/01/AscioService.wsdl (OTE)
https://aws.ascio.com/2012/01/01/AscioService.wsdl (Live)