VPS.org API

ឯកសារ REST API

ដែន API

ស្វែងរក​ឈ្មោះ​ដែន​ដែល​មាន ចុះឈ្មោះ និង​ធ្វើ​ឲ្យ​ដែន​ថ្មី និង​គ្រប់គ្រង​ម៉ាស៊ីន​បម្រើ​ឈ្មោះ និង​ការ​ធ្វើ​ឲ្យ​ទាន់សម័យ​ដោយ​ស្វ័យប្រវត្តិ​របស់​ពួក​គេ ។ ដែន​ត្រូវ​បាន​កំណត់​អត្តសញ្ញាណ​ដោយ uuid របស់​ពួក​គេ ។

ចំណុចបញ្ចប់ 7
ផ្លូវមូលដ្ឋាន /api/v1/domains
ទទួលបាន /api/v1/domains/

រាយបញ្ជីដែនទាំងអស់

ត្រឡប់​ដែន​ដែល​បាន​ចុះឈ្មោះ​ក្នុង​គណនី​របស់​អ្នក ២៥ ក្នុង​មួយ​ទំព័រ ។ បញ្ជី​គ្មាន​តម្រង​ទេ ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:list

សំណើឧទាហរណ៍

cURL
Python
JavaScript
curl -X GET "https://admin.vps.org/api/v1/domains/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"
import requests

url = "https://admin.vps.org/api/v1/domains/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.get(url, headers=headers)
for domain in response.json()["results"]:
    print(domain["domain_name"], domain["status"], domain["expiration_date"])
const response = await fetch('https://admin.vps.org/api/v1/domains/', {
  headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' }
});

const data = await response.json();
console.log(data.results);

ឧទាហរណ៍នៃការឆ្លើយតប

{
  "count": 1,
  "next": null,
  "previous": null,
  "results": [
    {
      "uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
      "domain_name": "example.com",
      "status": "active",
      "registrar": "dynadot",
      "registration_date": "2026-01-15T10:30:00Z",
      "expiration_date": "2027-01-15T10:30:00Z",
      "days_until_expiration": 122,
      "is_expired": false,
      "needs_renewal_soon": false,
      "auto_renew": true,
      "renewal_period_years": 1,
      "registration_price": "12.64",
      "renewal_price": "12.64",
      "whois_privacy": true,
      "nameserver1": "ns1.vps.org",
      "nameserver2": "ns2.vps.org",
      "nameserver3": "ns3.vps.org",
      "nameserver4": null,
      "transfer_lock": true,
      "created_at": "2026-01-15T10:30:00Z",
      "updated_at": "2026-09-01T08:12:40Z"
    }
  ]
}

វាលឆ្លើយតប

វាល ប្រភេទ សេចក្ដី​ពិពណ៌នា
uuid string ឧបករណ៍​កំណត់​អត្តសញ្ញាណ​ដែន​ដែល​បាន​ប្រើ​នៅ​ក្នុង​ចំណុច​បញ្ចប់​ដែន​ផ្សេង
status string active, pending, expired, cancelled, transferred
registrar string ចុះឈ្មោះ​ដែន​ដែល​បាន​រក្សា​ទុក​នៅ
registration_date, expiration_date datetime ពេល​ដែន​ត្រូវ​បាន​ចុះឈ្មោះ និង​ពេល​វា​ផុត​កំណត់ ។ expiration_ date អាច​ទទេ ។
days_until_expiration integer | null ថ្ងៃ​ទាំងមូល​រហូត​ដល់​កាលបរិច្ឆេទ​ផុត​កំណត់ អវិជ្ជមាន​នៅពេល​ផុត​កំណត់
is_expired, needs_renewal_soon boolean ថា​តើ​ដែន​បាន​ផុត​កំណត់ និង​ថា​តើ​វា​ផុត​កំណត់​ក្នុង​រយៈពេល ៣០ ថ្ងៃ​បន្ទាប់​ឬ​ទេ
auto_renew, renewal_period_years boolean, integer ថា​តើ​ដែន​ត្រូវ​បាន​ធ្វើ​ឲ្យ​ទាន់សម័យ​ដោយ​ស្វ័យ​ប្រវត្តិ និង​រយៈពេល​ប៉ុន្មាន​ឆ្នាំ
registration_price, renewal_price string តម្លៃ​ក្នុង​ដុល្លារ​អាមេរិក​ជា​ខ្សែអក្សរ​ទសភាគ
whois_privacy, transfer_lock boolean ការ​កំណត់​ភាព​ឯកជន WHOIS និង​ការ​ផ្ទេរ​ចាក់សោ​របស់​អ្នក​ចុះឈ្មោះ
nameserver1 to nameserver4 string | null ម៉ាស៊ីន​បម្រើ​ឈ្មោះ​ដែន
created_at, updated_at datetime ពេល​កំណត់​ហេតុ​ត្រូវ​បាន​បង្កើត និង​ផ្លាស់ប្ដូរ​ចុងក្រោយ (ISO 8601 UTC)
ទទួលបាន /api/v1/domains/{uuid}/

