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.net)
- $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


