2.4.1 Реселлінг доменів: HTTP API

Взаємодія з HTTP API для автоматизованого керування доменами в рамках програми реселлінгу здійснюється за протоколом HTTPS, при цьому всі дані від API передаються клієнтам у форматі JSON.

Перелік основних змінних:

  • $API_URL - URL адреса HTTP API, яка доступна за статичною адресою my.thehost.com.ua/manager/billmgr
  • $LOGIN - Логін реселера від особистого кабінету
  • $PASSWORD - Пароль реселера від особистого кабінету

Отримання актуального списку доменних імен

HTTP Запит:
https:// $API_URL ?func=domain&authinfo= $LOGIN : $PASSWORD &out=json
HTTP Відповідь:
{
"elem": [
    {
        "id": "200",
        "name": "thedomain.com.ua",
        "account": "account (account name)",
        "account_id": "100",
        "expire": "2027-02-16",
        "autoperiod": "-",
        "domainstatus": "2"
    },
    {
        "id": "220",
        "name": "thedomain2.com.ua",
        "account": "account (account name)",
        "account_id": "100",
        "expire": "2022-02-16",
        "autoperiod": "-",
        "domainstatus": "2"
    }]
}

Статус домену кодується полем domainstatus:

  • 0 - Немає даних
  • 1 - Не сплачено
  • 2 - Делегований (Активний)
  • 3 - Зареєстрований (Не делегований)
  • 4 - Видалений
  • 5 - Обробляється (На реєстрації)
  • 6 - Обробляється (Трансфер)
  • 7 - Обробляється (На продовженні)

Зміна неймсерверів домену (NS)

HTTP Запит:
https:// $API_URL ?func=domain.edit&elid= $DOMAIN_ID &ns0= $NS0 &ns1= $NS1 &ns2=$ NS2 &ns3= $NS3 &changens=on&sok=ok&authinfo= $LOGIN : $PASSWORD &out=json

Змінні запиту:

  • $DOMAIN_ID - Ідентифікатор домену (id)
  • $NS0 - Перший неймсервер
  • $NS1 - Другий неймсервер
  • $NS2 - Третій неймсервер
  • $NS3 - Четвертий неймсервер
HTTP Відповідь:
{
	"result" : "OK",
	"text": "\n    ",
	"text": "\n",
	"ok": ""
}

Створення контакту доменного імені

Складається з двох етапів:

HTTP Запит - перший етап:
https:// $API_URL ?func=contcat.create.1
&ctype=generic
&cname= $CONTACT_NAME 
&sok=ok
&authinfo= $LOGIN : $PASSWORD 
&out=json

Змінні запита:

  • $CONTACT_NAME - Назва контакту HTTP Відповідь в якому міститься $CONTACT_ID для другого етапу:
{[](https://)
	"result" : "OK",
	"domaincontact.id": $CONTACT_ID,
	"ok": "",
	"redirect": "location='billmgr?func=contcat.create.2
        &authinfo= $LOGIN : $PASSWORD &cname=CONTACT%5FNAME
        &contactid= $CONTACT_ID &ctype=generic';"
}

Другий етап актуалізує дані контакту:

HTTP Запит - другий етап:
https:// $API_URL ?func=domaincontact.edit
&ctype=generic
&name= $CONTACT_NAME 
&company= $COMPANY 
&firstname= $FIRSTNAME 
&lastname= $LASTNAME 
&email= $EMAIL 
&phone= $PHONE 
&fax= $PHONE 
&la_country= $ID_COUNTRY 
&la_state= $LA_STATE 
&la_postcode= $LA_POSTCODE 
&la_city= $LA_CITY 
&la_address= $LA_ADDRESS 
&elid= $CONTACT_ID 
&sok=ok
&authinfo= $LOGIN : $PASSWORD 
&out=json

Змінні запиту:

  • $CONTACT_NAME - Назва контакту
  • $COMPANY - Назва компанії контакту. Для фізичних осіб необхідно вказувати “Private Person”
  • $FIRSTNAME - Ім’я контактної особи в латиниці (приклад “Ivan”)
  • $LASTNAME - Прізвище контактної особи в латиниці (приклад “Ivanov”)
  • $EMAIL - Електронна пошта контакту (приклад “test@test.com”)
  • $PHONE - Телефон контактної особи в потрібному форматі - в номері обов’язково повинні бути присутніми + і 2 пробіли, при цьому “+” кодується як %2B (приклад “%2B380 67 1234567”)
  • $ID_COUNTRY - Код країни. Повний перелік кодів країн доступний за посиланням.
  • $LA_STATE - Назва області в латиниці (приклад “Kyiv region”)
  • $LA_POSTCODE - Поштовий код (приклад “01001”)
  • $LA_CITY - Назва міста в латиниці (приклад “Kyiv”)
  • $LA_ADDRESS - Адреса в латиниці (приклад “Kreschatik 1”)

Реєстрація нового домену

HTTP Запит:
https:// $API_URL ?func=domain.order.4
&contact= $CONTACT_ID 
&ctype=person
&owner= $CONTACT_ID 
&domain= $DOMAIN_NAME_WITHOUT_TLD 
&domainname_0= $DOMAIN_NAME_WITHOUT_TLD 
&tld= $TLD 
&nslist_0= $NSLIST 
&operation=register
&period_0= $PRICE_PERIOD_ID 
&price= $PRICE_ID 
&pricelist_0= $PRICE_ID 
&registrar= $REGISTRAR_ID 
&paynow=on
&payfrom=account $ACCOUNT_ID 
&sok=ok
&authinfo= $LOGIN : $PASSWORD 
&countdomain=1
&out=json

Змінні запиту:

  • $CONTACT_ID - Ідентифікатор контакту домену
  • $DOMAIN_NAME_WITHOUT_TLD - Доменне ім’я, без доменної зони (приклад thehost для домену thehost.ua)
  • $NSLIST - Список неймсерверів, перерахованих через пропуск (приклад &nslist_0=ns1.thehost.ua ns2.thehost.ua)
  • $PRICE_PERIOD_IDі $PRICE_ID - Тарифний період та тарифний план для реєстрованого домену. Повний перелік ідентифікаторів тарифних планів доступний за посиланням.
  • $TLD - Назва доменної зони (приклад com.ua, com)
  • $REGISTRAR_ID - Код оброблювача для відповідної доменної зони. Повний перелік кодів обробки для доменних зон доступний за посиланням.
  • $ACCOUNT_ID - Код вашого платника в особистому кабінеті для формування списань коштів за платні операції з доменними іменами. Подивитися можна в особистому кабінеті TheHost або за API:
https:// $API_URL /manager/billmgr?func=accountinfo&authinfo= $LOGIN : $PASSWORD &out=json

Операція продовження доменного імені

HTTP Запит:
https:// $API_URL ?func=domain.renew
&autoperiod= $PRICE_PERIOD 
&payfrom=account $ACCOUNT_ID 
&paynow=on
&elid= $DOMAIN_ID 
&sok=ok
&authinfo= $LOGIN : $PASSWORD
&out=json