Шарҳи умумӣ
DNS API идоракунии пурраи минтақаҳои DNS ва сабтҳоро таъмин мекунад. Ҳамаи минтақаҳо дар серверҳои номҳои VPS.org бо эҷоди худкори файли минтақаи BIND9 ва ҷойгиркунӣ ҷойгир карда шудаанд.
Номи сервер
ns1.vps.org (38.248.6.195) - Ходими асосӣ бо имзои дарунсохти DNSSEC
ns2.vps.org (38.248.6.196) - Слободяи дуввум
ns3.vps.org (38.248.6.197) - Слободяи дуввум
Хусусиятҳои калидӣ
Эҷоди худкори файли минтақаи BIND9 ва ҷойгиркунӣ
Интиқоли минтақа тавассути аслшиносии TSIG (такроршавии master- slave)
Пуштибонии ҳамаи намудҳои асосии сабти DNS (A, AAAA, CNAME, MX, TXT, NS, SRV, CAA)
Филтркунии номи домен ва муайянкунии минтақаи UUID
Роҳҳои дарунсохт барои идоракунии сабтҳои минтақавӣ
Тасдиқ
Ҳамаи дархостҳои API- и DNS аслшиносии нишонаи соҳибро талаб мекунанд. Нишонаҳои API- ро аз панели ҳисоб дар /account/developers/ бо иҷозатҳои зерин:
dns:list - Намоиши минтақаҳо ва сабтҳои DNS
dns:create - Сохтани минтақаҳои нав ва сабтҳо
dns:update - Тағйир додани минтақаҳо ва сабтҳои мавҷудбуда
dns:delete - Нобуд кардани минтақаҳо ва сабтҳо
dns:* - Дастрасии пурраи идоракунии DNS
Мисол
Authorization: Bearer vps_abc123def456...
Маълумот: API- и нишонаҳо танҳо як бор дар вақти эҷод нишон дода мешаванд. Онҳоро бо бехатарӣ нигоҳ доред. Агар шумо нишонаро гум кунед, шумо бояд нишонаи навро эҷод кунед.
Рӯйхати ҳамаи минтақаҳои DNS
Рӯйхати саҳифашудаи ҳамаи минтақаҳои DNS- ро, ки ба корванди тасдиқшуда тааллуқ дорад, барқарор мекунад. Филтркуниро бо номи домен пуштибонӣ мекунад.
Параметрҳои дархост
& Параметрҳо
Навъ
Ҳатмӣ
& Тасвирот
domain
string
& Намоиши хатҳои равон
Filter zones by exact domain name (e.g., example.com)
Намунаи дархост
curl -X GET "https://admin.vps.org/api/v1/dns-zones/" \
-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)
print(response.json())
& Нусха бардоштан
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
headers: {'Authorization': 'Bearer YOUR_API_TOKEN'}
});
const zones = await response.json();
console.log(zones);
& Нусха бардоштан
Намунаи посух
[
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 12
},
{
"uuid": "xyz789-uvw456-rst123",
"domain": "myapp.io",
"created_at": "2024-06-20T14:15:00Z",
"record_count": 8
}
]
Майдонҳои посух
& Файл
Навъ
& Тасвирот
uuid
string
Unique zone identifier (used in API requests)
domain
string
Domain name for this DNS zone
created_at
datetime
Zone creation timestamp (ISO 8601 format)
record_count
integer
Total number of DNS records in this zone
Рамзҳои ҳолати посух
200
Successfully retrieved DNS zones list
401
Unauthorized - Invalid or missing API token
403
Forbidden - Token lacks dns:list permission
Гирифтани тафсилоти минтақаи DNS
Иттилооти муфассалро дар бораи минтақаи муайяни DNS, аз ҷумла ҳамаи сабтҳо, барқарор кунед.
Параметрҳои роҳ
& Параметрҳо
Навъ
Ҳатмӣ
& Тасвирот
uuid
string
Бале
Unique zone identifier
Намунаи посух
{
"uuid": "abc123-def456-ghi789",
"domain": "example.com",
"created_at": "2024-01-15T10:30:00Z",
"record_count": 5,
"records": [
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
}
Рамзҳои ҳолати посух
200
Successfully retrieved zone details
404
Zone not found or not owned by user
Сохтани минтақаи DNS
Сохтани минтақаи DNS- и нав барои домен. Минтақаи нав ба VPS.org сервери номҳо фавран ҷойгир карда мешавад.
Дархости параметрҳои бадан
& Параметрҳо
Навъ
Ҳатмӣ
& Тасвирот
domain
string
Бале
Domain name (e.g., 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": "newdomain.com"}'
& Нусха бардоштан
import requests
url = "https://admin.vps.org/api/v1/dns-zones/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {"domain": "newdomain.com"}
response = requests.post(url, headers=headers, json=data)
print(response.json())
& Нусха бардоштан
const response = await fetch('https://admin.vps.org/api/v1/dns-zones/', {
method: 'POST',
headers: {
'Authorization': 'Bearer YOUR_API_TOKEN',
'Content-Type': 'application/json'
},
body: JSON.stringify({domain: 'newdomain.com'})
});
const zone = await response.json();
console.log(zone);
& Нусха бардоштан
Намунаи посух
{
"uuid": "new-zone-uuid",
"domain": "newdomain.com",
"created_at": "2026-01-18T16:45:00Z",
"record_count": 0,
"records": []
}
Рамзҳои ҳолати посух
201
DNS zone created successfully
400
Bad Request - Invalid domain name or zone already exists
403
Forbidden - Token lacks dns:create permission
Нобуд кардани минтақаи DNS
Нобуд кардани минтақаи DNS ва ҳамаи сабтҳои алоқаманд. Ин амал барҳам дода намешавад.
Параметрҳои роҳ
& Параметрҳо
Навъ
Ҳатмӣ
& Тасвирот
uuid
string
Бале
Unique zone identifier
Рамзҳои ҳолати посух
204
Zone deleted successfully (no response body)
403
Forbidden - Token lacks dns:delete permission
404
Zone not found
Рӯйхати қайдоти DNS дар минтақа
Гирифтани ҳамаи қайдоти DNS барои минтақаи муайян (роҳчаи дарунсохт).
Параметрҳои роҳ
& Параметрҳо
Навъ
Ҳатмӣ
& Тасвирот
uuid
string
Бале
Zone UUID
Намунаи дархост
curl -X GET "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN"
Намунаи посух
[
{
"uuid": "rec-001",
"record_type": "A",
"name": "@",
"value": "192.0.2.1",
"ttl": 3600,
"priority": null,
"created_at": "2024-01-15T10:30:00Z"
},
{
"uuid": "rec-002",
"record_type": "MX",
"name": "@",
"value": "mail.example.com",
"ttl": 3600,
"priority": 10,
"created_at": "2024-01-15T10:32:00Z"
}
]
Сохтани қайдоти DNS дар минтақа
Иловакунии қайдоти DNS- и нав ба минтақаи муайян (роҳчаи дарунсохт).
Дархости параметрҳои бадан
& Параметрҳо
Навъ
Ҳатмӣ
& Тасвирот
record_type
string
Бале
Record type: A, AAAA, CNAME, MX, TXT, NS, SRV, CAA
name
string
Бале
Record name (@ for root, subdomain, or FQDN)
value
string
Бале
Record value (IP address, hostname, text)
ttl
integer
No
Time to live in seconds (default: 3600)
priority
integer
For MX/SRV
Priority (required for MX and SRV records)
Намунаи дархост
curl -X POST "https://admin.vps.org/api/v1/dns-zones/{uuid}/records/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}'
& Нусха бардоштан
import requests
url = f"https://admin.vps.org/api/v1/dns-zones/{zone_uuid}/records/"
headers = {
"Authorization": "Bearer YOUR_API_TOKEN",
"Content-Type": "application/json"
}
data = {
"record_type": "A",
"name": "www",
"value": "192.0.2.1",
"ttl": 3600
}
response = requests.post(url, headers=headers, json=data)
print(response.json())
& Нусха бардоштан
Рамзҳои ҳолати посух
201
DNS record created successfully
400
Bad Request - Invalid parameters or validation error (e.g., MX record missing priority)
Идоракунии сабтҳои DNS (дастрасии бевосита)
Оператсияҳои CRUD-и пурра дар қайдҳои DNS-и инфиродӣ бо истифодаи UUID-и сабт.
Амалиёти дастрас
GET /api/v1/dns-records/{uuid}/ - Retrieve record details
PUT /api/v1/dns-records/{uuid}/ - Full update (all fields required)
PATCH /api/v1/dns-records/{uuid}/ - Partial update (only changed fields)
DELETE /api/v1/dns-records/{uuid}/ - Delete record
Параметрҳои пурсиш (барои GET /api/v1/dns-records/)
Parameter
Навъ
& Тасвирот
zone
string
Filter records by zone UUID
record_type
string
Filter by record type (A, AAAA, MX, etc.)
Намуна: Навсозии TTL- и сабт
curl -X PATCH "https://admin.vps.org/api/v1/dns-records/{rec-uuid}/" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"ttl": 1800}'
Supported DNS Record Types
Навъ
Purpose
Example Value
Priority Required
A
Maps domain to IPv4 address
192.0.2.1
& Намоиши хатҳои равон
AAAA
Maps domain to IPv6 address
2001:0db8::1
& Намоиши хатҳои равон
CNAME
Creates alias to another domain
example.com
& Намоиши хатҳои равон
MX
Mail server for domain
mail.example.com
Бале
TXT
Text record (SPF, DKIM, verification)
v=spf1 include:_spf.google.com ~all
& Намоиши хатҳои равон
NS
Nameserver delegation
ns1.example.com
& Намоиши хатҳои равон
SRV
Service location record
10 5060 sip.example.com
Бале
CAA
Certificate authority authorization
0 issue "letsencrypt.org"
& Намоиши хатҳои равон
Беҳтарин амалҳо
Танзимоти TTL
Натиҷа (стабил): 3600- 86400 сония (1- 24 соат)
Пеш аз гузарондан: 300- 600 сония (5- 10 минут) - Уменьшить TTL перед запланированными изменениями
Таҳқиқот: 300- 1800 сония (5- 30 дақиқа) барои санҷиши тезтар
Намунаҳои умумӣ
Домени реша (@): Истифодаи сабтҳои A/AAAA, на CNAME
www зердомен: Истифодаи CNAME барои ишора ба реша ё ҷудо кардани сабти A
Почтаи электронӣ (MX): Ҳамеша дар бар гирифтани аҳамият, рақами поёнтар = аҳамияти баландтар
& CNAME: Наметавонам бо дигар намудҳои сабтҳо барои ҳамон ном якҷоя бошам
Амният
Захираҳои CAA: Муайян кардани CA- ҳое, ки метавонанд сертификатҳоро бароранд
SPF/DKIM/DMARC: Танзимоти аслшиносии почтаи электронӣ барои пешгирии қаллобӣ
Муқаррарӣ Ҳар семоҳа қайдоти DNS- ро баррасӣ кунед, қайдоти истифоданашударо тоза кунед
Коркарди хатогиҳо
Хатогиҳои маъмул
Рамзи вазъият
Хатогӣ
& Ҳал кардан
400
Номи нодурусти домен
Дастрасӣ ба домен аз рӯи қоидаҳои номгузории DNS
400
MX сабт талаботи пешрафт
Дар бар гирифтани priority замина барои сабтҳои MX ва SRV
401
Токенҳои API нодуруст
Санҷиши формати нишона (бо бояд оғоз шавад) vps_)
403
Ҳуқуқи дастрасӣ нест
Эҷоди нишонаи нав бо талабот dns:* & Ҳуқуқи дастрасӣ
404
Файл ёфт нашуд
Тафтиши UUID ва боварӣ ҳосил кунед, ки манбаъи шумо ба ҳисоби шумо тааллуқ дорад
Намунаи ҷавоби хатогӣ
{
"detail": "MX records require a priority value",
"error_code": "validation_error",
"field": "priority"
}
Санҷиши тағйироти DNS
Тафтиши паҳншавии сабт
# Query A record
dig example.com A
# Query specific nameserver
dig @ns1.vps.org example.com
# Query MX records
dig example.com MX
# Check all records
dig example.com ANY
Истифодаи асбобҳои онлайн
whatsmydns.net: Check global DNS propagation
dnschecker.org: Multi-location DNS lookup
mxtoolbox.com: Email-related DNS testing