Документація API

1. Загальний опис API

1.1. Загальний принцип взаємодії

Транспортним протоколом для функцій API є HTTP. В API підтримуються як GET, і POST запити. Проте рекомендованим метод POST, т.к. він не має обмежень на довжину запиту.

Кожен виклик є атомарним та синхронним, тобто всі запити незалежні один від одного. Більшість операцій є синхронними: результат операції повертається відразу, немає проміжних станів під час операції. Деякі операції можуть вимагати перевірки результату виконання.

1.2. Формат запиту

URL для виклику функцій виглядає так:

https://api.registrar.com.ua/?action=<ім'я_категорії_функції>/<ім'я_функції>[&<HTTP_параметри_для_запитів_GET>]

Приклад постого запиту:

https://api.registrar.com.ua/?action=account/info&username=test@user.com&password=testpassword

Практично всі функції потребують додаткових параметрів для виклику. Запити виконуються у кодуванні utf-8. IDN-домени в зоні можуть бути також передані в punycode.

1.3. Надсилання вхідних параметрів

Передача даних здійснюється у такому вигляді:

  • функція
  • параметри аутентифікації
  • параметри, специфічні для конкретної функції

1.4. Формати відповіді

Формат JSON є стандартним форматом. Приклад відповіді на запит:

{"account":{"email":"test@user.com","currency":"USD","prepay":"10.34","tariff":"Bronze"},"result":"success"}

2. Список функцій

  • account/info
  • account/prices
  • account/domains
  • account/invoices
  • domain/check
  • domain/register
  • domain/transfer
  • domain/renew
  • domain/info
  • domain/update
    • domain/update/lock
    • domain/update/privatewhois
    • domain/update/nameservers
  • domain/transfercode
  • domain/contacts/get
  • domain/contacs/validate
  • domain/contacts/update
  • domain/privatens/get
  • domain/privatens/add
  • domain/privatens/del
  • domain/dns/get
  • domain/dns/update

2.1 Функція "account/info"

Отримання інформації з облікового запису - валюти, тарифу, залишку на рахунку. Приклад:

https://api.registrar.com.ua/?action=account/info&username=test@user.com&password=testpassword

Відповідь (успішна):

{"account":{"email":"test@user.com","currency":"USD","prepay":"10.34","tariff":"Bronze"},"result":"success"}

Відповідь (з помилкою):

{"result":"error","code":10,"message":"AUTH_FAILED","error_text":"Incorrect username\/password"}

2.2 Функція "account/prices"

Повертає список зон, доступних до реєстрації з цінами на реєстрацію, продовження та перенос у валюті користувача. Запит:

https://api.registrar.com.ua/?action=account/prices&username=test@user.com&password=testpassword

Відповідь:

{"zones":{".ru":{"register":"1.65","transfer":"1.50","renew":"2.15","idn":false},".\u0440 \u0444":{"register":"1.65","transfer":"1.50","renew":"2.15","idn":true},".\u0440\u0443":{"register":" 1.60","renew":"9.70","idn":true},".by":{"register":"14.55","renew":"14.55","idn":false},".\u0443u 0":{"register":"7.00","transfer":"7.00","renew":"7.00","idn":false}},"result":"success"}

2.3 Функція "account/domains"

Повертає список доменів користувача з датами закінчення реєстрації та поточним статусом домену. Запит:

https://api.registrar.com.ua/?action=account/domains&username=test@user.com&password=testpassword

Відповідь:

{"domains":[{"domain":"testdomain.it","status":"Active","createdate":"2016- 07-09","expirydate":"2017-03-22"},{"domain":"testdomain.com.ua","status":"Expired","createdate ":"2014-12-31","expirydate":"2016-12-31"},{"domain":"testdomain.ru","status":"PendingTransfer" ,"createdate":"2016-12-31","expirydate":"0000-00-00"}],"result":"success"}

