VPS.org API

ເອກະສານ REST API

API ການຈັດການ DNS

ຈັດການເຂດ DNS ແລະບັນທຶກໂດຍການຂຽນໂປຣແກຣມສຳລັບໂດເມນຂອງທ່ານ.

ຈຸດສິ້ນສຸດ 4 ຈຸດສິ້ນສຸດ
ເສັ້ນທາງພື້ນຖານ /api/v1/dns-zones
ການພິສູດຢືນຢັນຕົວຕົນ ຕ້ອງການ​ໂຕກັ່ນ​ຜູ້​ຖື

ພາບລວມ

DNS API ສະຫນອງການບໍລິຫານເຕັມຂອງເຂດ DNS ແລະບັນທຶກ. ເຂດທັງຫມົດແມ່ນຈັດຂຶ້ນໃນ VPS.org ຂອງຊື່ເຊີບເວີທີ່ມີສິດອໍານາດທີ່ມີການສ້າງແລະນໍາໃຊ້ໄຟລ໌ເຂດ BIND9 ໂດຍອັດຕະໂນມັດ.

ໂຄງສ້າງ​ພື້ນຖານ​ຂອງ​ម៉ាស៊ីន​បម្រើ​ຊື່

ຄຸນ​ສົມບັດ​ຫຼັກ

ການພິສູດຢືນຢັນຕົວຕົນ

ຄໍາຮ້ອງຂໍ API DNS ທັງຫມົດຕ້ອງການການຢັ້ງຢືນ Token Bearer. ສ້າງ Tokens API ຈາກ dashboard ຂອງບັນຊີຂອງທ່ານທີ່ /account/developers/ ທີ່ມີສິດດັ່ງຕໍ່ໄປນີ້:

ຕົວຢ່າງ

Authorization: Bearer vps_abc123def456...
សំខាន់: API tokens ຖືກສະແດງພຽງແຕ່ຄັ້ງດຽວ ໃນລະຫວ່າງການສ້າງ. ເກັບພວກມັນໄວ້ຢ່າງປອດໄພ. ຖ້າທ່ານສູນເສຍ token, ທ່ານຕ້ອງສ້າງ token ໃຫມ່.
ຮັບ /api/v1/dns-zones/

ລາຍຊື່ເຂດ DNS ທັງໝົດ

ເກັບ​ລາຍຊື່​ທີ່​ມີ​ໜ້າ ຂອງ​ເຂດ DNS ທັງໝົດ​ທີ່​ເປັນ​ຂອງ​ຜູ້​ໃຊ້​ທີ່​ໄດ້​ຮັບ​ການ​ຢັ້ງຢືນ. ສະໜັບສະໜູນ​ການ​ກັ່ນຕອງ​ໂດຍ​ຊື່​ໂດເມນ.

ພາລາມິເຕີການສອບຖາມ

ຕົວ​ເລືອກ​ ປະເພດ ຕ້ອງມີການ ຄໍາອະທິບາຍ
domain string ​ບໍ່ Filter zones by exact domain name (e.g., example.com)

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
JavaScript
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
ຮັບ /api/v1/dns-zones/{uuid}/

ເອົາ​ລາຍລະອຽດ​ຂອງ​ເຂດ 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
ສົ່ງ /api/v1/dns-zones/

ສ້າງ​ເຂດ DNS

ສ້າງ​ເຂດ DNS ໃຫມ່​ສໍາລັບ​ໂດເມນ. ເຂດຈະ​ຖືກ​ເປີດ​ໃຊ້​ທັນທີ​ທີ່ VPS.org ຊື່​ເຊີບເວີ.

ຮ້ອງຂໍພາລາມິເຕີຂອງຮ່າງກາຍ

ຕົວ​ເລືອກ​ ປະເພດ ຕ້ອງມີການ ຄໍາອະທິບາຍ
domain string ແມ່ນແລ້ວ Domain name (e.g., example.com)

ຕົວຢ່າງການຮ້ອງຂໍ

cURL
Python
JavaScript
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
ລຶບ /api/v1/dns-zones/{uuid}/

ເອົາ​ເຂດ DNS ອອກ

ລຶບ​ເຂດ DNS ແລະ ບັນທຶກ​ທີ່​ກ່ຽວຂ້ອງ​ທັງ​ໝົດ​ອອກ​ເປັນ​ນິຕິບຸກຄົນ & # 160; ។ ການກະທຳ​ນີ້​ບໍ່​ສາມາດ​ບໍ່​ເຮັດ​ຄືນ​ໄດ້ & # 160; ។

ພາລາມິເຕີເສັ້ນທາງ

ຕົວ​ເລືອກ​ ປະເພດ ຕ້ອງມີການ ຄໍາອະທິບາຍ
uuid string ແມ່ນແລ້ວ Unique zone identifier

ລະຫັດສະຖານະການຕອບສະໜອງ

204 Zone deleted successfully (no response body)
403 Forbidden - Token lacks dns:delete permission
404 Zone not found
ຮັບ /api/v1/dns-zones/{uuid}/records/

ລາຍ​ຊື່​ບັນທຶກ 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"
  }
]
ສົ່ງ /api/v1/dns-zones/{uuid}/records/

ສ້າງ​ບັນທຶກ 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
Python
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)
GET PUT PATCH DELETE /api/v1/dns-records/{uuid}/

ຈັດການບັນທຶກ DNS (ເຂົ້າໃຊ້ໂດຍກົງ)

ປະຕິບັດການ CRUD ເຕັມ ໃສ່ບັນທຶກ DNS ແຕ່ລະອັນ ໂດຍໃຊ້ UUID ບັນທຶກ.

ປະຕິບັດການ​ທີ່​ມີ

ຄໍາຖາມປາຣາມເຕີ (ສໍາລັບ 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

ແບບ​ແບບ​ທົ່ວໄປ

ຄວາມປອດໄພ

ການ​ຈັດການ​ຂໍ້​ຜິດພາດ

ຂໍ້ຜິດພາດ​ທົ່ວໄປ

ລະຫັດສະຖານະ ​កំហុស ວິທີແກ້ໄຂ
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

ການນໍາໃຊ້​ເຄື່ອງມື​ອອນລາຍ