យក​សេចក្ដី​លម្អិត​ដែន

ត្រឡប់​វត្ថុ​ដែន​មួយ​ជាមួយ​វាល​ខាងលើ ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:list

curl -X GET "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/" \
  -H "Authorization: Bearer YOUR_API_TOKEN"

លេខកូដស្ថានភាពឆ្លើយតប

200 ជោគជ័យ
404 រក​មិន​ឃើញ ឬ​វា​ជា​របស់​គណនី​ផ្សេង
ផ្ញើ​សារ /api/v1/domains/search/

រក​មើល​ដែន​ដែល​មាន

ពិនិត្យ​មើល​ថា​តើ​ឈ្មោះ​អាច​ប្រើ​បាន​នៅ​លើ​ផ្នែក​បន្ថែម​ដែល​ពេញ​និយម​ចំនួន ២០ (com, net, org, io, dev, co, app, ai និង​ច្រើន​ទៀត) បន្ថែម​ផ្នែក​បន្ថែម​ដែល​អ្នក​បាន​វាយ​ប្រសិន​បើ​វា​មិន​នៅ​ក្នុង​ចំណោម​ពួក​វា ។ លទ្ធផល​ចាប់ផ្ដើម​ដោយ​ការ​ផ្គូផ្គង​ជាក់លាក់ បន្ទាប់​មក​ឈ្មោះ​ដែល​អាច​ប្រើ​បាន បន្ទាប់​មក​ឈ្មោះ​ដែល​បាន​យក ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:search

ស្នើសុំប៉ារ៉ាម៉ែត្រតួ

ប៉ារ៉ាម៉ែត្រ ប្រភេទ តម្រូវឲ្យមាន សេចក្ដី​ពិពណ៌នា
domain string បាទ/ចាស៎ ឈ្មោះ​ដែល​មាន ឬ​គ្មាន​ផ្នែក​បន្ថែម ឧទាហរណ៍ mysite ឬ mysite. com (២ ទៅ ៦៣ តួអក្សរ)

សំណើឧទាហរណ៍

cURL
Python
curl -X POST "https://admin.vps.org/api/v1/domains/search/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.com"}'
import requests

url = "https://admin.vps.org/api/v1/domains/search/"
headers = {"Authorization": "Bearer YOUR_API_TOKEN"}

response = requests.post(url, headers=headers, json={"domain": "mysite.com"})
for result in response.json()["results"]:
    if result["available"]:
        print(result["domain"], result["registration_price"], result["renewal_price"])

ឧទាហរណ៍នៃការឆ្លើយតប

{
  "results": [
    {
      "domain": "mysite.com",
      "available": false,
      "price": null,
      "registration_price": null,
      "renewal_price": null,
      "tld": "com",
      "is_exact_match": true
    },
    {
      "domain": "mysite.dev",
      "available": true,
      "price": 17.24,
      "registration_price": 17.24,
      "renewal_price": 17.24,
      "tld": "dev",
      "is_exact_match": false
    }
  ],
  "base_domain": "mysite",
  "search_count": 20
}

តម្លៃគឺចំនួនក្នុងដុល្លារអាមេរិកសម្រាប់មួយឆ្នាំនិងគឺគ្មានសម្រាប់ឈ្មោះដែលមិនអាចរកបាន។ តម្លៃដែលបង្ហាញគឺបង្ហាញ។

លេខកូដស្ថានភាពឆ្លើយតប

200 ជោគជ័យ
400 បាត់​ដែន ឬ​វា​មាន​តួអក្សរ​ផ្សេង​ពី​អក្សរ លេខ និង​សញ្ញា​ក្បៀស
500 ការ​ស្វែងរក​អ្នក​ចុះឈ្មោះ​បាន​បរាជ័យ ។ ព្យាយាម​ម្ដង​ទៀត​ពេល​ក្រោយ ។
ផ្ញើ​សារ /api/v1/domains/register/

ចុះឈ្មោះដែនថ្មី