Можливі статуси доменів:

  • Pending - домен у процесі реєстрації або очікування оплати
  • Active - активний домен
  • PendingTransfer - домен, який очікує перенесення
  • Expired - домен, що минув
  • Cancelled - скасована реєстрація або перенесення, перенесені від нас домени

2.4 Функція "account/invoices"

  • statdate - початкова дата звіту (необов'язковий параметр, за промовчанням - поточна дата)
  • enddate - кінцева дата звіту (необов'язковий параметр, за замовчуванням – мінус 30 днів від початкової дати. Максимальний період – 1 рік)

Повертає список рахунків. Запит:

https://api.registrar.com.ua/?action=account/invoices&username=test@user.com&password=testpassword

Відповідь:

{"invoices":[{"id":"71690","subtotal":"0.00","credit":"0.00","total":"0.00","date": "2020-01-10","paiddate":"202 14:02:31","status":"Paid","items":[{"description":"Хостинг WordPress - Портал (test-domain.com) \/ 3 місяці","amount":"5.00"},{"description":"Промо-код: testcode - 100. знижка","amount":"-5.00"}]}],"result":"success"}

2.5 Функція "domain/check"

Перевірка доступності домену для реєстрації. Запит:

https://api.registrar.com.ua/?action=domain/check&username=test@user.com&password=testpassword&domain=testdomain.ru

Домен доступний для реєстрації:

{"status":"available","result":"success"}

Домен недоступний для реєстрації (зайнятий/зарезервований):

{"status":"unavailable","whoisdata":"% Взаємодія з RIPN's Whois Service\u003Cbr http:\/\/www.ripn.net\/about\/servpol.html#3.2 (in Ukrainian) \/\u003E\n% http:\/\/www.ripn.net\/about\/en\/servpol.html#3.2 (in English).\u003Cbr \/ \/\u003E\nblocking: Domain може бути не registered.\u003Cbr \/\u003Cbr\/\u003E\nLast updated on 2017.01.07 23:11:31 MSK\u003C0E\n \/\u003E\n","result":"success"}

Помилка домену:

{"result":"error","code":21,"message":"DOMAIN_BAD_TLD","error_text":"Unsupported zone"}

2.6 Функція "domain/register"

Реєстрація домену. Залежно від зони містить різні параметри.

Назва параметра Довжина Примітка
 Загальні поля для всіх доменів
domain  2-63 Ім'я домену, що реєструється. Обов'язкове поле.
country  2 Дволітерний ISO-код країни.Деякі доменні зони допускають вказівку лише країн, які офіційно підпадають під цю зону. Обов'язкове поле.
postcode 3-10 Поштовий індекс власника домену. Обов'язкове поле.
state 2-40 Адреса власника домену: область/край/штат.
city 2-80 Адреса власника домену: місто. Обов'язкове поле.
address 8-80 Адреса власника домену: вулиця, будинок, офіс (квартира). Обов'язкове поле.
phone 8-20 Номер телефону власника домену. Телефон вказується у міжнародному форматі (+380.951112233).Обов'язкове поле.
email 6-255 Контактна email-адреса власника домену.Обов'язкове поле.
whoisprotect 1 Вимкнути 0 або увімкнути 1 захист даних у WHOIS, якщо це підтримується доменом.
nameservers 0-255 Список NS-серверів домену, розділених ";", приклад: ns1.nameserver.com.ua;ns2.nameserver.com.ua. Максимально 4 NS-сервери.
Поля для доменів .US
nexuscategory 3 Власник домену:
  • C11 - Громадянин США
  • C12 - Постійний резидент США
  • C21 - Американська компанія
  • C31 - Іноземна компанія, яка веде діяльність у США
  • C32 - Іноземна компанія з офісом у США
Обов'язкове поле.
firstname 1-80 Ім'я власника домену. Обов'язкове поле.
lastname 1-80 Прізвище власника домену. Обов'язкове поле.
companyname 6-255 Назва організації.
uspurpose 2 Сфера використання:
  • P1 - Бізнес для отримання прибутку
  • P2 - Неприбуткова організація, клуб і т.д.
  • P3 - Персональне використання
  • P4 - Для освітніх цілей
  • P5 - Для державних цілей
Обов'язкове поле.
Поля для доменів .IT
regtype 1 Власник домену:
  • 1 - Італійські та іноземні фізичні особи
  • 2 - Компанії/Приватні підприємці
  • 3 - Фрілансери/професіонали
  • 4 - Неприбуткові організації
  • 5 - Громадські організації
  • 6 - Інші суб'єкти
  • 7 - Іноземці, які підходять 2-6
Обов'язкове поле.
nationality 2 Громадянство. Дволітерний ISO-код країни. Обов'язкове поле для фізичних осіб (regtype=1).
firstname 1-80 Ім'я власника домену. Обов'язкове поле.
lastname 1-80 Прізвище власника домену. Обов'язкове поле.
companyname 6-255 Назва організації.
regcode 4-20 Для італійських громадян повинен містити Codice Fiscale, для іноземців - номер паспорта, для організацій - податковий номер (для італійських організацій - 11 значний VAT number або n.a.).Обов'язкове поле.
country  2 Дволітерний ISO-код країни Євросоюзу.Обов'язкове поле.
state 2-40 Область/край/штат. Для Італії – 2-х літерний код провінції. Обов'язкове поле.
hidedetails 1 Відображати 0 або приховувати 1 дані власника у WHOIS
itterms 3 YES - згода з правилами зони .IT.Обов'язкове поле.
Поля для доменів .EU
firstname 1-80 Ім'я власника домену. Обов'язкове поле.
lastname 1-80 Прізвище власника домену. Обов'язкове поле.
companyname 6-255 Назва організації.
country  2 Дволітерний ISO-код країни Євросоюзу.Обов'язкове поле.
Поля для доменів .KZ/.ORG.KZ/.COM.KZ/.ҚАЗ
firstname 1-80 Ім'я власника домену. Обов'язкове поле.
lastname 1-80 Прізвище власника домену. Обов'язкове поле.
companyname 6-255 Назва організації.
srvloc_sp 2-40 Місце розташування сервера, область в Казахстані.Обов'язкове поле.
srvloc_city 2-80 Місцерозташування сервера, місто.Обов'язкове поле.
srvloc_street 8-80 Місце розташування сервера, адреса.Обов'язкове поле.
Поля для доменів .FR/.RE/.PM
regtype 5-11 Власник домену:
  • INDIVIDUAL - приватна особа
  • COMPANY - компанія
  • TRADEMARK - торгова марка
  • ASSOCIATION - асоціація
  • OTHER - інший
Обов'язкове поле.
firstname 1-80 Ім'я власника домену. Обов'язкове поле під час реєстрації на приватну особу.
lastname 1-80 Прізвище власника домену. Обов'язкове поле під час реєстрації на приватну особу.
birthdate 10 Дата народження власника домену у форматі DD.MM.YYYY. Обов'язкове поле під час реєстрації на приватну особу.
birthcountry 2 ІSO-код країни народження власника домену. Обов'язкове поле під час реєстрації на приватну особу.
birthcity 2-80 Місто народження власника домену. Обов'язкове поле при реєстрації на приватну особу та країну народження FR.
birthpostalcode 5 Поштовий індекс у місті народження власника домену. Обов'язкове поле при реєстрації на приватну особу та країну народження FR.
hidedetails 1 Відображати 0 або приховувати 1 дані власника у WHOIS під час реєстрації на приватну особу
otherstatus 3-80 Юридичний статус. Обов'язкове поле у ​​regtype=OTHER.
name 3-80 Назва власника домену (компанії, асоціації тощо). Обов'язкове поле під час реєстрації не на приватну особу.
trademark 3-80 Торгова марка. Обов'язкове поле під час реєстрації на торгову марку.
waldec 3-80 Waldec ID. Опціональне поле під час реєстрації на асоціацію.
assocationdate 10 Дата асоціації. Обов'язкове поле у ​​форматі DD.MM.YYYY при реєстрації на асоціацію, якщо не вказано waldec.
publicationdate 10 Дата публікації. Обов'язкове поле у ​​форматі DD.MM.YYYY при реєстрації на асоціацію, якщо не вказано waldec.
announce 3-80 Announce No. Обов'язкове поле при реєстрації на асоціацію, якщо не вказано waldec.
page 3-10 Page No. Обов'язкове поле при реєстрації на асоціацію, якщо не вказано waldec.
vatnum 3-30 Податковий номер (VAT).
duns 9 Номер D-U-N-S (Data Universal Numbering System).
siren 9 Номер SIREN.
Поля для доменів .PRO
firstname 2-80 Ім'я власника домену. Обов'язкове поле.
lastname 2-80 Прізвище власника домену. Обов'язкове поле.
companyname 6-255 Назва організації.
profession 6-255 Професія. Обов'язкове поле.
license 6-255 Номер ліцензії.
authority 6-255 Назва органу, від якого реєстрант отримав ліцензію.
authority_url 6-255 URL-адреса сайту, органу, який видав ліцензію.
Поля для інших доменів
firstname 2-80 Ім'я власника домену. Обов'язкове поле.
lastname 2-80 Прізвище власника домену. Обов'язкове поле.
companyname 6-255 Назва організації.

Відповідь - успішна реєстрація:

{"status":"Completed","result":"success"}

Відповідь - додано до черги на реєстрацію:

{"status":"Queued","result":"success"}

Відповідь з помилкою:

{"result":"error","code":25,"message":"PARAMETER_INCORRECT","error_text":"телефон не має відповідного формату або часу"}

2.7 Функція "domain/transfer"

Перенесення домену з іншого реєстратора. Параметри ідентичні до функції "domain/register". Додатковий параметр:

  • transfercode - код перенесення (ви можете отримати його у поточного реєстратора)

2.8 Функція "domain/renew"

Продовження домену на 1 рік.

  • domain - домен, який продовжується

2.9 Функція "domain/info"

Виведення інформації про домен - список ДНС, статус блокування, захисту даних та дату закінчення реєстрації.

  • domain - домен, про який отримуєте інформацію

Успішна відповідь.

{"expirydate":"2017-10-14","lockstatus":"unknown","nameservers":[{"ns":"ns3.registrar.com.ua","ip":"198.27.126.94"},{"ns ":"ns1.registrar.com.ua","ip":"198.245.60.140"},{"ns":"ns2.registrar.com.ua","ip":"198.27.126.95"}],"result":"success"}

2.10 Функція "domain/update/lock"

Увімкнення або вимкнення захисту від перенесення (для тих зон, які це підтримують).

  • domain - домен
  • enable - зі значенням on, locked або 1 - включає блокування; значення off, unlocked або 0 - вимикають блокування
Приклад запиту:
https://api.registrar.com.ua/?action=domain/update/lock&username=test@user.com&password=testpassword&domain=testdomain.com&enable=on

Відповідь (успішне включення):

{"status":"Completed","result":"success"}

Відповідь (успішне включення, завдання додано до черги):

{"status":"Queued","result":"success"}

2.11 Функція "domain/update/privatewhois"

Увімкнення або вимкнення захисту особистих даних (для тих зон, які підтримують це).

  • domain - домен
  • enable - зі значенням on, enabled або 1 - включає приховування даних; значення off, disabled або 0 - вимикають приховування даних
Приклад запиту:
https://api.registrar.com.ua/?action=domain/update/privatewhois&username=test@user.com&password=testpassword&domain=testdomain.com&enable=on

Відповідь (успішне включення):

{"status":"Completed","result":"success"}

Відповідь (успішне включення, завдання додано до черги):

{"status":"Queued","result":"success"}

2.12 Функція "domain/update/nameservers"

Оновлення списку ДНС серверів домену.

  • domain - домен
  • nameservers - список ДНС, розділених ;
Приклад запиту:
https://api.registrar.com.ua/?action=domain/update/privatewhois&username=test@user.com&password=testpassword&domain=testdomain.com&nameservers=ns1.registrar.com.ua;ns2.registrar.com

Відповідь (успішне оновлення):

{"status":"Completed","result":"success"}

Відповідь (успішне оновлення, завдання додано до черги):

{"status":"Queued","result":"success"}

2.13 Функція "domain/transfercode"

Отримання коду перенесення домену (якщо він підтримується зоною).

  • domain - домен, про який отримуєте інформацію
Приклад запиту:
https://api.registrar.com.ua/?action=domain/transfercode&username=test@user.com&password=testpassword&domain=testdomain.com

Успішна відповідь.

{"code":"USuV$AWY8r","result":"success"}

Відповідь з помилкою.

{"result":"error","code":27,"message":"REGISTRY_ERROR","error_text":"Відсутня підтримка для testdomain.ru"}

2.14 Функція "domain/contacts/get"

Отримання контактних даних домену.

  • domain - домен, про який отримуєте інформацію

Відповідь формується у вигляді структуйованого JSON-масиву за типами контактних даних:

  • Registrant:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...
  • Admin:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...
  • Technical:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...
  • Billing:
    • postcode
    • state
    • city
    • address
    • phone
    • email
    • ...

Для кожного типу контакту поля ідентичні тим, які використовуються при запиті domain/register (якщо не використовується параметр optimized.

2.15 Функція "domain/contacts/validate"

Перевірка правильності заповнення контактних даних перед реєстрацією домену.

Поля ідентичні тим, які використовуються при запиті domain/create.

Відповідь (успішна валідація):

{"status":"Valid","result":"success"}

Відповідь (помилка валідації):

{"result":"error","code": 25,"message":"PARAMETER_INCORRECT","error_text":"passport_num, passport_issuer has incorrect format or data"}

2.16 Функція "domain/contacts/update"

Оновлення контактних даних домену.

  • domain - домен, про який отримуєте інформацію
  • contacts - структуйований JSON-масив за типами контактних даних (див. domain/contacts/get)

2.17 Функція "domain/privatens/get"

Виводить список приватних ДНЗ домену (для тих зон, які це підтримують)

  • domain - домен, про який отримуєте інформацію

Відповідь формується у вигляді структуйованого JSON-масиву. Успішна відповідь:

{"nameservers":{"ns1":["198.245.60.140"],"ns2":["192.99.9.183"],"n s3":["2002:6bb5:bb5e::94","107.181.187.94"]},"result":"success"}

2.18 Функція "domain/privatens/add"

Додавання приватного ДНР (для тих зон, які це підтримують)

  • domain - домен, про який отримуєте інформацію
  • nameserver - хост
  • ip - IP-адреса, допускається вказувати кілька адрес через кому

Приклад запиту:

https://api.registrar.com.ua/?action=domain/privatens/add&username=test@user.com&password=testpassword&domain=testdomain.com&nameserver=ns1&ip=198.245.60.140

2.19 Функція "domain/privatens/del"

Видалення приватного ДНЗ (для тих зон, які це підтримують)

  • domain - домен, про який отримуєте інформацію
  • nameserver - хост

Приклад запиту:

https://api.registrar.com.ua/?action=domain/privatens/del&username=test@user.com&password=testpassword&domain=testdomain.com&nameserver=ns1

2.20 Функція "domain/dns/get"

Отримання записів ДНР.

2.21 Функція "domain/dns/update"

Оновлення записів ДНС. Підтримуються записи А, AAAA, MX, CNAME, TXT.


Також читають