បង្កើតតំបន់ DNS និងគ្រប់គ្រងកំណត់ត្រារបស់ពួកគេ។ តំបន់ត្រូវបានផ្តល់ជូនដោយ ns1.vps.org, ns2.vps.org និង ns3.vps.org ។
តំបន់មួយមានកំណត់ត្រាសម្រាប់ដែនមួយ. ការផ្លាស់ប្តូររាល់ដែលអ្នកធ្វើតាមរយៈ API ត្រូវបានជំរុញទៅម៉ាស៊ីនបម្រើឈ្មោះ VPS.org ភ្លាមៗ. ដើម្បីបម្រើដែនពីតំបន់ទាំងនេះ, កំណត់ម៉ាស៊ីនបម្រើឈ្មោះរបស់ខ្លួននៅអ្នកចុះបញ្ជីរបស់អ្នកទៅ ns1.vps.org, ns2.vps.org និង ns3.vps.org.
ការផ្លាស់ប្ដូរត្រូវបានរក្សាទុក និងបោះពុម្ពផ្សាយក្នុងជំហានមួយ ៖ ប្រសិនបើម៉ាស៊ីនបម្រើឈ្មោះបដិសេធការផ្លាស់ប្ដូរនោះសំណើនឹងត្រឡប់ ៥០២ ហើយគ្មានអ្វីត្រូវបានរក្សាទុកឡើយ ។ តំបន់មិនអាចត្រូវបានបង្កើតសម្រាប់ដែនដែលគណនីផ្សេងទៀតគ្រប់គ្រងរួចហើយ តំបន់ឪពុក ឬកូនរបស់គណនីផ្សេងទៀត ឬឈ្មោះដែលបានបម្រុងទុក VPS.org ។
សិទ្ធិដែលត្រូវការ:
dns:list (GET), dns:create (POST), dns:update (PUT, PATCH, sync), dns:delete (DELETE), dns:*
ត្រឡប់តំបន់របស់អ្នក ថ្មីបំផុតដំបូង ២៥ ក្នុងមួយទំព័រ ។ កំណត់ហេតុមិនត្រូវបានរួមបញ្ចូលនៅទីនេះទេ ។ យកតំបន់តែមួយដើម្បីយកពួកវា ។
| ប៉ារ៉ាម៉ែត្រ | ប្រភេទ | តម្រូវឲ្យមាន | សេចក្ដីពិពណ៌នា |
|---|---|---|---|
domain |
string | គ្មាន | ត្រឡប់តែតំបន់ដែលមានឈ្មោះដែននេះតែប៉ុណ្ណោះ |
page |
integer | គ្មាន | លេខទំព័រ ចាប់ផ្ដើមនៅ ១ |
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 ពេលវេលាសហគមន៍អន្តរជាតិ) |
record_count |
integer | ចំនួនកំណត់ហេតុក្នុងតំបន់ រួមបញ្ចូលទាំងកំណត់ហេតុ NS បី |
| 200 | ជោគជ័យ |
| 403 | បាត់ ឬមិនត្រឹមត្រូវ API token ឬ 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/ endpoints |
priority |
integer | null | អាទិភាពសម្រាប់កំណត់ហេតុ MX និង SRV បើមិនដូច្នោះទេគឺទទេ |
created_at |
date | កាលបរិច្ឆេទបង្កើតតែប៉ុណ្ណោះ (Y- MM- DD) ដោយគ្មានពេលវេលា |
| 200 | យក ៖ កំណត់ហេតុតំបន់ |
| 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 | គ្មាន | លេខទំព័រ ចាប់ផ្ដើមនៅ ១ |
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 | យក ដាក់ ឬ Patch ៖ កំណត់ហេតុ |
| 204 | បានលុប ។ ការឆ្លើយតបគ្មានតួ ។ |
| 400 | កំហុសធ្វើឲ្យមានសុពលភាព |
| 403 | កំណត់ហេតុគឺជាកំណត់ហេតុប្រព័ន្ធ ឬតួអក្សរខ្វះសិទ្ធិដែលត្រូវការ |
| 404 | រកមិនឃើញ ឬវាជារបស់គណនីផ្សេង |
កំហុសធ្វើឲ្យមានសុពលភាពត្រឡប់ ៤០០ ជាមួយបញ្ហាដែលបានគូសដោយឈ្មោះវាល ៖
{
"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