Ascio Web Service v3

Perl CreateOrder - OwnerChange

Replaces the registrant with a new handle. There are 2 ways to submit the new Registrant:

  • Submit a Handle-ID. The handle linked to the domain will be replaced
  • Submit new data. A new handle will be created. The handle linked to the domain will be replaced

With the OwnerChange, it is possible to change Registrant and Admistrative Contact in one request.

The rules for the owner-change depend on the registry. Please look at the TLD-Kit for details.

An OwnerChange is needed when materialized data is changed

  • Name
  • Company
  • Company Numer
  • E-Mail (IRTP)

If no materialized data is changed, a Registrant Details Update can be used instead. This is easier than an Owner change.

CreateOrderResponse CreateOrder(SecurityHeaderDetails securityHeader,CreateOrderRequest request)

Response codes

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

CreateOrder Request

PropertyType
request

CreateOrderResponse

PropertyDescription
CreateOrderResult
OrderInfo
ResultCodeExample: 1
ResultMessage
Errors

Used in Classes

PropertyValue
OrderTypeOwnerChange
requestDomainOrderRequest

Perl example

use SOAP::Lite;
use Date::Format;
$proxy = "https://aws.demo.ascio.com/v3/AscioService.svc";
$namespace = "http://www.ascio.com/2007/01";
$soap = SOAP::Lite
    ->on_action( sub { "CreateOrder" } )
    ->proxy($proxy)
    ->ns("http://www.ascio.com/2013/02", "v3")
    ->ns("http://www.ascio.com/2013/02/AscioService", "service");
    
# Please enter your ascio-credentials here

my $header = SOAP::Header->new(
            name =>"v3:SecurityHeaderDetails",
            value => {"v3:Account" => "username", "v3:Password" =>"password"} 
        );
$soap->autotype(0);
$method = SOAP::Data->name("service:CreateOrder")->attr({xmlns => $namespace});

#KeyValue
$keyValue =  \SOAP::Data->value(
	SOAP::Data->name('v3:Key','Title'),
	SOAP::Data->name('v3:Value','Mr.')
);

#Extensions
$ownerExtensions =  \SOAP::Data->value(
);

#Registrant
$owner =  \SOAP::Data->value(
	SOAP::Data->name('v3:FirstName','John'),
	SOAP::Data->name('v3:LastName','Doe'),
	SOAP::Data->name('v3:OrgName','Ascio'),
	SOAP::Data->name('v3:Address1','Address1Test'),
	SOAP::Data->name('v3:Address2','Address2Test'),
	SOAP::Data->name('v3:City','CityTest'),
	SOAP::Data->name('v3:State','StateTest'),
	SOAP::Data->name('v3:PostalCode','888349'),
	SOAP::Data->name('v3:CountryCode','DK'),
	SOAP::Data->name('v3:Phone','+45.123456789'),
	SOAP::Data->name('v3:Fax','+45.987654321'),
	SOAP::Data->name('v3:Email','test@testemail.com'),
	SOAP::Data->name('v3:Type','owner'),
	SOAP::Data->name('v3:Details','DetailsTest'),
	SOAP::Data->name('v3:OrganisationNumber','OrganisationNumberTest'),
	SOAP::Data->name('v3:Extensions',$ownerExtensions),
	SOAP::Data->name('v3:VatNumber','VatNumberTest'),
	SOAP::Data->name('v3:NexusCategory','NexusCategoryTest')
);

#KeyValue
$keyValue =  \SOAP::Data->value(
	SOAP::Data->name('v3:Key','Title'),
	SOAP::Data->name('v3:Value','Mr.')
);

#Extensions
$adminExtensions =  \SOAP::Data->value(
);

#Contact
$admin =  \SOAP::Data->value(
	SOAP::Data->name('v3:FirstName','John'),
	SOAP::Data->name('v3:LastName','Doe'),
	SOAP::Data->name('v3:OrgName','Ascio'),
	SOAP::Data->name('v3:Address1','Address1Test'),
	SOAP::Data->name('v3:Address2','Address2Test'),
	SOAP::Data->name('v3:City','CityTest'),
	SOAP::Data->name('v3:State','StateTest'),
	SOAP::Data->name('v3:PostalCode','888349'),
	SOAP::Data->name('v3:CountryCode','DK'),
	SOAP::Data->name('v3:Phone','+45.123456789'),
	SOAP::Data->name('v3:Fax','+45.987654321'),
	SOAP::Data->name('v3:Email','test@testemail.com'),
	SOAP::Data->name('v3:Type','owner'),
	SOAP::Data->name('v3:Details','DetailsTest'),
	SOAP::Data->name('v3:OrganisationNumber','OrganisationNumberTest'),
	SOAP::Data->name('v3:Extensions',$adminExtensions)
);

#Domain
$domain =  \SOAP::Data->value(
	SOAP::Data->name('v3:Name','ascio-is-great.com'),
	SOAP::Data->name('v3:Owner',$owner),
	SOAP::Data->name('v3:Admin',$admin)
);

#DomainOrderRequest
$request =  \SOAP::Data->value(
	SOAP::Data->name('v3:Type','OwnerChange'),
	SOAP::Data->name('v3:TransactionComment','TransactionCommentTest'),
	SOAP::Data->name('v3:Documentation','DocumentationTest'),
	SOAP::Data->name('v3:Domain',$domain)
);
@query = (
	SOAP::Data->name("service:request" => $request)->attr({"xsi:type" => "v3:DomainOrderRequest"})
);
$result = $soap->call($method => @query, $header);
unless ($result->fault) {
	$response = $result->valueof("//CreateOrderResponse/CreateOrderResult");
	print "ResultCode : $response->{'ResultCode'}\r\n";
	print "Message : $response->{'ResultMessage'}\r\n";
	print "Values: ", join(", ", $result->valueof("//CreateOrderResponse/CreateOrderResult/Errors/[>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 v3
https://aws.demo.ascio.com/v3/aws.wsdl (OTE)
https://aws.ascio.com/v3/aws.wsdl (Live)
Please configure the IP-Whitelisting in the portal/demo-portal.