NRNIC API

Mọi thao tác bạn có thể thực hiện trên bảng điều khiển web (thêm và xóa tên miền, quản lý bản ghi DNS) đều có thể thực hiện bằng lập trình thông qua REST API.

Tổng quan

Tất cả các endpoint đều nhận và trả về JSON. Xác thực yêu cầu khóa API (xem bên dưới). Hiện chưa có phân trang và chưa giới hạn tần suất yêu cầu.

URL gốc

https://ns.nrnic.com/api

Xác thực

Bạn có thể tạo khóa API tại Cài đặt tài khoản. Khóa vừa tạo chỉ hiển thị một lần, vì vậy hãy lưu lại ở nơi an toàn.

Hãy thêm header Authorization sau vào mọi yêu cầu:

Authorization: Bearer nrnic_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Lưu ý về bảo mật

Hãy bảo quản khóa API như mật khẩu. Tuyệt đối không đưa lên kho mã công khai hoặc nhúng vào JavaScript phía client — chỉ sử dụng trong mã phía máy chủ. Nếu khóa bị lộ, hãy thu hồi ngay trong phần cài đặt tài khoản và tạo khóa mới.

Phản hồi lỗi

Khi có lỗi, phản hồi sẽ dùng mã trạng thái HTTP phù hợp (401/404/409/422/500, v.v.) cùng cấu trúc JSON sau.

{
  "error": {
    "code": "domain_not_found",
    "message": "Domain not found."
  }
}

Danh sách endpoint

Phương thức Đường dẫn Mô tả
GET/api/domainsLiệt kê các tên miền của người dùng đã xác thực
POST/api/domainsThêm tên miền
GET/api/domains/{id}Lấy thông tin tên miền, gồm trạng thái đồng bộ NS và ủy quyền
DELETE/api/domains/{id}Xóa tên miền
POST/api/domains/{id}/resyncGửi lại vùng DNS tới tất cả nameserver (ns1–ns4)
POST/api/domains/{id}/delegation-checkKiểm tra tên miền đã được ủy quyền cho NRNIC hay chưa
GET/api/domains/{id}/recordsLiệt kê các bản ghi DNS của tên miền
POST/api/domains/{id}/recordsThêm bản ghi DNS
PUT/api/domains/{id}/records/{record_id}Cập nhật bản ghi DNS
DELETE/api/domains/{id}/records/{record_id}Xóa bản ghi DNS

Ví dụ

Tên miền

# Liệt kê các tên miền của người dùng đã xác thựccurl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

# Thêm tên miềncurl -s https://ns.nrnic.com/api/domains \
  -H "Authorization: Bearer nrnic_xxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"fqdn": "example.com"}'

# Xóa tên miềncurl -s -X DELETE https://ns.nrnic.com/api/domains/123 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

Bản ghi DNS

# Thêm bản ghi 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}'

# Cập nhật bản ghi 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}'

# Xóa bản ghi DNScurl -s -X DELETE https://ns.nrnic.com/api/domains/123/records/456 \
  -H "Authorization: Bearer nrnic_xxxxxxxx"

Các trường của bản ghi DNS

typeLoại bản ghi. Một trong các giá trị A, AAAA, CNAME, MX, TXT, NS, SRV, CAA.
nameTên máy chủ (phần tên miền phụ). Dùng "@" cho gốc vùng.
contentGiá trị của bản ghi (địa chỉ IP, tên máy chủ đích, v.v.).
ttlTTL tính bằng giây, từ 60 đến 604800. Mặc định là 3600 nếu bỏ qua.
priorityĐộ ưu tiên của bản ghi MX/SRV (0–65535).
weightTrọng số của bản ghi SRV (0–65535).
portSố cổng của bản ghi SRV (0–65535).