Ascio Web Service v3
Python AvailabilityInfo
The AvailabilityInfo is like the AvailabilityCheck, but returns additional information: The Price will only return if the quality is SmartLive or Live. Unlike the AvailabilityCheck, the AvailabilityInfo only queries one domain per request. But multiple requests can be started simultaneously. To order the premium domain, the price needs to be added to the Register/Transfer order object. The Speed Check will rely on cached data only. The cached data is derived primarily by
the zone crawler that collects raw names from zones and similar data sources every day. This means, that when a Speed Check is performed, the system will look for the name in the
database and based on the finding it will reply with available or not available. The Speed Check is as the name implies the fastest way of performing an availability check
and it should be used when many names are checked in one operation. As the fast check is
based on cached information there will be situations where the information is not up to date
and therefore returns an incorrect answer. If the cached data has not been recently updated,
the result of the Speed Check will therefore reply with available or not available and a
description telling that the result is based on older data. Another limitation to the Speed
Check is, that it will not be able to tell if an available domain is regular or premium. The Smart check will start looking for the name in the cached data and if not found here, it
will continue to look for the name using NS lookup. This means that if the name is found in the cached data the system will answer with not
available; if the name is not found, the system will continue to search for the availability
via NS lookup. The Smart check will not reply with the same speed as the Speed check, as NS lookups take
longer time. Instead the Smart check will respond with a higher certainty, as the answer is
based on several data sources. The Smart check can be used for both high and low volume
searches – though the importance of response time should be considered for high volume
searches. This check is the optimum choice when multiple TLDs are involved. The Smart-Live check will start looking for the name in the cached data. If the name is not
found here, it will continue to search for the name using NS lookup. If the name is
not found here, it continues to search for the name using live lookup. This means that if the name is found in at any stage of the method, it will answer with not
available. This check should only be used for low volume checks, as the response time is high The Live check will only perform live lookup of a name. The checks are based on EPP,
WHOIS server, WHOIS at a web site or finger at the registry level. As
Ascio is accredited at many registries, the availability-check can query most TLDs
directly via EPP. This means that the name is always checked at the authoritative source: the Registry, which
should guarantee that the answer is accurate. In practice, experience tells us that some of
the small Registries do not always respond correctly, so there will always be a risk that
the answer is not correct – but the Live Check will always provide the best answer.
Availability Info modes
Speed Check (Fast)
Smart Check (Smart)
Smart-Live Check (SmartLive)
Live Check (Live)
Result Codes
Code
Message
Description
200
Available or Available - check based on old data.
The domain name is available, if the check is based on old data this is stated
as well.
201
Unavailable or Unavailable – check based on old data.
The domain name is unavailable, if the check is based on old data this is stated
as well.
203
Premium name available.
This can be for newTLDs
204
Unknown result received.
Unknown result received from live lookup at Registry. This might happen if the
Registry experience problems or has changed the format of their whois.
206
Premium queue entry.
The domain name is present in current queue entry.
Error Codes
Code
Message
Description
402
Quality not supported
for TLD
The TLD is not supported for the given quality.
When Ascio is not supporting a TLD under
quality 1 it is because the Registry is not sharing
zone files or other sources to registered names.
If a TLD under quality 3 is not supported it is
because there is no access to online check at the
Registry. If a TLD under quality 2 is not
supported it is because neither quality 1 or 3 is
supported.
412
Speed Check failed
An error message given when the Speed Check
fails. If the Speed Check fails it should be
reported to our support team stating date, time
and request that failed.
413
Live check failed
An error message given when the Live check
fails. If the Live check fails it should be reported
to Ascio stating date, time and request that failed.
414
Invalid domain name
An error message given an invalid domain name
format is entered. Valid domain name includes
the character set of a to z, 0 to 9 and with a
maximum number of character of 63. .
415
IDN not available
IDN is not supported for this TLD.
AvailabilityInfoResponse AvailabilityInfo(SecurityHeaderDetails securityHeader,AvailabilityInfoRequest request)
Response codes
ResultCode | Message | Value |
---|---|---|
200 | OK | |
401 | Authorization failed | |
501 | Syntax error in parameters or arguments | |
506 | Required attribute missing in request |
AvailabilityInfo Request
Property |
---|
request |
AvailabilityInfoResponse
Property | Description |
---|---|
AvailabilityInfoResult | |
DomainName | Example: "ascio-test-domain" |
DomainType | |
Currency | |
RenewalType | |
Prices | |
ResultCode | Example: 1 |
ResultMessage | |
Errors |
Used in Classes
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')
# AvailabilityInfoRequest
request = {
"DomainName" : "test-domain.com",
"Quality" : "QualityTest"
}
result = client.service.AvailabilityInfo(_soapheaders=[security_header_details_value, impersonation_header_details_values],request = request)
print(result)
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.