Quản lý Tên miền

Quản lý Tên miền: Danh sách, Thông tin chi tiết, Tra cứu, Kiểm tra, Quản lý

Tổng quan

Quản lý Tên miền: Danh sách, Thông tin chi tiết, Tra cứu, Kiểm tra, Quản lý

  • Danh sách: Danh sách DNS records, Danh sách tên miền, Lịch sử thao tác tên miền
  • Thông tin chi tiết: Chi tiết tên miền
  • Tra cứu: Danh sách tên miền .vn tự do hàng ngày
  • Kiểm tra: Kiểm tra tên miền khả dụng, Kiểm tra tên miền khả dụng hàng loạt, Kiểm tra trạng thái bản khai của tên miền
  • Quản lý: Cập nhật DNS records, Cập nhật Nameserver
  • Authentication: API key Bearer token qua header Authorization: Bearer YOUR_API_KEY

Base URL: https://developers-dev.inet.vn/api/gateway/v1

Response wrapper: Tất cả response được wrap trong { success, data, meta }. Response schema bên dưới mô tả nội dung field data. Xem chi tiết tại Response Format.


Danh sách

Danh sách DNS records

GET /domain/{domainId}/record

Lấy danh sách DNS records của tên miền có hỗ trợ phân trang.

Tham sốVị tríKiểuBắt buộcMô tả
domainIdpathintegerID tên miền
pagequeryintegerKhôngSố trang (bắt đầu từ 1)
pageSizequeryintegerKhôngSố bản ghi mỗi trang
qquerystringKhôngTìm kiếm theo tên record (vd: www, _dmarc)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/{domainId}/record"

Response

JSON
{
  "size": 1,
  "number": 1,
  "content": [
    {
      "id": 1,
      "ttl": 1,
      "data": "1.2.3.4",
      "name": "@",
      "type": "example_type",
      "dClass": "example_dClass",
      "domainId": 1,
      "priority": 1,
      "createdDate": "example_createdDate"
    }
  ],
  "totalPages": 1,
  "totalElements": 1,
  "numberOfElements": 1
}
TrườngKiểuMô tả
sizeintegerSố bản ghi mỗi trang
numberintegerTrang hiện tại (0-based)
contentarrayDanh sách DNS records
content[].idintegerID record
content[].ttlintegerTTL (giây)
content[].datastringGiá trị record (vd: 1.2.3.4)
content[].namestringTên record (vd: @, www, _dmarc)
content[].typestringLoại: A, AAAA, CNAME, MX, TXT, SRV...
content[].dClassstringDNS class (luôn là IN)
content[].domainIdintegerID tên miền
content[].priorityintegerPriority (chỉ có với MX record)
content[].createdDatestringNgày tạo (dd/MM/yyyy HH:mm)
totalPagesintegerTổng số trang
totalElementsintegerTổng số bản ghi
numberOfElementsintegerSố bản ghi trang hiện tại

Danh sách tên miền

GET /domain

Lấy danh sách tên miền của khách hàng, hỗ trợ phân trang và lọc theo trạng thái, tên miền.

Tham sốVị tríKiểuBắt buộcMô tả
namequerystringKhôngLọc theo tên miền (để trống = tất cả)
statusquerystringKhôngLọc theo trạng thái (vd: active,trial,suspended)
pagequeryintegerKhôngSố trang (bắt đầu từ 1)
pageSizequeryintegerKhôngSố bản ghi mỗi trang
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain"

Response

JSON
{
  "size": 1,
  "number": 1,
  "content": [
    {
      "id": 1,
      "name": "example.vn",
      "status": "example_status",
      "suffix": "vn",
      "contract": "example_contract",
      "issueDate": "example_issueDate",
      "expireDate": "example_expireDate",
      "registrant": "example_registrant",
      "verifyStatus": "example_verifyStatus"
    }
  ],
  "totalPages": 1,
  "totalElements": 1
}
TrườngKiểuMô tả
sizeintegerSố bản ghi mỗi trang
numberintegerTrang hiện tại (0-based)
contentarrayDanh sách tên miền
content[].idintegerID tên miền
content[].namestringTên miền (vd: example.vn)
content[].statusstringTrạng thái: active, expired, trial, suspended
content[].suffixstringĐuôi tên miền (vd: vn)
content[].contractstringTrạng thái hợp đồng: approved, pending
content[].issueDatestringNgày đăng ký (dd/MM/yyyy HH:mm)
content[].expireDatestringNgày hết hạn
content[].registrantstringTên chủ sở hữu
content[].verifyStatusstringTrạng thái xác minh: verified, undefined
totalPagesintegerTổng số trang
totalElementsintegerTổng số bản ghi

