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