ចុះឈ្មោះ​ដែន​មួយ និង​គិត​ថ្លៃ​វិធី​បង់​ប្រាក់​ដែល​បាន​រក្សា​ទុក​របស់​អ្នក ។ ភាព​អាច​រក​បាន និង​តម្លៃ​ត្រូវ​បាន​ពិនិត្យ​ជាមួយ​អ្នក​ចុះ​ឈ្មោះ​ម្តង​ទៀត​មុន​ពេល​គិត​ថ្លៃ ។ ព័ត៌មាន​លម្អិត​ទំនាក់ទំនង​របស់​អ្នក​ចុះ​ឈ្មោះ​ត្រូវ​បាន​យក​ពី​ទម្រង់​គណនី​របស់​អ្នក ។ ប្រសិន​បើ​អ្នក​ចុះ​ឈ្មោះ​បដិសេធ​ការ​ចុះ​ឈ្មោះ​បន្ទាប់​ពី​គិត​ថ្លៃ ការ​បង់​ប្រាក់​ត្រូវ​បាន​សង ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:register (បានផ្តល់ដោយដែន ៖ *)

ស្នើសុំប៉ារ៉ាម៉ែត្រតួ

ប៉ារ៉ាម៉ែត្រ ប្រភេទ តម្រូវឲ្យមាន សេចក្ដី​ពិពណ៌នា
domain string បាទ/ចាស៎ ឈ្មោះ​ដែន​ពេញលេញ​រួម​បញ្ចូល​ទាំង​ផ្នែក​បន្ថែម​របស់​វា ឧទាហរណ៍ example. com
years integer គ្មាន រយៈពេលចុះឈ្មោះ, 1 ទៅ 10 (លំនាំដើម 1) ។ តម្លៃគឺតម្លៃប្រចាំឆ្នាំដងឆ្នាំ។.ai ត្រូវការយ៉ាងហោចណាស់2ឆ្នាំ; តម្លៃតូចមួយត្រឡប់ 400 ។
curl -X POST "https://admin.vps.org/api/v1/domains/register/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"domain": "mysite.dev", "years": 1}'

ឧទាហរណ៍នៃការឆ្លើយតប

{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "domain_name": "mysite.dev",
  "message": "mysite.dev registered successfully!"
}

លេខកូដស្ថានភាពឆ្លើយតប

201 បាន​ចុះឈ្មោះ​ដែន
400 ដែន​មិន​ត្រឹមត្រូវ ដែន​មិន​អាច​ប្រើ​បាន​ទៀត​ទេ តម្លៃ​មិន​អាច​ត្រូវ​បាន​ផ្ទៀងផ្ទាត់ វិធី​បង់​ប្រាក់​ចាស់ ឬ​ការ​បង់​ប្រាក់​បាន​បរាជ័យ
402 គ្មាន​វិធីសាស្ត្រ​បង់​ប្រាក់​នៅ​លើ​ឯកសារ ឬ​គណនី​ដែល​មិន​បាន​បង់
500 ការទូទាត់មិនអាចត្រូវបានដំណើរការឬអ្នកចុះឈ្មោះបានបដិសេធការចុះឈ្មោះបន្ទាប់ពីការទូទាត់។ ក្នុងករណីទីពីរសារកំហុសនិយាយថាតើការសងប្រាក់បានទៅតាមរយៈ។
ផ្ញើ​សារ /api/v1/domains/{uuid}/renew/

ធ្វើ​ឲ្យ​ដែន​ទាន់សម័យ

ធ្វើ​ឲ្យ​ដែន​ថ្មី និង​គិត​ថ្លៃ​តម្លៃ​ថ្មី​របស់​វា​សម្រាប់​ឆ្នាំ​នីមួយៗ​ទៅ​វិធី​បង់​ប្រាក់​ដែល​បាន​រក្សា​ទុក​របស់​អ្នក ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:renew

ស្នើសុំប៉ារ៉ាម៉ែត្រតួ

ប៉ារ៉ាម៉ែត្រ ប្រភេទ តម្រូវឲ្យមាន សេចក្ដី​ពិពណ៌នា
years integer គ្មាន ឆ្នាំ​ដែល​ត្រូវ​បន្ថែម ១ ទៅ ១០ (លំនាំដើម ១)
curl -X POST "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"years": 1}'
{
  "success": true,
  "domain_uuid": "e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c",
  "new_expiration": "2028-01-15T10:30:00+00:00",
  "message": "example.com renewed successfully for 1 year(s)!"
}

លេខកូដស្ថានភាពឆ្លើយតប

