ทุกอย่างที่ทำได้ในแดชบอร์ดบนเว็บ (เพิ่มและลบโดเมน จัดการเรคคอร์ด DNS) ก็ใช้งานผ่านโปรแกรมได้ด้วย REST API
ทุก endpoint รับและส่งข้อมูลเป็น JSON การยืนยันตัวตนต้องใช้ API Key (ดูด้านล่าง) ขณะนี้ยังไม่มีการแบ่งหน้าและยังไม่จำกัดจำนวนคำขอ
https://ns.nrnic.com/api
คุณสร้าง API Key ได้จากตั้งค่าบัญชี คีย์ที่สร้างใหม่จะแสดงเพียงครั้งเดียว กรุณาบันทึกไว้ในที่ปลอดภัย
ใส่ header Authorization ต่อไปนี้ในทุกคำขอ:
Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
เมื่อเกิดข้อผิดพลาด ระบบจะตอบกลับด้วยรหัสสถานะ HTTP ที่เหมาะสม (401/404/409/422/500 เป็นต้น) และ JSON ในรูปแบบต่อไปนี้
{
"error": {
"code": "domain_not_found",
"message": "Domain not found."
}
}
| เมธอด | พาธ | คำอธิบาย |
|---|---|---|
| GET | /api/domains | แสดงรายการโดเมนของผู้ใช้ที่ยืนยันตัวตนแล้ว |
| POST | /api/domains | เพิ่มโดเมน |
| GET | /api/domains/{id} | ดูรายละเอียดโดเมน รวมสถานะการซิงก์ NS และการมอบหมาย |
| DELETE | /api/domains/{id} | ลบโดเมน |
| POST | /api/domains/{id}/resync | ส่งโซน DNS ไปยังเนมเซิร์ฟเวอร์ทั้งหมด (ns1–ns4) อีกครั้ง |
| POST | /api/domains/{id}/delegation-check | ตรวจสอบว่าโดเมนถูกมอบหมายให้ NRNIC แล้วหรือยัง |
| GET | /api/domains/{id}/records | แสดงรายการเรคคอร์ด DNS ของโดเมน |
| POST | /api/domains/{id}/records | เพิ่มเรคคอร์ด DNS |
| PUT | /api/domains/{id}/records/{record_id} | อัปเดตเรคคอร์ด DNS |
| DELETE | /api/domains/{id}/records/{record_id} | ลบเรคคอร์ด DNS |
# แสดงรายการโดเมนของผู้ใช้ที่ยืนยันตัวตนแล้วcurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# เพิ่มโดเมนcurl -s https://ns.nrnic.com/api/domains \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"fqdn": "example.com"}'
# ลบโดเมนcurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
# เพิ่มเรคคอร์ด DNScurl -s https://ns.nrnic.com/api/domains/123/records \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"type": "A", "name": "@", "content": "192.0.2.1", "ttl": 3600}'
# อัปเดตเรคคอร์ด DNScurl -s -X PUT https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"type": "A", "name": "@", "content": "192.0.2.2", "ttl": 3600}'
# ลบเรคคอร์ด DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
-H "Authorization: Bearer nrnic_xxxxxxxx"
| type | ประเภทเรคคอร์ด ได้แก่ A, AAAA, CNAME, MX, TXT, NS, SRV, CAA อย่างใดอย่างหนึ่ง |
| name | ชื่อโฮสต์ (ส่วนซับโดเมน) ใช้ "@" สำหรับจุดยอดของโซน |
| content | ค่าของเรคคอร์ด (เช่น ที่อยู่ IP หรือชื่อโฮสต์ปลายทาง) |
| ttl | TTL เป็นวินาที ช่วง 60–604800 หากไม่ระบุจะใช้ค่าเริ่มต้น 3600 |
| priority | ลำดับความสำคัญของเรคคอร์ด MX/SRV (0–65535) |
| weight | น้ำหนักของเรคคอร์ด SRV (0–65535) |
| port | หมายเลขพอร์ตของเรคคอร์ด SRV (0–65535) |