Order-Domain
Order a new domain
This is a step by step example of ordering a domain through the Hostway Ordering API.
Create a new order
Use POST /orders to create a new order
Request
POST /orders Content-Type: application/json {}
Response
201 Created { "orderId":"00000149334635c2a163f194007f000000010001", "ownerId":"e497c8e7-8cf3-44ff-88d8-0c86521060da", "links":[ { "href":"http://coreapi01.ote.chicago.hostway:8100/orders/", "rel":"self" }, { "href":"http://coreapi01.ote.chicago.hostway:8100/orders/00000149334635c2a163f194007f000000010001", "rel":"item" } ] }
Add product to the order
The domain registration product specification offerings can be determined using the Hostway Product Catalog API. Add a new domain product to the order by using POST /orders/{order_id}/account/products.
Request
POST /orders/00000149334635c2a163f194007f000000010001/account/products Content-Type: application/json { "offering": "http://coreapi01.ote.chicago.hostway:8100/productSpecifications/core.plan.dnr.only/offerings/USD-12" }
Response
201 Created Content-Type : application/json; charset=UTF-8 Connection : close Location : http://coreapi01.ote.chicago.hostway:8100/orders/00000149334635c2a163f194007f000000010001/account/products/0000014933463b7219be46f0007f000000010001/ { "url":"http://coreapi01.ote.chicago.hostway:8100/orders/00000149334635c2a163f194007f000000010001/account/products/0000014933463b7219be46f0007f000000010001/", "productId":"0000014933463b7219be46f0007f000000010001" }
Add a service to the product
The domain registration service specification offerings can be determined using the Hostway Product Catalog API for the corresponding core.dnr.{tld} product. Then add a new email service to the order by using POST /orders/{order_id}/account/products/{product_id}/services.
Request
POST /orders/00000149334635c2a163f194007f000000010001/account/products/0000014933463b7219be46f0007f000000010001/services Content-Type: application/json { "name":"ng-test-fitnesse-20141021-1014.us", "serviceSpecification":"http://coreapi01.ote.chicago.hostway:8100/serviceSpecifications/core.dnr.us", "billingCycle":12 }
Response
201 Created Content-Type : application/json; charset=UTF-8 Location : http://coreapi01.ote.chicago.hostway:8100/orders/00000149334635c2a163f194007f000000010001/account/products/0000014933463b7219be46f0007f000000010001/services/0000014933463eead40ac7ba007f000000010001/ { "url":"http://coreapi01.ote.chicago.hostway:8100/orders/00000149334635c2a163f194007f000000010001/account/products/0000014933463b7219be46f0007f000000010001/services/0000014933463eead40ac7ba007f000000010001/", "serviceId":"0000014933463eead40ac7ba007f000000010001" }
Add attributes to the service
Use the PUT /orders/{order_id}/account/products/{product_id}/services/{service_id}/attributes call to add the attributes for the domain service. Note that the example below is using "extraParams" attribute which is only required for some TLDs (.us in this case).
Request
PUT /orders/0000014933612cf9fb1c626a007f000000010001/account/products/0000014933613211db39d7c4007f000000010001/services/0000014933613528f83d7290007f000000010001/attributes Content-Type: application/json { "domainName":"ng-test-fitnesse-20141021-1044.us", "operation":"register", "term":1, "authInfo":"mysecret", "nameservers":[ "ns1.test.com", "ns2.test.com" ], "extraParams":[ { "name":"us_nexus", "value":"C11" }, { "name":"us_purpose", "value":"P1" } ], "contactInfo":{ "registrant":{ "type":"registrant", "firstName":"John", "lastName":"Doe", "company":"ACME Inc.", "street1":"123 First Str.", "city":"Chicago", "zipOrPostal":"34567", "stateOrProvince":"IL", "countryCode":"US", "email1":"john.doe@test.com", "phone1":"+1.312.456789098" }, "administrative":{ "type":"administrative", "firstName":"Jane", "lastName":"Smith", "street1":"123 First Str.", "city":"Chicago", "zipOrPostal":"34567", "stateOrProvince":"IL", "countryCode":"US", "email1":"jane.smith@test.com", "phone1":"+1.312.456789111", "fax1":"+1.312.456789112" }, "billing":{ "type":"billing", "firstName":"James", "lastName":"Johnson", "street1":"123 First Str.", "city":"Chicago", "zipOrPostal":"34567", "stateOrProvince":"IL", "countryCode":"US", "email1":"james.johnson@test.com", "phone1":"+1.312.456789111" }, "technical":{ "type":"technical", "firstName":"Paul", "lastName":"Stevenson", "street1":"123 First Str.", "city":"Chicago", "zipOrPostal":"34567", "stateOrProvince":"IL", "countryCode":"US", "email1":"paul.stevenson@test.com", "phone1":"+1.312.456789111" } } }
Response
204 No content
Create a new account for the order
Use PUT /orders/{order_id}/account to create an account or add an existing one to the order.
Request
PUT /orders/0000014933612cf9fb1c626a007f000000010001/account Content-Type: application/json { "currency": "USD", "language": "en-US" }
Response
204 No content
Add user info
Request
PUT /orders/0000014933612cf9fb1c626a007f000000010001/account/user Content-Type: application/json { "userName": "quah@141021-104405.com", "password": "t0pSekr1t" }
Response
204 No content
Add billing contact
Request
PUT /orders/0000014933612cf9fb1c626a007f000000010001/account/contactInfo/billing Content-Type: application/json { "name":{ "firstName":"Billing", "middleName":"X", "lastName":"Customer", "company":"Hostway" }, "address":{ "street1":"100 n riverside", "street2":"ste 800", "city":"Chicago", "stateOrProvince":"IL", "postalCode":"60606", "countryCode":"US" }, "contactMedia":{ "phone1":"312-555-2222", "phone2":"312-555-3333", "fax":"312-555-1111", "email1":"james.johnson@test.com", "email1Format":"html", "email2":"gah@wev.com", "email2Format":"text" } }
Response
204 No Content
Add regular contact
Request
PUT /orders/0000014933612cf9fb1c626a007f000000010001/account/contactInfo/regular Content-Type: application/json { "name":{ "firstName":"Billing", "middleName":"X", "lastName":"Customer", "company":"Hostway" }, "address":{ "street1":"100 n riverside", "street2":"ste 800", "city":"Chicago", "stateOrProvince":"IL", "postalCode":"60606", "countryCode":"US" }, "contactMedia":{ "phone1":"312-555-2222", "phone2":"312-555-3333", "fax":"312-555-1111", "email1":"james.johnson@test.com", "email1Format":"html", "email2":"gah@wev.com", "email2Format":"text" } }
Response
204 No Content
Add payment info to the order
Request
PUT /orders/0000014933612cf9fb1c626a007f000000010001/account/paymentInfo Content-Type: application/json { "paymentInfoType":"credit_card", "creditCardType":"visa", "accountNumber":"4111111111111111", "cardHolderName":"John Jello", "expirationDate":"2015-06", "verificationNumber":"521", "billingAddress":{ "street1":"100 n riverside", "street2":"ste 800", "city":"Chicago", "stateOrProvince":"IL", "postalCode":"60606", "countryCode":"US" } }
Response
204 No Content
Validate the order
Request
POST /orders/0000014933612cf9fb1c626a007f000000010001/action Content-Type: application/json { "action": "validate" }
Response
204 No Content
Get a quote
Request
GET /orders/0000014933612cf9fb1c626a007f000000010001/quote
Response
200 OK Content-Type : application/json; charset=UTF-8 { "quote":{ "PurchasedPlan":[ { "Product":[ { "ChildProduct":[ ], "Name":"ng-test-fitnesse-20141021-1044.us", "MonthlyCycle":12, "ConfigType":"core.dnr.us", "Fees":[ { "ProrationAllowed":"0", "StartDate":"2014-10-21", "NumCharged":"0", "EndDate":"2015-10-20", "Description":"Domain registration fee ng-test-fitnesse-20141021-1044.us", "Discounts":[ ], "BaseAmount":"7.95", "UnitAmount":"7.95", "Prorated":"0", "MonthlyCycle":"12", "Currency":"USD", "Amount":"7.95", "NumCharges":"1", "ProratedUnitAmount":"7.95", "Type":"domain_registration_fee", "Quantity":"1", "Deferred":"0" } ], "Data":{ "Register":{ "ContactList":{ "Contact":[ { "@city":"Chicago", "@province":"IL", "@first_name":"Paul", "@fax":"", "@address1":"123 First Str.", "@address2":"", "@phone":"+1.312.456789111", "@country_code":"US", "@last_name":"Stevenson", "@postal":"34567", "@type":"technical", "@email":"paul.stevenson@test.com", "@company":"" }, { "@city":"Chicago", "@province":"IL", "@first_name":"Jane", "@fax":"", "@address1":"123 First Str.", "@address2":"", "@phone":"+1.312.456789111", "@country_code":"US", "@last_name":"Smith", "@postal":"34567", "@type":"admin", "@email":"jane.smith@test.com", "@company":"" }, { "@city":"Chicago", "@province":"IL", "@first_name":"John", "@fax":"", "@address1":"123 First Str.", "@address2":"", "@phone":"+1.312.456789098", "@country_code":"US", "@last_name":"Doe", "@postal":"34567", "@type":"company", "@email":"john.doe@test.com", "@company":"ACME Inc." }, { "@city":"Chicago", "@province":"IL", "@first_name":"James", "@fax":"", "@address1":"123 First Str.", "@address2":"", "@phone":"+1.312.456789111", "@country_code":"US", "@last_name":"Johnson", "@postal":"34567", "@type":"billing", "@email":"james.johnson@test.com", "@company":"" } ] }, "@term":"1", "@lock":"", "@domain_name":"ng-test-fitnesse-20141021-1044.us", "@agreed":"", "@nameservers":"ns1.test.com,ns2.test.com", "AuthInfo":"mysecret", "@reason":"", "@legal_type":"", "@agreement_version":"", "@operation":"register", "ExtraParams":[ { "Name":"us_nexus", "Value":"C11" }, { "Name":"us_purpose", "Value":"P1" } ] } }, "PromotionCode":null, "ProductGUID":"0000014933613528f83d7290007f000000010001" } ], "DisplayName":"", "Name":"DNR Only Plan", "ReferralKey":null, "MonthlyCycle":12, "PartnerId":"", "Plan":"core.plan.dnr.only", "Fees":[ { "ProrationAllowed":"0", "StartDate":"2014-10-21", "NumCharged":"0", "EndDate":"2015-10-20", "Description":"Recurring fee DNR Only Plan, ng-test-fitnesse-20141021-1044.us 10/21/2014 through 10/20/2015", "Discounts":[ ], "BaseAmount":"0.00", "UnitAmount":"0.00", "Prorated":"0", "MonthlyCycle":"12", "Currency":"USD", "Amount":"0.00", "NumCharges":"-1", "ProratedUnitAmount":"0.00", "Type":"recurring", "Quantity":"1", "Deferred":"0" } ], "PlanNumber":"0000014933613211db39d7c4007f000000010001", "PromotionCode":null, "PurchasedPlanNumber":"acct258192-0000014933615c88d6149e83007f00000001000" } ], "Hash":"b2f4dba3062c44084d3339561781d3bbc7bb9f70", "Currency":"USD", "Total":"7.95", "SubTotal":"7.95", "OneTimeFeeAmount":"7.95", "TaxTotal":"0", "DeferredSubTotals": [], "DeferredTaxes": [], "DeferredTotals": [] }, "links":{ "self":{ "href":"http://coreapi01.ote.chicago.hostway:8100/orders/0000014933612cf9fb1c626a007f000000010001/quote/", "rel":"self" } } }
Submit the order
Use POST /orders/{order_id}/action to submit the order.
Request
POST /orders/0000014933612cf9fb1c626a007f000000010001/action Content-Type: application/json { "action": "submit", "quoteHash": "b2f4dba3062c44084d3339561781d3bbc7bb9f70" }
Response
202 Accepted
See also