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.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