Ascio Web Service v3

NodeJS CreateOrder

Submitting an order. The Order ID is returned in the order object passed by reference. All orders are asynchrnous. That means, after the order is submitted, the partner-system must wait for a message from Ascio. Message are sent via HTTP-GET, PollQueue or Mail. With that no full-sync is necessary, like with other APIs. Most domains-transaction are done with CreateOrder. Following OrderTypes exist:

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

NodeJS example

var soap = require("soap");

var createOrderExample = function(callback) {

	//KeyValue
	keyValue =  {};
	keyValue.Key="Title";
	keyValue.Value="Mr.";

	//Extensions
	ownerExtensions =  [{

	}]

	//Registrant
	owner =  {};
	owner.FirstName="John";
	owner.LastName="Doe";
	owner.OrgName="Ascio";
	owner.Address1="Address1Test";
	owner.Address2="Address2Test";
	owner.City="CityTest";
	owner.State="StateTest";
	owner.PostalCode="888349";
	owner.CountryCode="DK";
	owner.Phone="+45.123456789";
	owner.Fax="+45.987654321";
	owner.Email="administrator@ascio-test-domain.com";
	owner.Type="owner";
	owner.Details="DetailsTest";
	owner.OrganisationNumber="OrganisationNumberTest";
	owner.Extensions=ownerExtensions;
	owner.VatNumber="VatNumberTest";
	owner.NexusCategory="NexusCategoryTest";

	//KeyValue
	keyValue =  {};
	keyValue.Key="Title";
	keyValue.Value="Mr.";

	//Extensions
	adminExtensions =  [{
		Key : "Title",
		Value : "Mrs."
	}]

	//Contact
	admin =  {};
	admin.FirstName="John";
	admin.LastName="Doe";
	admin.OrgName="Ascio";
	admin.Address1="Address1Test";
	admin.Address2="Address2Test";
	admin.City="CityTest";
	admin.State="StateTest";
	admin.PostalCode="888349";
	admin.CountryCode="DK";
	admin.Phone="+45.123456789";
	admin.Fax="+45.987654321";
	admin.Email="administrator@ascio-test-domain.com";
	admin.Type="owner";
	admin.Details="DetailsTest";
	admin.OrganisationNumber="OrganisationNumberTest";
	admin.Extensions=adminExtensions;

	//KeyValue
	keyValue =  {};
	keyValue.Key="Title";
	keyValue.Value="Mr.";

	//Extensions
	techExtensions =  [{
		Key : "Title",
		Value : "Mrs."
	}]

	//Contact
	tech =  {};
	tech.FirstName="John";
	tech.LastName="Doe";
	tech.OrgName="Ascio";
	tech.Address1="Address1Test";
	tech.Address2="Address2Test";
	tech.City="CityTest";
	tech.State="StateTest";
	tech.PostalCode="888349";
	tech.CountryCode="DK";
	tech.Phone="+45.123456789";
	tech.Fax="+45.987654321";
	tech.Email="administrator@ascio-test-domain.com";
	tech.Type="owner";
	tech.Details="DetailsTest";
	tech.OrganisationNumber="OrganisationNumberTest";
	tech.Extensions=techExtensions;

	//KeyValue
	keyValue =  {};
	keyValue.Key="Title";
	keyValue.Value="Mr.";

	//Extensions
	billingExtensions =  [{
		Key : "Title",
		Value : "Mrs."
	}]

	//Contact
	billing =  {};
	billing.FirstName="John";
	billing.LastName="Doe";
	billing.OrgName="Ascio";
	billing.Address1="Address1Test";
	billing.Address2="Address2Test";
	billing.City="CityTest";
	billing.State="StateTest";
	billing.PostalCode="888349";
	billing.CountryCode="DK";
	billing.Phone="+45.123456789";
	billing.Fax="+45.987654321";
	billing.Email="administrator@ascio-test-domain.com";
	billing.Type="owner";
	billing.Details="DetailsTest";
	billing.OrganisationNumber="OrganisationNumberTest";
	billing.Extensions=billingExtensions;

	//KeyValue
	keyValue =  {};
	keyValue.Key="Title";
	keyValue.Value="Mr.";

	//Extensions
	resellerExtensions =  [{
		Key : "Title",
		Value : "Mrs."
	}]

	//Contact
	reseller =  {};
	reseller.FirstName="John";
	reseller.LastName="Doe";
	reseller.OrgName="Ascio";
	reseller.Address1="Address1Test";
	reseller.Address2="Address2Test";
	reseller.City="CityTest";
	reseller.State="StateTest";
	reseller.PostalCode="888349";
	reseller.CountryCode="DK";
	reseller.Phone="+45.123456789";
	reseller.Fax="+45.987654321";
	reseller.Email="administrator@ascio-test-domain.com";
	reseller.Type="owner";
	reseller.Details="DetailsTest";
	reseller.OrganisationNumber="OrganisationNumberTest";
	reseller.Extensions=resellerExtensions;

	//NameServer
	nameServer1 =  {};
	nameServer1.Handle="JD123";
	nameServer1.HostName="ns1.ascio.net";
	nameServer1.IpAddress="64.98.148.24";
	nameServer1.IpV6Address="xxxx:xxxx:xxx:xxx:xxxx";
	nameServer1.Details="DetailsTest";

	//NameServer
	nameServer2 =  {};
	nameServer2.Handle="JD123";
	nameServer2.HostName="ns2.ascio.net";
	nameServer2.IpAddress="216.40.47.100";
	nameServer2.IpV6Address="xxxx:xxxx:xxx:xxx:xxxx";
	nameServer2.Details="DetailsTest";

	//NameServer
	nameServer3 =  {};
	nameServer3.Handle="JD123";
	nameServer3.HostName="ns3.ascio.net";
	nameServer3.IpAddress="64.98.148.25";
	nameServer3.IpV6Address="xxxx:xxxx:xxx:xxx:xxxx";
	nameServer3.Details="DetailsTest";

	//NameServer
	nameServer4 =  {};
	nameServer4.Handle="JD123";
	nameServer4.HostName="ns4.ascio.net";
	nameServer4.IpAddress="216.40.47.101";
	nameServer4.IpV6Address="xxxx:xxxx:xxx:xxx:xxxx";
	nameServer4.Details="DetailsTest";

	//NameServer
	nameServer5 =  {};
	nameServer5.Handle="JD123";
	nameServer5.HostName="HostNameTest";
	nameServer5.IpAddress="IpAddressTest";
	nameServer5.IpV6Address="IpV6AddressTest";
	nameServer5.Details="DetailsTest";

	//NameServer
	nameServer6 =  {};
	nameServer6.Handle="JD123";
	nameServer6.HostName="HostNameTest";
	nameServer6.IpAddress="IpAddressTest";
	nameServer6.IpV6Address="IpV6AddressTest";
	nameServer6.Details="DetailsTest";

	//NameServer
	nameServer7 =  {};
	nameServer7.Handle="JD123";
	nameServer7.HostName="HostNameTest";
	nameServer7.IpAddress="IpAddressTest";
	nameServer7.IpV6Address="IpV6AddressTest";
	nameServer7.Details="DetailsTest";

	//NameServer
	nameServer8 =  {};
	nameServer8.Handle="JD123";
	nameServer8.HostName="HostNameTest";
	nameServer8.IpAddress="IpAddressTest";
	nameServer8.IpV6Address="IpV6AddressTest";
	nameServer8.Details="DetailsTest";

	//NameServer
	nameServer9 =  {};
	nameServer9.Handle="JD123";
	nameServer9.HostName="HostNameTest";
	nameServer9.IpAddress="IpAddressTest";
	nameServer9.IpV6Address="IpV6AddressTest";
	nameServer9.Details="DetailsTest";

	//NameServer
	nameServer10 =  {};
	nameServer10.Handle="JD123";
	nameServer10.HostName="HostNameTest";
	nameServer10.IpAddress="IpAddressTest";
	nameServer10.IpV6Address="IpV6AddressTest";
	nameServer10.Details="DetailsTest";

	//NameServer
	nameServer11 =  {};
	nameServer11.Handle="JD123";
	nameServer11.HostName="HostNameTest";
	nameServer11.IpAddress="IpAddressTest";
	nameServer11.IpV6Address="IpV6AddressTest";
	nameServer11.Details="DetailsTest";

	//NameServer
	nameServer12 =  {};
	nameServer12.Handle="JD123";
	nameServer12.HostName="HostNameTest";
	nameServer12.IpAddress="IpAddressTest";
	nameServer12.IpV6Address="IpV6AddressTest";
	nameServer12.Details="DetailsTest";

	//NameServers
	nameServers =  {};
	nameServers.NameServer1=nameServer1;
	nameServers.NameServer2=nameServer2;
	nameServers.NameServer3=nameServer3;
	nameServers.NameServer4=nameServer4;
	nameServers.NameServer5=nameServer5;
	nameServers.NameServer6=nameServer6;
	nameServers.NameServer7=nameServer7;
	nameServers.NameServer8=nameServer8;
	nameServers.NameServer9=nameServer9;
	nameServers.NameServer10=nameServer10;
	nameServers.NameServer11=nameServer11;
	nameServers.NameServer12=nameServer12;

	//DomainTradeMark
	trademark =  {};
	trademark.Name="ascio-is-great.com";
	trademark.Country="DK";
	trademark.Date="2026-11-03T22:15:56.324Z";
	trademark.Number="NumberTest";
	trademark.Type="owner";
	trademark.Contact="ContactTest";
	trademark.ContactLanguage="ContactLanguageTest";
	trademark.DocumentationLanguage="DocumentationLanguageTest";
	trademark.SecondContact="SecondContactTest";
	trademark.ThirdContact="ThirdContactTest";
	trademark.RegDate="2026-11-03T22:15:56.324Z";

	//DnsSecKey
	dnsSecKey1 =  {};
	dnsSecKey1.Handle="JD123";

	//DnsSecKey
	dnsSecKey2 =  {};
	dnsSecKey2.Handle="JD123";

	//DnsSecKey
	dnsSecKey3 =  {};
	dnsSecKey3.Handle="JD123";

	//DnsSecKey
	dnsSecKey4 =  {};
	dnsSecKey4.Handle="JD123";

	//DnsSecKey
	dnsSecKey5 =  {};
	dnsSecKey5.Handle="JD123";

	//DnsSecKeys
	dnsSecKeys =  {};
	dnsSecKeys.DnsSecKey1=dnsSecKey1;
	dnsSecKeys.DnsSecKey2=dnsSecKey2;
	dnsSecKeys.DnsSecKey3=dnsSecKey3;
	dnsSecKeys.DnsSecKey4=dnsSecKey4;
	dnsSecKeys.DnsSecKey5=dnsSecKey5;

	//KeyValue
	keyValue =  {};
	keyValue.Key="Title";
	keyValue.Value="Mr.";

	//Extensions
	privacyProxyExtensions =  [{

	}]

	//PrivacyProxy
	privacyProxy =  {};
	privacyProxy.Type="None";
	privacyProxy.PrivacyAdmin=false;
	privacyProxy.PrivacyTech=false;
	privacyProxy.PrivacyBilling=false;
	privacyProxy.Extensions=privacyProxyExtensions;

	//Domain
	domain =  {};
	domain.Name="ascio-is-great.com";
	domain.Handle="JD123";
	domain.RenewPeriod=1;
	domain.AuthInfo="X4FF!zu";
	domain.EncodingType="EncodingTypeTest";
	domain.DomainPurpose="DomainPurposeTest";
	domain.Comment="CommentTest";
	domain.TransferLock="Unlock";
	domain.DeleteLock="Unlock";
	domain.UpdateLock="Unlock";
	domain.QueueType="QueueTypeTest";
	domain.Owner=owner;
	domain.Admin=admin;
	domain.Tech=tech;
	domain.Billing=billing;
	domain.Reseller=reseller;
	domain.NameServers=nameServers;
	domain.Trademark=trademark;
	domain.DnsSecKeys=dnsSecKeys;
	domain.PrivacyProxy=privacyProxy;
	domain.DomainType="DomainTypeTest";
	domain.DiscloseSocialData="true";
	domain.LocalPresence=false;

	//DomainOrderRequest
	request =  
                    {
                        attributes: {
                            xsi_type: {
                                type: "http://www.ascio.com/2013/02",
                                xmlns: "DomainOrderRequest"
                            }
                        }
                    };
	request.Type="Register";
	request.Period=1;
	request.TransactionComment="TransactionCommentTest";
	request.Comments="RegistrarTag";
	request.Documentation="DocumentationTest";
	request.Options="OptionsTest";
	request.Domain=domain;
	request.AgreedPrice=5000;	
	soap.createClient("https://aws.demo.ascio.com/v3/aws.wsdl", function(err, client) {
		if(err) {
			callback(err);
		} 
		else {
			const ns="http://www.ascio.com/2013/02";
			const securityHeader = {
				SecurityHeaderDetails : {
					Account: "ascio-account",
					Password: "mypassword123"
				}			
			};			
			client.addSoapHeader(securityHeader, ns, "q1");
			const impersonationHeader = {
				ImpersonationHeaderDetails : {
					TransactionAccount: "sub-account"
				}
			}
			client.addSoapHeader(impersonationHeader, ns, "q1");
			client.CreateOrder({request: request}, function(err,result) {
				if(err) {
					callback({error: err , request : result.request.body});
				} else {
					if(result.CreateOrderResult.ResultCode < 400) {
						callback(null,result);	
					} else {
						callback({error: result.CreateOrderResult,request : request});
					}	
				}
			});

		};
	});
};
createOrderExample(function(err,result) {
	if(err) {
		console.log("\n\n Request \n\n",err.request, "\n\n Response \n\n" ,err.error,"\n");
	}
	else {
		console.log(result);
	}
});
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.