Lịch sử thao tác tên miền

GET /domain/{domainId}/log

Lấy lịch sử thay đổi DNS records, cập nhật nameserver và các thao tác khác trên tên miền.

Tham sốVị tríKiểuBắt buộcMô tả
domainIdpathintegerID tên miền
pagequeryintegerKhôngSố trang (bắt đầu từ 1)
pageSizequeryintegerKhôngSố bản ghi mỗi trang
actionNamequerystringKhôngLọc theo loại thao tác (VD: update-record)
fromDatequerystringKhôngTừ ngày (dd/MM/yyyy)
toDatequerystringKhôngĐến ngày (dd/MM/yyyy)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/{domainId}/log"

Response

JSON
{
  "content": [
    {
      "id": 1,
      "actionName": "update-record",
      "createdDate": "example_createdDate",
      "description": "example_description"
    }
  ],
  "totalPages": 1,
  "totalElements": 1
}
TrườngKiểuMô tả
contentarrayDanh sách log
content[].idintegerID log
content[].actionNamestringLoại thao tác (vd: update-record, change-password)
content[].createdDatestringThời gian thực hiện (dd/MM/yyyy HH:mm)
content[].descriptionstringMô tả chi tiết thao tác
totalPagesintegerTổng số trang
totalElementsintegerTổng số bản ghi

Thông tin chi tiết

Chi tiết tên miền

GET /domain/{domainId}

Lấy thông tin chi tiết tên miền theo ID. Trả về thông tin đăng ký, nameserver, trạng thái, ngày hết hạn.

Tham sốVị tríKiểuBắt buộcMô tả
domainIdpathintegerID tên miền
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/{domainId}"

Response

JSON
{
  "id": 1,
  "name": "example.vn",
  "nsList": [
    {
      "id": 1,
      "hostname": "ns1.inet.vn"
    }
  ],
  "status": "example_status",
  "suffix": "vn",
  "contract": "example_contract",
  "issueDate": "example_issueDate",
  "renewDate": "example_renewDate",
  "expireDate": "example_expireDate",
  "registrant": "example_registrant",
  "verifyStatus": "example_verifyStatus",
  "domainStatuses": [
    {
      "status": "ok"
    }
  ]
}
TrườngKiểuMô tả
idintegerID tên miền
namestringTên miền (vd: example.vn)
nsListarrayDanh sách nameserver
nsList[].idinteger
nsList[].hostnamestringHostname (vd: ns1.inet.vn)
statusstringTrạng thái: active, expired, trial, suspended
suffixstringĐuôi tên miền (vd: vn)
contractstringTrạng thái hợp đồng: approved, pending
issueDatestringNgày đăng ký (dd/MM/yyyy HH:mm)
renewDatestringNgày gia hạn gần nhất
expireDatestringNgày hết hạn
registrantstringTên chủ sở hữu
verifyStatusstringTrạng thái xác minh: verified, undefined
domainStatusesarrayTrạng thái EPP
domainStatuses[].statusstringEPP status (vd: ok, clientTransferProhibited)

Tra cứu

Danh sách tên miền .vn tự do hàng ngày

GET /domain/list-domainvn-available

Danh sách tên miền .vn tự do hàng ngày, hỗ trợ lọc theo tên, đuôi miền, độ tuổi tên miền.

