Ascio Web Service v3

Python CreateOrder - NameserverUpdate (Nameserver Update)

Replaces the DnsSec with a new handle. There are 2 ways to submit the new Nameserver:

  • 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 Nameserver Update, it is possible to change DnsSec.

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
OrderTypeNameserverUpdate
requestDomainOrderRequest
Examplednssec

Python example

import zeep
import base64
from zeep import xsd, Client, Settings

# This is the test-environment. Please remove "demo." for the live-environment 

wsdl = "https://aws.demo.ascio.com/v3/aws.wsdl"
settings = Settings(strict=False)
client = zeep.Client(wsdl=wsdl, settings=settings)

client.set_ns_prefix('v3','http://www.ascio.com/2013/02')

security_header_details = xsd.Element(
    '{http://www.ascio.com/2013/02}SecurityHeaderDetails',
    xsd.ComplexType([
        xsd.Element(
            '{http://www.ascio.com/2013/02}Account',
            xsd.String()),
        xsd.Element(
            '{http://www.ascio.com/2013/02}Password',
            xsd.String())
    ])
)
# Please enter your ascio credentials here
security_header_details_value = security_header_details(Account='account', Password='password')
# Please enter the impersonated account here
impersonation_header_details = xsd.Element(
    '{http://www.ascio.com/2013/02}ImpersonationHeaderDetails',
    xsd.ComplexType([
        xsd.Element( 
            '{http://www.ascio.com/2013/02}TransactionAccount',
            xsd.String())
    ])
)
impersonation_header_details_values = impersonation_header_details(TransactionAccount = 'sub-account')

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

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

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

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

# NameServer
nameServer5 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer6 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer7 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer8 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer9 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer10 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer11 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

# NameServer
nameServer12 =  {
	"Handle" : "JD123",
	"HostName" : "HostNameTest",
	"IpAddress" : "IpAddressTest",
	"IpV6Address" : "IpV6AddressTest",
	"Details" : "DetailsTest"
}

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

# DnsSecKey
dnsSecKey1 =  {
	"Handle" : "JD123"
}

# DnsSecKey
dnsSecKey2 =  {
	"Handle" : "JD123"
}

# DnsSecKey
dnsSecKey3 =  {
	"Handle" : "JD123"
}

# DnsSecKey
dnsSecKey4 =  {
	"Handle" : "JD123"
}

# DnsSecKey
dnsSecKey5 =  {
	"Handle" : "JD123"
}

# DnsSecKeys
dnsSecKeys =  {
	"DnsSecKey1" : dnsSecKey1,
	"DnsSecKey2" : dnsSecKey2,
	"DnsSecKey3" : dnsSecKey3,
	"DnsSecKey4" : dnsSecKey4,
	"DnsSecKey5" : dnsSecKey5
}

# Domain
domain =  {
	"NameServers" : nameServers,
	"DnsSecKeys" : dnsSecKeys,
	"MasterNameServerIp" : "MasterNameServerIpTest"
}

# DomainOrderRequest
request_type = client.get_type('v3:DomainOrderRequest')
request = request_type(
	Type = "NameserverUpdate",
	TransactionComment = "TransactionCommentTest",
	Domain = domain
)
result = client.service.CreateOrder(_soapheaders=[security_header_details_value, impersonation_header_details_values],request = request)
print(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.