VPS.org API

เอกสาร REST API

โดเมน

ค้นหาชื่อโดเมนที่ใช้ได้, ลงทะเบียนและปรับปรุงโดเมน, และจัดการชื่อเซิร์ฟเวอร์และปรับปรุงอัตโนมัติของโดเมน โดเมนจะถูกระบุด้วย uuid ของมัน

จุดสิ้นสุด 7
เส้นทางฐาน /api/v1/domains
รับ /api/v1/domains/

แสดงรายการโดเมนทั้งหมด

แสดงรายการโดเมนที่จดทะเบียนในบัญชีผู้ใช้ของคุณ จำนวน 25 รายการต่อหน้า รายการนี้ไม่มีตัวกรอง

ต้องการสิทธิ์: 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 ว่าโดเมนนั้นหมดอายุแล้วหรือไม่ และจะหมดอายุภายใน 30 วัน
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}/

ดึงรายละเอียดของโดเมน

คืนค่ากลับมาเป็น 1 โดเมน ด้วยช่องข้อมูลที่อยู่ด้านบน

ต้องการสิทธิ์: 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/

หาที่อยู่ของโดเมน

ตรวจสอบว่าชื่อนั้นมีอยู่หรือไม่ ระหว่างส่วนขยายที่นิยมใช้กันอย่างน้อย 20 ส่วน (com, net, org, io, dev, co, app, ai และอื่น ๆ) รวมถึงส่วนขยายที่คุณพิมพ์ไว้ หากมันไม่อยู่ในนั้น ผลลัพธ์จะเริ่มด้วยการค้นหาที่ตรงกับชื่อ ตามด้วยชื่อที่มีอยู่ และชื่อที่ใช้อยู่

ต้องการสิทธิ์: domains:search

พารามิเตอร์เนื้อหาคำขอ

พารามิเตอร์ พิมพ์ ที่จำเป็น คำอธิบาย
domain string ใช่ ชื่อที่มีหรือไม่มีส่วนขยาย เช่น mysite หรือ mysite. com (2 ถึง 63 อักขระ)

ตัวอย่างคำขอ

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 การชำระเงินไม่สามารถดำเนินการได้ หรือเจ้าหน้าที่ของหน่วยงานที่รับจดทะเบียนปฏิเสธการจดทะเบียนหลังจากชำระเงิน กรณีที่2ข้อความข้อผิดพลาดจะบอกว่า การคืนเงินนั้นผ่านไปหรือไม่
ข้อความ /api/v1/domains/{uuid}/renew/

ปรับปรุงโดเมน

ปรับปรุงโดเมนและเรียกค่าใช้จ่าย renovate_ price ทุกปี ด้วยวิธีชำระเงินที่คุณบันทึกไว้

ต้องการสิทธิ์: domains:renew

พารามิเตอร์เนื้อหาคำขอ

พารามิเตอร์ พิมพ์ ที่จำเป็น คำอธิบาย
years integer ไม่มี ปีที่จะบวกเข้าไป 1 ถึง 10 (ค่าปริยายคือ 1)
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 หายไป nameserver1
404 ไม่พบหรือว่าเป็นของบัญชีผู้ใช้อื่น
500 การปรับปรุงล้มเหลว เนื่องจากมีข้อผิดพลาดและช่องข้อความในส่วนตัวอักษร
PUT /api/v1/domains/{uuid}/auto-renew/

เปิดหรือปิดการปรับปรุงอัตโนมัติ

ตั้งค่า auto_ renew และส่งผลลัพธ์ของโดเมนที่ปรับปรุงใหม่มาให้ หากส่งเป็นบูเลียน JSON: ข้อความที่ไม่ว่าง เช่นข้อความ false จะเปิดการปรับปรุงอัตโนมัติ

ต้องการสิทธิ์: 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 ไม่พบหรือว่าเป็นของบัญชีผู้ใช้อื่น

ข้อความ