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
®istrar= $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