Ascio Web Service v3

PHP 5 Classes CreateOrder - ContactUpdate

Replaces the contact 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 Contact Update, it is possible to change Tech Contact, Admistrative Contact and Billing Contact in one request.

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
OrderTypeContactUpdate
requestDomainOrderRequest

PHP 5 Classes example

<?php
namespace ascio\v3\examples;
require("../service/autoload.php");
require("../../lib/AscioConfig.php");
use ascio\v3 as ascio;
use ascio\lib as lib;
function contactUpdateExample() {
	$config = new lib\Config();
	$env = $config->get("testing"); //testing or live
	$credentials = array("Account"=>$env->getAccount(), "Password" => $env->getPassword());
	$headers = [];
	$headers[] = new \SoapHeader("http://www.ascio.com/2013/02","SecurityHeaderDetails", $credentials, false);
	$headers[] = new \SoapHeader("http://www.ascio.com/2013/02","ImpersonationHeaderDetails", ["TransactionAccount" => "mysubaccount"], false);	
	$ascioClient = new ascio\AscioService(array("trace" => true),$env->getWsdl("v3"));
	$ascioClient->__setSoapHeaders($headers);

	$keyValue =  new ascio\KeyValue();
	$keyValue->setKey("Title");
	$keyValue->setValue("Mr.");

	$adminExtensions =  new ascio\Extensions();
	$adminExtensions->setKeyValue([
		""Title",
		""Mrs."
	]);

	$admin =  new ascio\Contact();
	$admin->setFirstName("John");
	$admin->setLastName("Doe");
	$admin->setOrgName("Ascio");
	$admin->setAddress1("Address1Test");
	$admin->setAddress2("Address2Test");
	$admin->setCity("CityTest");
	$admin->setState("StateTest");
	$admin->setPostalCode("888349");
	$admin->setCountryCode("DK");
	$admin->setPhone("+45.123456789");
	$admin->setFax("+45.987654321");
	$admin->setEmail($config->getEmail());
	$admin->setType("owner");
	$admin->setDetails("DetailsTest");
	$admin->setOrganisationNumber("OrganisationNumberTest");
	$admin->setExtensions($adminExtensions);

	$keyValue =  new ascio\KeyValue();
	$keyValue->setKey("Title");
	$keyValue->setValue("Mr.");

	$techExtensions =  new ascio\Extensions();
	$techExtensions->setKeyValue([
		""Title",
		""Mrs."
	]);

	$tech =  new ascio\Contact();
	$tech->setFirstName("John");
	$tech->setLastName("Doe");
	$tech->setOrgName("Ascio");
	$tech->setAddress1("Address1Test");
	$tech->setAddress2("Address2Test");
	$tech->setCity("CityTest");
	$tech->setState("StateTest");
	$tech->setPostalCode("888349");
	$tech->setCountryCode("DK");
	$tech->setPhone("+45.123456789");
	$tech->setFax("+45.987654321");
	$tech->setEmail($config->getEmail());
	$tech->setType("owner");
	$tech->setDetails("DetailsTest");
	$tech->setOrganisationNumber("OrganisationNumberTest");
	$tech->setExtensions($techExtensions);

	$keyValue =  new ascio\KeyValue();
	$keyValue->setKey("Title");
	$keyValue->setValue("Mr.");

	$billingExtensions =  new ascio\Extensions();
	$billingExtensions->setKeyValue([
		""Title",
		""Mrs."
	]);

	$billing =  new ascio\Contact();
	$billing->setFirstName("John");
	$billing->setLastName("Doe");
	$billing->setOrgName("Ascio");
	$billing->setAddress1("Address1Test");
	$billing->setAddress2("Address2Test");
	$billing->setCity("CityTest");
	$billing->setState("StateTest");
	$billing->setPostalCode("888349");
	$billing->setCountryCode("DK");
	$billing->setPhone("+45.123456789");
	$billing->setFax("+45.987654321");
	$billing->setEmail($config->getEmail());
	$billing->setType("owner");
	$billing->setDetails("DetailsTest");
	$billing->setOrganisationNumber("OrganisationNumberTest");
	$billing->setExtensions($billingExtensions);

	$domain =  new ascio\Domain();
	$domain->setName("ascio-is-great.com");
	$domain->setAdmin($admin);
	$domain->setTech($tech);
	$domain->setBilling($billing);
	$domain->setLocalPresence(false);

	$request =  new ascio\DomainOrderRequest();
	$request->setType(ascio\OrderType::ContactUpdate);
	$request->setTransactionComment("TransactionCommentTest");
	$request->setDomain($domain);
	echo "start validate\n";
	$validateOrder = new  ascio\ValidateOrder($request);
	try {
		$response = $ascioClient->ValidateOrder($validateOrder);
	} catch (\Exception $e) {
		echo ("[".$e->faultcode . "] ". $e->faultstring);
		return;
	}
	echo "end validate\n";
	
	if ($response->getValidateOrderResult()->getResultCode() == 200) {
		echo "Validation: OK\r\n";
		try {
			$createOrderResponse = $ascioClient->CreateOrder(new ascio\CreateOrder($request));
		} catch (\Exception $e) {
			echo ("[".$e->faultcode . "] ". $e->faultstring);
			return;
		}
		echo "Create Order: ".$createOrderResponse->CreateOrderResult->getResultCode() . " " . $createOrderResponse->CreateOrderResult->getResultMessage() . "\r\n";
		if ($createOrderResponse->CreateOrderResult->getResultCode() == 200) {
			echo "OrderId : " . $createOrderResponse->CreateOrderResult->getOrderInfo()->getOrderId() . "\r\n";
			echo "Order Status : " . $createOrderResponse->CreateOrderResult->getOrderInfo()->getStatus() . "\r\n";
		} else {
			echo ($response->CreateOrderResult->getResultMessage()."\n");
			foreach($createOrderResponse->CreateOrderResult->getErrors() as $error) {
				echo $error."\n";
				return $response;
			}
		}
		return $createOrderResponse;
	} else {
		echo ($response->getValidateOrderResult()->getResultMessage()."\n");
		if ($response->getValidateOrderResult()->getErrors()) {
			foreach($response->getValidateOrderResult()->getErrors()->getString() as $error) {
				 echo $error."\n";
			}
		}
		return $response;
	}
}
contactUpdateExample();
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.