Ushbu hujjat API metodlarini tasvirlab beradi, ular domen nomlarini boshqarish uchun ishlatiladi. API domenlarning mavjudligini tekshirish, ro'yxatdan o'tkazish, yangilash, transfer qilish va boshqarish imkoniyatlarini taqdim etadi.
Autentifikatsiya
API-ga yuborilgan barcha so'rovlar Basic Authentication formatida avtorizatsiya sarlavhasini o'z ichiga olishi kerak:
Authorization: Basic base64_encode("client:$token")
Bu yerda:
client
- doim "client" qiymati ishlatiladi$token
- sizning shaxsiy kirish tokeningiz
Authorization
sarlavhasi API-ga yuborilgan barcha so'rovlarga qo'shilishi kerak.
Mazmun
- Domenning mavjudligini tekshirish
- Domenni ro'yxatdan o'tkazish
- Kontakt shablonini yaratish
- Kontakt shablonlarini olish
- Kontakt shablonini yangilash
- Domenni yangilash
- Domen haqida ma'lumot olish
- Transfer kodi olish
- Domenni transfer qilish
- Domen muddatini yangilash
- NS serverlarini o'rnatish
- WHOIS ni yashirish
- WHOIS ni ko'rsatish
- Domenni bloklash
- Domenni blokdan chiqarish
- Umumiy balansni olish
1. Domenning mavjudligini tekshirish
Domenni ro'yxatdan o'tkazish uchun mavjudligini tekshiradi.
So'rov tanasi:
{
"sld": "example-domain-2025",
"tld": ".com"
}
Muvaffaqiyatli javob misoli:
{
"result": true,
"error": null
}
Domen mavjud emasligi haqida javob misoli:
{
"result": null,
"error": {
"message": "Domain is not available.",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
sld | Ikkinchi darajali domen nomi (kengaytmasiz) | Ha |
tld | Domen kengaytmasi (nuqta bilan) | Ha |
2. Domenni ro'yxatdan o'tkazish
Ko'rsatilgan parametrlar va kontakt ma'lumotlari bilan yangi domenni ro'yxatdan o'tkazadi.
So'rov tanasi:
{
"domain": "example-shop-2025.store",
"register_years": "1",
"contactCustomer": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "ivan.petrov@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"contactTech": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "tech@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"contactBilling": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "billing@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"contactAdmin": {
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "AB123456",
"passport_date": "2020-01-01",
"passport_place": "Moscow",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "admin@example.com",
"state": "Moscow",
"phone_code": "7",
"phone": "9001234567",
"country": "RU",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123"
},
"ns1": "ns1.example.com",
"ns2": "ns2.example.com"
}
Muvaffaqiyatli javob misoli:
{
"result": true,
"error": null
}
Xato javob misoli:
{
"result": null,
"error": {
"message": "Domain is not available.",
"code": 9999
}
}
Izoh: Har bir kontakt blokini to'ldirish o'rniga, mavjud kontakt shablonidan foydalanishingiz mumkin, uning ID sini ko'rsatib:
"contactCustomer": {
"contact_id": "107"
}
Yoki mijoz ma'lumotlaridan foydalanishingiz mumkin:
"contactTech": {
"use_customer": "1"
}
Parametr | Tavsif | Majburiy |
---|---|---|
domain | Domenning to'liq nomi, kengaytmasi bilan | Ha |
register_years | Ro'yxatga olish muddati yillarda | Ha |
contactCustomer | Mijozning kontakt ma'lumotlari | Ha |
contactTech | Texnik kontakt ma'lumotlari | Ha |
contactBilling | To'lov kontakt ma'lumotlari | Ha |
contactAdmin | Ma'muriy kontakt ma'lumotlari | Ha |
ns1, ns2 | Birinchi va ikkinchi NS-serverlar | Ha |
dnssec | DNSSEC ni ishlatish flagi (1 - yoqilgan) | Yo'q |
3. Kontakt shablonini yaratish
Yangi kontakt shablonini yaratadi, bu domenlarni ro'yxatdan o'tkazishda yoki boshqarishda qayta foydalanish uchun.
So'rov tanasi:
{
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions LLC",
"bank_name": "International Bank",
"bank_code": "INTBANK123",
"passport_number": "CD987654",
"passport_date": "2022-03-15",
"passport_place": "New York",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"state": "NY",
"phone_code": "1",
"phone": "2125551234",
"country": "US",
"post_code": "10001",
"city": "New York",
"address": "123 Broadway St, Suite 456"
}
Muvaffaqiyatli javob misoli:
{
"result": {
"id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions LLC",
"bank_name": "International Bank",
"bank_code": "INTBANK123",
"passport_number": "CD987654",
"passport_date": "2022-03-15",
"passport_place": "New York",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"phone_code": "1",
"phone": "2125551234",
"country": "United States",
"country_code": "US",
"state": "NY",
"post_code": "10001",
"city": "New York",
"address": "123 Broadway St, Suite 456",
"iduzurl": "",
"nick": ""
},
"error": null
}
Xato javob misoli:
{
"result": null,
"error": {
"message": "Invalid email format",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
client_type | Mijoz turi: jismoniy yoki yuridik shaxs | Ha |
tax_id | Mijozning soliq identifikatsiya raqami | Ha |
org_name | Tashkilot nomi | Ha |
bank_name | Bank nomi | Ha |
bank_code | Bank kodi | Ha |
passport_number | Pasport raqami | Ha |
passport_date | Pasport berilgan sana | Ha |
passport_place | Pasport berilgan joy | Ha |
first_name | Ism | Ha |
last_name | Familiya | Ha |
Elektron pochta manzili | Ha | |
state | Viloyat | Ha |
phone_code | Telefon kodi | Ha |
phone | Telefon raqami | Ha |
country | Mamlakat kodi | Ha |
post_code | Pochta indeksi | Ha |
city | Shahar | Ha |
address | Manzil | Ha |
4. Kontakt shablonlarini olish
Barcha saqlangan kontakt shablonlarining ro'yxatini oladi.
So'rov tanasi kerak emas
Javob namunasi:
{
"result": [
{
"id": 2,
"client_type": "l",
"tax_id": "1",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Ivanov",
"email": "ivan@example.com",
"phone_code": "998",
"phone": "935311050",
"country": "Uzbekistan",
"country_code": "UZ",
"state": "UZ",
"post_code": "100000",
"city": "Tashkent",
"address": "Example Street 123",
"iduzurl": "",
"nick": ""
},
{
"id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions LLC",
"bank_name": "International Bank",
"bank_code": "INTBANK123",
"passport_number": "CD987654",
"passport_date": "2022-03-15",
"passport_place": "New York",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"phone_code": "1",
"phone": "2125551234",
"country": "United States",
"country_code": "US",
"state": "NY",
"post_code": "10001",
"city": "New York",
"address": "123 Broadway St, Suite 456",
"iduzurl": "",
"nick": ""
}
],
"error": null
}
5. Kontakt shablonini yangilash
Mavjud kontakt shablonini yangilaydi.
So'rov tanasi:
{
"template_id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions International",
"bank_name": "Global Bank",
"bank_code": "GLOBBANK456",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"state": "California",
"phone_code": "1",
"phone": "4155551234",
"country": "US",
"post_code": "94107",
"city": "San Francisco",
"address": "555 Market St, Suite 789"
}
Muvaffaqiyatli javob namunasi:
{
"result": {
"id": 108,
"client_type": "l",
"tax_id": "987654321",
"org_name": "Digital Solutions International",
"bank_name": "Global Bank",
"bank_code": "GLOBBANK456",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "John",
"last_name": "Smith",
"email": "john.smith@digitalsolutions.com",
"phone_code": "1",
"phone": "4155551234",
"country": "United States",
"country_code": "US",
"state": "California",
"post_code": "94107",
"city": "San Francisco",
"address": "555 Market St, Suite 789",
"iduzurl": "",
"nick": ""
},
"error": null
}
Parametr | Tavsif | Majburiy |
---|---|---|
template_id | Yangilanishi kerak bo'lgan shablon ID-si | Ha |
Boshqa parametrlar kontakt shablonini yaratishga o'xshash. |
6. Domenni uzaytirish
Domen ro'yxatga olish muddatini uzaytiradi.
So'rov tanasi:
{
"domain_id": "16"
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xato javobi namunasi:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
7. Domen haqida ma'lumot olish
Domen haqida batafsil ma'lumot oladi.
So'rov tanasi:
{
"domain": "example-domain.com"
}
Muvaffaqiyatli javob namunasi:
{
"result": {
"domain": "example-domain.com",
"domain_id": 16,
"sld": "example-domain",
"tld": ".com",
"name_servers": {
"1": {
"address": "ns1.example.com",
"ip": ""
},
"2": {
"address": "ns2.example.com",
"ip": ""
},
"3": {
"address": "",
"ip": ""
},
"4": {
"address": "",
"ip": ""
},
"5": {
"address": "",
"ip": ""
}
},
"registrar": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "ivan.petrov@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"tech": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "tech@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"billing": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "billing@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"admin": {
"id": 2,
"client_type": "l",
"tax_id": "123456789",
"org_name": "Example Corporation",
"bank_name": "Example Bank",
"bank_code": "EXAMPLEBANK123",
"passport_number": "",
"passport_date": "",
"passport_place": "",
"first_name": "Ivan",
"last_name": "Petrov",
"email": "admin@example.com",
"phone_code": "7",
"phone": "9001234567",
"country": "Russian Federation",
"country_code": "RU",
"state": "Moscow",
"post_code": "123456",
"city": "Moscow",
"address": "Lenina str., 1, office 123",
"iduzurl": "",
"nick": ""
},
"period": 1,
"dnssec": 0,
"status": "active",
"privacy": 0,
"locked": 0,
"hold": 0,
"update_prohibited": 0,
"registered_at": "2025-04-22 06:41:58",
"expires_at": "2026-04-22 06:41:58"
},
"error": null
}
Xato javobi namunasi:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parametr | Tashxil | Majburiy |
---|---|---|
domain | Domening to'liq nomi, kengaytma bilan | Ha |
8. Transfer kodi olish
Domenni boshqa ro'yxatga olish xizmatiga o'tkazish uchun avtorizatsiya kodini (EPP/AUTH kodini) oladi.
So'rov tanasi:
{
"domain_id": "90"
}
Muvaffaqiyatli javob namunasi:
{
"result": "aA1My8=+IEIA****",
"error": null
}
Xato javobi namunasi:
{
"result": null,
"error": {
"message": "Domain not found",
"code": 9999
}
}
Parametr | Tashxil | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
9. Domen transferi
Domenni boshqa ro'yxatga olish xizmatiga o'tkazishni boshlaydi.
So'rov tanasi:
{
"transfer_sld": "example-domain",
"transfer_tld": ".com",
"transfer_code": "aA1My8=+IEIA****"
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xato javobi namunasi:
{
"result": null,
"error": {
"message": "Invalid transfer code",
"code": 9999
}
}
Parametr | Tashxil | Majburiy |
---|---|---|
transfer_sld | Ikkinchi darajali domen nomi (kengaytmasiz) | Ha |
transfer_tld | Domen kengaytmasi (nuqtasi bilan) | Ha |
transfer_code | Transfer avtorizatsiya kodi (EPP/AUTH kodi) | Ha |
10. Domen muddatini yangilash
Domenning ro'yxatdan o'tish muddatini o'zgartiradi.
So'rov tanasi:
{
"domain_id": "16",
"period": 2
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xato javobi namunasi:
{
"result": null,
"error": {
"message": "Invalid period value",
"code": 9999
}
}
Parametr | Tashxil | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
period | Yangi ro'yxatdan o'tish muddati (yillarda) | Ha |
11. NS serverlarini o'rnatish
Domen uchun nom serverlarini sozlaydi.
So'rov tanasi:
{
"ns1": {
"address": "ns1.newprovider.com",
"ip": "203.0.113.1"
},
"ns2": {
"address": "ns2.newprovider.com",
"ip": "203.0.113.2"
},
"ns3": {
"address": "ns3.newprovider.com",
"ip": "203.0.113.3"
},
"ns4": {
"address": "",
"ip": ""
},
"ns5": {
"address": "",
"ip": ""
},
"domain_id": 90
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xato javobi namunasi:
{
"result": null,
"error": {
"message": "Invalid nameserver format",
"code": 9999
}
}
Izoh: NS-serverlarni (ns1-ns10) ko'rsatish mumkin. IP-manzillar ko'pgina domen zonalarida majburiy emas, ammo ba'zi maxsus TLDlar uchun talab qilinishi mumkin.
Parametr | Tashxil | Majburiy |
---|---|---|
ns1-ns10 | NS-serverlar ma'lumotlarini o'z ichiga olgan obyektlar | ns1-ns2 majburiy |
ns*.address | NS-server nomi | Ha (ko'rsatilgan serverlar uchun) |
ns*.ip | NS-server IP-manzili | Yo'q |
domain_id | Domen identifikatori | Ha |
12. WHOIS ma'lumotlarini yashirish
WHOIS'dagi shaxsiy ma'lumotlarni himoyalashni yoqadi (Privacy Protection).
So‘rov tanasi:
{
"domain_id": 90
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xatolik holatidagi javob namunasi:
{
"result": null,
"error": {
"message": "Domain topilmadi",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
13. WHOIS ma'lumotlarini ko‘rsatish
WHOIS'dagi shaxsiy ma'lumotlarni himoyalashni o‘chiradi (Privacy Protection).
So‘rov tanasi:
{
"domain_id": 90
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xatolik holatidagi javob namunasi:
{
"result": null,
"error": {
"message": "Domain topilmadi",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
14. Domenni bloklash
Domenni boshqa registratorga o‘tkazishni bloklaydi (clientTransferProhibited holatini o‘rnatadi).
So‘rov tanasi:
{
"domain_id": 90
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xatolik holatidagi javob namunasi:
{
"result": null,
"error": {
"message": "Domain topilmadi",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
15. Domenni blokdan chiqarish
Domenni boshqa registratorga o‘tkazish uchun blokdan chiqaradi (clientTransferProhibited holatini olib tashlaydi).
So‘rov tanasi:
{
"domain_id": 90
}
Muvaffaqiyatli javob namunasi:
{
"result": true,
"error": null
}
Xatolik holatidagi javob namunasi:
{
"result": null,
"error": {
"message": "Domain topilmadi",
"code": 9999
}
}
Parametr | Tavsif | Majburiy |
---|---|---|
domain_id | Domen identifikatori | Ha |
16. Umumiy balansni olish
Mijozning joriy balansi haqidagi ma’lumotni oladi.
So‘rov tanasi talab qilinmaydi
Muvaffaqiyatli javob namunasi:
{
"result": 1250.50,
"error": null
}
Xatolik holatidagi javob namunasi:
{
"result": null,
"error": {
"message": "Autentifikatsiya amalga oshmadi",
"code": 9999
}
}
Xatolik kodlari va javoblarni qayta ishlash
Barcha API metodlari quyidagi tuzilishga ega bo‘lgan JSON formatidagi javobni qaytaradi:
{
"result": [javob ma’lumoti yoki muvaffaqiyatda true],
"error": null
}
Xatolik yuz bersa, result
maydoni null
bo‘ladi, error
esa xatolik haqidagi ma’lumotni o‘z ichiga oladi:
{
"result": null,
"error": {
"message": "Xatolik xabari matni",
"code": 9999
}
}
Eslatma: Ushbu hujjatda umumiy 9999 xatolik kodi ishlatilgan. Haqiqiy API javoblarida har bir xatolik uchun alohida noyob kod bo‘ladi, bu muammoning aniq sababini aniqlashga yordam beradi.
Autentifikatsiya
API'ga kirish uchun autentifikatsiyadan foydalanish kerak. Ushbu hujjatda autentifikatsiya usuli ko‘rsatilmagan, ammo odatda quyidagi usullardan biri ishlatiladi:
- So‘rov sarlavhasida API kaliti
- HTTP bazaviy autentifikatsiya
- OAuth 2.0 kirish tokeni
Muhim: API'dan foydalanishni boshlashdan oldin, autentifikatsiya qilish uchun kerakli ma’lumotlarni texnik yordam xizmatidan yoki akkaunt boshqaruv paneli orqali olish kerak.
Cheklovlar va tavsiyalar
- Har daqiqada 100 ta so‘rovdan oshmaslik tavsiya etiladi.
- Barcha so‘rovlar va javoblar UTF-8 kodlashidan foydalanishi kerak.
- Sanalar "YYYY-MM-DD HH:MM:SS" formatida va UTC vaqt mintaqasida bo‘ladi.
- Domen va kontakt shablon identifikatorlari faqat raqamlardan iborat bo‘lsa ham, matn sifatida uzatilishi kerak.