Tham sốVị tríKiểuBắt buộcMô tả
domainNamequerystringKhôngTừ khóa tìm kiếm tên miền (vd: abc)
sldNamequerystringKhôngLọc theo đuôi miền (vd: vn, com.vn, edu.vn)
labelLengthLtequeryintegerKhôngĐộ dài tối đa phần label tên miền
domainAgeGtequeryintegerKhôngTuổi tên miền tối thiểu (năm)
fromDeletedDatequerystringKhôngTừ ngày hết hạn (ISO 8601, vd: 2026-03-04T17:00:00.000Z)
toDeletedDatequerystringKhôngĐến ngày hết hạn (ISO 8601, vd: 2026-03-04T17:00:00.000Z)
pagequeryintegerKhôngSố trang (bắt đầu từ 1)
pageSizequeryintegerKhôngSố bản ghi mỗi trang
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/list-domainvn-available"

Response

JSON
{
  "size": 1,
  "number": 1,
  "content": [
    {
      "id": 1,
      "sldName": "vn",
      "domainAge": 1,
      "domainName": "tpmt.vn",
      "domainType": "example_domainType",
      "deletedDate": "example_deletedDate",
      "domainLabel": "tpmt",
      "creationTime": "example_creationTime",
      "idnDomainName": "example_idnDomainName"
    }
  ],
  "totalPages": 1,
  "totalElements": 1,
  "numberOfElements": 1
}
TrườngKiểuMô tả
sizeintegerSố bản ghi mỗi trang
numberintegerTrang hiện tại (0-based)
contentarrayDanh sách tên miền sắp hết hạn
content[].idintegerID tên miền
content[].sldNamestringĐuôi tên miền (vd: vn, com.vn)
content[].domainAgeintegerTuổi tên miền (năm)
content[].domainNamestringTên miền đầy đủ (vd: tpmt.vn)
content[].domainTypestringLoại tên miền: ASCII hoặc IDN
content[].deletedDatestringNgày hết hạn (ISO 8601)
content[].domainLabelstringPhần label (trước đuôi miền, vd: tpmt)
content[].creationTimestringThời điểm xuất hiện trong hệ thống (ISO 8601)
content[].idnDomainNamestringTên miền dạng IDN/Unicode (null nếu ASCII)
totalPagesintegerTổng số trang
totalElementsintegerTổng số bản ghi
numberOfElementsintegerSố bản ghi trang hiện tại

Kiểm tra

Kiểm tra tên miền khả dụng

GET /domain/check-available

Kiểm tra xem tên miền khả dụng để đăng ký hay không. Trả về trạng thái available/unavailable.

Tham sốVị tríKiểuBắt buộcMô tả
namequerystringTên miền cần kiểm tra (vd: mywebsite.vn)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/check-available?name=mywebsite.vn"

Response

JSON
{
  "status": [
    "example"
  ],
  "available": "available",
  "domainName": "example_domainName",
  "nameServer": [
    "example"
  ],
  "availability": "example_availability"
}
TrườngKiểuMô tả
statusarray
availablestring
domainNamestring
nameServerarray
availabilitystring

Kiểm tra tên miền khả dụng hàng loạt

POST /domain/bulk-check-available

Kiểm tra nhiều tên miền có thể đăng ký không cùng lúc. Trả về trạng thái available/unavailable cho từng tên miền trong danh sách.

Request Body

TrườngKiểuBắt buộcMô tả
domainsarrayDanh sách tên miền cần kiểm tra (vd: ["inet.vn", "mysite.com"])
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domains":["example"]}' \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/bulk-check-available"

Kiểm tra trạng thái bản khai của tên miền

POST /domain/profile-status/check

Kiểm tra và cập nhật trạng thái bản khai đăng ký tên miền của khách hàng. Không cần body.

curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}' \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/profile-status/check"

Response

JSON
{
  "trialDay": 1,
  "contactID": true,
  "ownerView": true,
  "renewTrial": true,
  "removeRecord": true,
  "customerEmail": "example_customerEmail"
}
TrườngKiểuMô tả
trialDayintegerSố ngày trial còn lại
contactIDbooleanTrạng thái contact ID
ownerViewbooleanXem theo quyền chủ sở hữu
renewTrialbooleanCó gia hạn trial không
removeRecordbooleanCó xóa record không
customerEmailstringEmail khách hàng

