Сохтани минтақаҳои DNS ва идоракунии сабтҳои онҳо. Минтақаҳо аз ҷониби ns1.vps.org, ns2.vps.org ва ns3.vps.org хизматрасонӣ карда мешаванд.
Зона барои як домен сабтҳоро нигоҳ медорад. Ҳар як тағйироте, ки шумо тавассути API анҷом медиҳед, ба серверҳои номи VPS.org фавран пахш карда мешавад. Барои хизматрасонии домен аз ин минтақаҳо, серверҳои номро дар қайдгирӣ ба ns1. vps.org, ns2. vps.org ва ns3. vps.org танзим кунед.
Тағйиротҳо дар як қадам нигоҳ дошта ва нашр карда мешаванд: агар серверҳои ном тағйиротро рад кунанд, дархости 502 бармегардад ва чизе нигоҳ дошта намешавад. Минтақа барои домени дигар ҳисоб, ки аллакай идора карда мешавад, барои зонавии падар ё фарзанди дигар ҳисоб ё барои номи захирашудаи VPS.org эҷод карда намешавад.
Иҷозат лозим аст:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
Ба шумо минтақаҳои шуморо бар мегардонад, аввал навтарин, 25 дар як саҳифа. Захираҳо дар ин ҷо дохил карда нашудаанд; барои гирифтани онҳо минтақаи яклухт гиред.
| & Параметрҳо | Навъ | Ҳатмӣ | & Тасвирот |
|---|---|---|---|
domain |
string | & Намоиши хатҳои равон | Танҳо минтақаро бо номи домени муайяншуда бар мегардонад |
page |
integer | & Намоиши хатҳои равон | Рақами саҳифа, аз 1 сар карда |
curl -X GET "https://admin.vps.org/api/v1/dns-zones/?domain=example.com" \
-H "Authorization: Bearer YOUR_API_TOKEN"
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
response = requests.get(url, headers=headers, params={"domain": "example.com"})
for zone in response.json()["results"]:
print(zone["uuid"], zone["domain"], zone["record_count"])
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/?domain=example.com', {
headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});
const data = await response.json();
console.log(data.results);
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
"domain": "example.com",
"created_at": "2026-09-06T03:11:48.829693Z",
"record_count": 5
}
]
}
| & Файл | Навъ | & Тасвирот |
|---|---|---|
uuid |
string | Идентификатори минтақа |
domain |
string | Номи домен, дар ҳарфи хурд нигоҳ дошта мешавад |
created_at |
datetime | Вақти эҷод (ISO 8601, UTC) |
record_count |
integer | Миқдори қайдҳо дар минтақа, аз ҷумла се қайди NS |
| 200 | Муваффақият |
| 403 | API-и нодуруст ё гумшуда ё иҷозатномаи лозимӣ барои token нест |
Зонаро эҷод мекунад ва онро нашр мекунад. Зона бо се қайдоти NS барои ns1, ns2 ва ns3. vps.org оғоз меёбад, ки онҳо қайдоти системавӣ мебошанд ва наметавонанд таҳрир ё нобуд карда шаванд.
| & Параметрҳо | Навъ | Ҳатмӣ | & Тасвирот |
|---|---|---|---|
domain |
string | Бале | Номи домен, масалан example. com |
curl -X POST "https://admin.vps.org/api/v1/dns-zones/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain": "example.com"}'
{
"uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c",
"domain": "example.com",
"created_at": "2026-09-14T21:02:11.402113Z",
"records": [
{
"uuid": "1f2e3d4c-5b6a-4978-8a9b-0c1d2e3f4a5b",
"record_type": "NS",
"name": "@",
"value": "ns1.vps.org",
"ttl": 86400,
"priority": null,
"created_at": "2026-09-14"
},
...
],
"record_count": 3
}
| 201 | Минтақа эҷод шудааст |
| 400 | Номи домени нодуруст ё нобудшуда |
Як минтақаро бо ҳамаи қайдоти он дар қатори қайдотҳо бар мегардонад. Ҷавоб ҳамон шакли ҷавоби эҷодкуниро дар боло дорад.
curl -X GET "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 200 | Муваффақият |
| 404 | Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад |
Нобуд кардани минтақа аз ҳамаи се сервери ном, тафтиш кунед, ки ягон хидматрасони ном хидматрасонӣ мекунад, ва баъд минтақа ва сабтҳои онро нест мекунад. Агар сервери ном барои минтақа ҷавоб диҳад, дархости ноком мешавад ва минтақа нигоҳ дошта мешавад, то шумо тавонед аз нав кӯшиш кунед.
curl -X DELETE "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
| 204 | Ҳузфи шуд. Ҷавоб дорои ҷисм нест. |
| 400 | Сервери ном ҳанӯз ҳам минтақаро хизмат мерасонад. Минтақа нест карда нашуд; дар заминаи тафсилот хатогиҳо рӯйхат карда шудаанд. |
| 404 | Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад |
GET ҳар як сабти дар минтақаро ҳамчун маҷмӯи оддӣ (бе саҳифа) бар мегардонад, тартиб дода шуда аз рӯи намуд ва ном. POST сабтро ба минтақа илова мекунад ва онро нашр мекунад.
| & Параметрҳо | Навъ | Ҳатмӣ | & Тасвирот |
|---|---|---|---|
record_type |
string | Бале | A, AAAA, CNAME, MX, NS, TXT, SRV, PTR, SOA, CAA |
name |
string | Бале | @ барои худи домен, ё нишона монанди www. Номҳо дар ҳарфи хурд нигоҳ дошта мешаванд. |
value |
string | Бале | Маълумоти сабт, ба монанди IP- суроға ё номи соҳиб. Номи соҳиб ба нуқтаи охирин ва арзишҳои TXT ба иқтибосҳо ниёз надорад; ҳарду ҳангоми нашри сабт илова карда мешаванд. |
ttl |
integer | Бале | Вақти зиндагӣ дар сонияҳо |
priority |
integer | Танҳо MX ва SRV | Барои MX ва SRV қайдотҳо лозим аст ва барои ҳамаи намудҳои дигар нодида гирифта мешавад. Барои SRV, вазн, даргоҳ ва ҳадафро дар қиммати додашуда гузоред. |
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"record_type": "MX", "name": "@", "value": "mail.example.com", "ttl": 3600, "priority": 10}'
import requests
zone_uuid = "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c"
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}
data = {"record_type": "A", "name": "www", "value": "203.0.113.10", "ttl": 3600}
response = requests.post(url, headers=headers, json=data)
print(response.status_code, response.json())
{
"uuid": "9d430082-5562-42b4-a0b2-12a6f6c862f9",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2026-09-14"
}
| & Файл | Навъ | & Тасвирот |
|---|---|---|
uuid |
string | Идентификатори сабт, ки аз ҷониби нуқтаҳои охири /api/v1/dns-records/ истифода мешавад |
priority |
integer | null | Приоритет для записей MX и SRV, в противном случае нулевое |
created_at |
date | Танҳо санаи эҷод (Y- MM- DD), бе вақти муайян |
| 200 | GET: сабтҳои минтақа |
| 201 | POST: сабт эҷод шудааст |
| 400 | Хатои санҷиш, масалан, намуди сабти номуайян, ttl- и гумшуда ё MX ё SRV- и бе приоритет |
| 404 | Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад |
Аз нав минтақа ва ҳамаи қайдоти онро ба сервери номҳо мефиристад. Тағйироти қайдот ба таври худкор нашр карда мешаванд, аммо нашр кардан беҳтарин кӯшиш аст ва хатогӣ дархости аслӣ нест, бинобар ин инро барои тағйироте, ки дар ҷустуҷӯи DNS нишон дода намешавад, истифода баред. Дархости бадан лозим нест.
curl -X POST "https://admin.vps.org/api/v1/dns-zones/c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c/sync/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
{
"detail": "Zone example.com synced to PowerDNS"
}
GET ба шумо тамоми минтақаҳои шуморо бар мегардонад, 25 дар як саҳифа, тартиб додашуда аз рӯи домен, намуд ва ном. POST ба шумо як сабтро монанди минтақаи охирин эҷод мекунад, аммо минтақаро дар бадани zone_ uuid мегирад.
| & Параметрҳо | Навъ | Ҳатмӣ | & Тасвирот |
|---|---|---|---|
zone |
string | & Намоиши хатҳои равон | Танҳо сабтҳои минтақа бо ин uuid |
record_type |
string | & Намоиши хатҳои равон | Танҳо сабтҳои ин намуд, масалан MX (ба қайдгирии калон/ хурд аҳамият надиҳед) |
page |
integer | & Намоиши хатҳои равон | Рақами саҳифа, аз 1 сар карда |
curl -X GET "https://admin.vps.org/api/v1/dns-records/?zone=c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c&record_type=A" \
-H "Authorization: Bearer YOUR_API_TOKEN"
curl -X POST "https://admin.vps.org/api/v1/dns-records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"zone_uuid": "c7a1e3f0-2b4d-4e6a-9c8b-0d1f2e3a4b5c", "record_type": "TXT", "name": "@", "value": "v=spf1 mx -all", "ttl": 3600}'
{
"count": 1,
"next": null,
"previous": null,
"results": [
{
"uuid": "4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f",
"record_type": "A",
"name": "www",
"value": "203.0.113.10",
"ttl": 3600,
"priority": null,
"created_at": "2026-09-14"
}
]
}
| 200 | GET: муваффақият |
| 201 | POST: сабт эҷод шудааст |
| 400 | Хатои санҷиш, ё zone_uuid нест ё яке аз минтақаҳои шумо нест |
GET як сабтро бар мегардонад. PUT онро иваз мекунад ва record_ type, name, value ва ttl- ро талаб мекунад. PATCH танҳо майдонҳои фиристодашударо иваз мекунад. DELETE сабтро хориҷ мекунад ва 204- ро бе бадан бар мегардонад. Тағйиротҳо дарҳол нашр мешаванд. NS- сабтҳо, ки бо минтақа эҷод шудаанд, сабтҳои система мебошанд: навсозӣ ё нобуд кардани онҳо 403- ро бар мегардонад.
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/4b8e2c10-7d3f-4a5b-9e6c-1a2b3c4d5e6f/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 300}'
| 200 | GET, PUT ё PATCH: сабт |
| 204 | Ҳузфи шуд. Ҷавоб дорои ҷисм нест. |
| 400 | Хатои санҷиш |
| 403 | Запись является системной записью, или символ не имеет необходимых прав |
| 404 | Ё ки ёфт нашуд ё ба ҳисоби дигар тааллуқ дорад |
Хатои санҷиш 400- ро бо мушкилии калид бо номи майдон бар мегардонад:
{
"priority": ["MX records require a priority value"]
}
Дархости номи серверҳои VPS.org бевосита барои тасдиқи тағйирот пеш аз он ки шумо иҷозатнома ё кеши ҳалкунандаи худро ба даст оред:
dig @ns1.vps.org example.com A
dig @ns2.vps.org example.com MX
dig @ns3.vps.org www.example.com