200 បាន​ធ្វើ​ឲ្យ​ដែន​ទាន់សម័យ
400 ឆ្នាំ​មិន​ត្រឹមត្រូវ គ្មាន​តម្លៃ​ធ្វើ​ឲ្យ​ប្រសើរ​សម្រាប់​ដែន គ្មាន​វិធីសាស្ត្រ​បង់​ប្រាក់​ដែល​អាច​ប្រើ​បាន ឬ​ការ​បង់​ប្រាក់​បាន​បរាជ័យ
404 រក​មិន​ឃើញ ឬ​វា​ជា​របស់​គណនី​ផ្សេង
500 ការ​ទូទាត់​មិន​អាច​ត្រូវ​បាន​ដំណើរការ​ទេ ឬ​ការ​ទូទាត់​បាន​ទៅ​តាម​រយៈ​ប៉ុន្តែ​ការ​ធ្វើ​ឲ្យ​ប្រសើរ​ឡើង​របស់​អ្នក​ចុះឈ្មោះ​បាន​បរាជ័យ ។ ទាក់ទង​ការ​គាំទ្រ​ក្នុង​ករណី​នោះ ។
PUT /api/v1/domains/{uuid}/nameservers/

ធ្វើ​ឲ្យ​ម៉ាស៊ីន​បម្រើ​ឈ្មោះ​ទាន់សម័យ

កំណត់​ម៉ាស៊ីន​បម្រើ​ឈ្មោះ​ដែន​នៅ​អ្នក​ចុះឈ្មោះ​និង​ត្រឡប់​វត្ថុ​ដែន​ដែល​បាន​ធ្វើ​ឲ្យ​ទាន់សម័យ ។ ដើម្បី​គ្រប់គ្រង DNS ជាមួយ​នឹង API DNS ប្រើ ns1.vps.org, ns2.vps.org និង ns3.vps.org និង​បង្កើត​តំបន់​សម្រាប់​ដែន ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:update

ស្នើសុំប៉ារ៉ាម៉ែត្រតួ

ប៉ារ៉ាម៉ែត្រ ប្រភេទ តម្រូវឲ្យមាន សេចក្ដី​ពិពណ៌នា
nameserver1 string បាទ/ចាស៎ ឈ្មោះ​ម៉ាស៊ីន​បម្រើ​ឈ្មោះ​ចម្បង
nameserver2, nameserver3, nameserver4 string គ្មាន ឈ្មោះ​ម៉ាស៊ីន​បម្រើ​ឈ្មោះ​បន្ថែម
curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/nameservers/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"nameserver1": "ns1.vps.org", "nameserver2": "ns2.vps.org", "nameserver3": "ns3.vps.org"}'

លេខកូដស្ថានភាពឆ្លើយតប

200 ម៉ាស៊ីន​បម្រើ​ឈ្មោះ​បាន​ធ្វើ​ឲ្យ​ទាន់សម័យ តួ​គឺ​វត្ថុ​ដែន
400 បាត់​ម៉ាស៊ីន​បម្រើ​ឈ្មោះ ១
404 រក​មិន​ឃើញ ឬ​វា​ជា​របស់​គណនី​ផ្សេង
500 ការ​ធ្វើ​ឲ្យ​ទាន់សម័យ​បាន​បរាជ័យ តួ​មាន​កំហុស និង​វាល​សារ
PUT /api/v1/domains/{uuid}/auto-renew/

បិទ ឬ​បើក​ការ​ធ្វើ​ឲ្យ​ទាន់សម័យ​ដោយ​ស្វ័យ​ប្រវត្តិ

កំណត់ auto_renew និង​ត្រឡប់​វត្ថុ​ដែន​ដែល​បាន​ធ្វើ​ឲ្យ​ទាន់សម័យ ។ ផ្ញើ​បាន​អនុញ្ញាត​ជា​ប៊ូលីន JSON ៖ ខ្សែអក្សរ​មិន​ទទេ​ណាមួយ រួម​បញ្ចូល​ខ្សែអក្សរ​មិន​ពិត បើក​ការ​ធ្វើ​ឲ្យ​ទាន់សម័យ​ដោយ​ស្វ័យ​ប្រវត្តិ ។

សិទ្ធិ​ដែល​ត្រូវការ: domains:update

curl -X PUT "https://admin.vps.org/api/v1/domains/e4b7a2c9-1d3f-4e5a-8b6c-7d8e9f0a1b2c/auto-renew/" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"enabled": false}'

លេខកូដស្ថានភាពឆ្លើយតប

200 ការ​កំណត់​បាន​រក្សាទុក តួ​គឺ​ជា​វត្ថុ​ដែន
400 បាត់​ការ​អនុញ្ញាត
404 រក​មិន​ឃើញ ឬ​វា​ជា​របស់​គណនី​ផ្សេង

ចំណាំ