Quản lý

Cập nhật DNS records

PATCH /domain/{domainId}/record

Thêm hoặc xóa DNS records cho tên miền.

  • Thêm record: action = ACTION_ADD (không cần id)
  • Xóa record: action = ACTION_DELETE (cần id record, lấy từ GET /domains/{domainId}/records với phân trang)
  • Sửa record: gửi 2 items — 1 ACTION_DELETE record cũ + 1 ACTION_ADD record mới
Tham sốVị tríKiểuBắt buộcMô tả
domainIdpathintegerID tên miền

Request Body

TrườngKiểuBắt buộcMô tả
recordListarrayDanh sách thao tác trên DNS records. Mỗi item là 1 thao tác thêm hoặc xóa.
recordList[].idintegerID record (bắt buộc khi xóa)
recordList[].ttlstringTime to live — giây (VD: 300)
recordList[].datastringGiá trị (VD: 1.2.3.4 cho A, example.vn cho CNAME)
recordList[].namestringTên record (VD: @ = root, www, _dmarc)
recordList[].typestringLoại record: A, AAAA, CNAME, MX, TXT, SRV
recordList[].actionstringACTION_ADD = thêm, ACTION_DELETE = xóa
recordList[].domainIdintegerID tên miền (giống path param {id})
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/{domainId}/record"

Response

JSON
{
  "id": 1,
  "name": "example.vn",
  "status": "example_status",
  "recordList": [
    {
      "id": 1,
      "ttl": 1,
      "data": "1.2.3.4",
      "name": "@",
      "type": "example_type",
      "priority": 1,
      "createdDate": "example_createdDate"
    }
  ]
}
TrườngKiểuMô tả
idintegerID tên miền
namestringTên miền (vd: example.vn)
statusstringTrạng thái tên miền
recordListarrayDanh sách DNS records sau khi cập nhật
recordList[].idintegerID record
recordList[].ttlintegerTTL (giây)
recordList[].datastringGiá trị record (vd: 1.2.3.4)
recordList[].namestringTên record (vd: @, www, _dmarc)
recordList[].typestringLoại: A, AAAA, CNAME, MX, TXT, SRV...
recordList[].priorityintegerPriority (chỉ cho MX)
recordList[].createdDatestringNgày tạo (dd/MM/yyyy HH:mm)

Cập nhật Nameserver

PATCH /domain/{domainId}/nameserver

Thay đổi nameserver của tên miền.

Tham sốVị tríKiểuBắt buộcMô tả
domainIdpathintegerID tên miền

Request Body

TrườngKiểuBắt buộcMô tả
nsListarrayDanh sách nameserver mới
nsList[].hostnamestringHostname nameserver (VD: ns1.inet.vn)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://developers-dev.inet.vn/api/gateway/v1/domain/{domainId}/nameserver"

Response

JSON
{
  "id": 1,
  "name": "example.vn",
  "nsList": [
    {
      "id": 1,
      "domainId": 1,
      "hostname": "ns3.inet.vn",
      "domainName": "example_domainName"
    }
  ],
  "status": "example_status",
  "suffix": "id.vn",
  "modifiedDate": "example_modifiedDate",
  "domainStatuses": [
    {
      "id": 1,
      "status": "ok",
      "domainId": 1
    }
  ]
}
TrườngKiểuMô tả
idintegerID tên miền
namestringTên miền (vd: example.vn)
nsListarrayNameserver sau khi cập nhật
nsList[].idintegerID nameserver
nsList[].domainIdintegerID tên miền
nsList[].hostnamestringHostname (vd: ns3.inet.vn)
nsList[].domainNamestringTên miền
statusstringTrạng thái: active, expired, suspended
suffixstringĐuôi tên miền (vd: id.vn)
modifiedDatestringNgày cập nhật (dd/MM/yyyy HH:mm)
domainStatusesarrayTrạng thái EPP
domainStatuses[].idinteger
domainStatuses[].statusstringEPP status (vd: ok, clientTransferProhibited)
domainStatuses[].domainIdinteger