Files
2025-11-18 03:36:49 +08:00

15 KiB
Raw Permalink Blame History

NSRecordService

域名记录相关服务


countAllNSRecords

计算记录数量

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/countAllNSRecords
  • RPCrpc countAllNSRecords (CountAllNSRecordsRequest) returns (RPCCountResponse);

请求对象 (CountAllNSRecordsRequest)

{
  "nsDomainId": "int64",
  "type": "string",
  "nsRouteCode": "string // 使用nsRouteCode代替",
  "keyword": "string // 关键词"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/countAllNSRecords" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

countAllNSRecordsWithName

查询相同记录名的记录数

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/countAllNSRecordsWithName
  • RPCrpc countAllNSRecordsWithName (CountAllNSRecordsWithNameRequest) returns (RPCCountResponse);

请求对象 (CountAllNSRecordsWithNameRequest)

{
  "nsDomainId": "int64",
  "name": "string // 名称",
  "type": "string"
}

响应对象 (RPCCountResponse)

{
  "count": "int64 // 数量"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/countAllNSRecordsWithName" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createNSRecord

创建记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/createNSRecord
  • RPCrpc createNSRecord (CreateNSRecordRequest) returns (CreateNSRecordResponse);

请求对象 (CreateNSRecordRequest)

{
  "nsDomainId": "int64",
  "description": "string // 描述(备注)",
  "name": "string // 名称",
  "type": "string",
  "value": "string",
  "ttl": "int32",
  "nsRouteCodes": "[]string // 路线代号",
  "weight": "int32 // 权重",
  "mxPriority": "int32 // mx优先级",
  "srvPriority": "int32 // SRV优先级",
  "srvWeight": "int32 // SRV权重",
  "srvPort": "int32 // SRV端口",
  "caaFlag": "int32 // CAA Flag",
  "caaTag": "string // CAA TAG"
}

响应对象 (CreateNSRecordResponse)

{
  "nsRecordId": "int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/createNSRecord" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createNSRecords

批量创建记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/createNSRecords
  • RPCrpc createNSRecords(CreateNSRecordsRequest) returns (CreateNSRecordsResponse);

请求对象 (CreateNSRecordsRequest)

{
  "nsDomainId": "int64",
  "description": "string // 描述(备注)",
  "names": "[]string",
  "type": "string",
  "value": "string",
  "ttl": "int32",
  "nsRouteCodes": "[]string // 路线代号",
  "weight": "int32 // 权重",
  "mxPriority": "int32 // mx优先级",
  "srvPriority": "int32 // SRV优先级",
  "srvWeight": "int32 // SRV权重",
  "srvPort": "int32 // SRV端口",
  "caaFlag": "int32 // CAA Flag",
  "caaTag": "string // CAA TAG"
}

响应对象 (CreateNSRecordsResponse)

{
  "nsRecordIds": "[]int64"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/createNSRecords" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

createNSRecordsWithDomainNames

为一组域名批量创建记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/createNSRecordsWithDomainNames
  • RPCrpc createNSRecordsWithDomainNames(CreateNSRecordsWithDomainNamesRequest) returns (RPCSuccess);

请求对象 (CreateNSRecordsWithDomainNamesRequest)

{
  "nsDomainNames": "[]string",
  "recordsJSON": "bytes",
  "removeOld": "bool",
  "removeAll": "bool",
  "userId": "int64 // 用户ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/createNSRecordsWithDomainNames" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteNSRecord

删除记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/deleteNSRecord
  • RPCrpc deleteNSRecord (DeleteNSRecordRequest) returns (RPCSuccess);

请求对象 (DeleteNSRecordRequest)

{
  "nsRecordId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/deleteNSRecord" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

deleteNSRecordsWithDomainNames

批量删除一组域名的一组记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/deleteNSRecordsWithDomainNames
  • RPCrpc deleteNSRecordsWithDomainNames(DeleteNSRecordsWithDomainNamesRequest) returns (RPCSuccess);

请求对象 (DeleteNSRecordsWithDomainNamesRequest)

{
  "nsDomainNames": "[]string",
  "searchName": "string",
  "searchValue": "string",
  "searchType": "string",
  "searchNSRouteCodes": "[]string",
  "userId": "int64 // 用户ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/deleteNSRecordsWithDomainNames" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSRecord

查询单个记录信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/findNSRecord
  • RPCrpc findNSRecord (FindNSRecordRequest) returns (FindNSRecordResponse);

请求对象 (FindNSRecordRequest)

{
  "nsRecordId": "int64"
}

响应对象 (FindNSRecordResponse)

{
  "nsRecord": "NSRecord"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/findNSRecord" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSRecordHealthCheck

查询记录健康检查设置

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/findNSRecordHealthCheck
  • RPCrpc findNSRecordHealthCheck(FindNSRecordHealthCheckRequest) returns (FindNSRecordHealthCheckResponse);

请求对象 (FindNSRecordHealthCheckRequest)

{
  "nsRecordId": "int64 // 记录ID"
}

响应对象 (FindNSRecordHealthCheckResponse)

{
  "nsRecordHealthCheckJSON": "bytes // 记录健康检查配置"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/findNSRecordHealthCheck" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSRecordWithNameAndType

使用名称和类型查询单个记录信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/findNSRecordWithNameAndType
  • RPCrpc findNSRecordWithNameAndType(FindNSRecordWithNameAndTypeRequest) returns (FindNSRecordWithNameAndTypeResponse);

请求对象 (FindNSRecordWithNameAndTypeRequest)

{
  "nsDomainId": "int64",
  "name": "string // 名称",
  "type": "string"
}

响应对象 (FindNSRecordWithNameAndTypeResponse)

{
  "nsRecord": "NSRecord"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/findNSRecordWithNameAndType" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

findNSRecordsWithNameAndType

使用名称和类型查询多个记录信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/findNSRecordsWithNameAndType
  • RPCrpc findNSRecordsWithNameAndType(FindNSRecordsWithNameAndTypeRequest) returns (FindNSRecordsWithNameAndTypeResponse);

请求对象 (FindNSRecordsWithNameAndTypeRequest)

{
  "nsDomainId": "int64",
  "name": "string // 名称",
  "type": "string"
}

响应对象 (FindNSRecordsWithNameAndTypeResponse)

{
  "nsRecords": "[]NSRecord"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/findNSRecordsWithNameAndType" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

importNSRecords

导入域名解析

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/importNSRecords
  • RPCrpc importNSRecords(ImportNSRecordsRequest) returns (RPCSuccess);

请求对象 (ImportNSRecordsRequest)

{
  "nsRecords": "[]Record",
  "userId": "int64 // 用户ID",
  "nsDomainName": "string",
  "name": "string // 名称",
  "type": "string",
  "value": "string",
  "ttl": "int32",
  "mxPriority": "int32 // MX优先级",
  "weight": "int32 // 权重",
  "srvPriority": "int32 // SRV优先级",
  "srvWeight": "int32 // SRV权重",
  "srvPort": "int32 // SRV端口",
  "caaFlag": "int32 // CAA Flag",
  "caaTag": "string // CAA TAG"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/importNSRecords" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

listNSRecords

读取单页记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/listNSRecords
  • RPCrpc listNSRecords (ListNSRecordsRequest) returns (ListNSRecordsResponse);

请求对象 (ListNSRecordsRequest)

{
  "nsDomainId": "int64",
  "type": "string",
  "nsRouteCode": "string // 使用nsRouteCode代替",
  "keyword": "string // 关键词",
  "nameAsc": "bool",
  "nameDesc": "bool",
  "typeAsc": "bool",
  "typeDesc": "bool",
  "ttlAsc": "bool",
  "ttlDesc": "bool",
  "upAsc": "bool",
  "upDesc": "bool",
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListNSRecordsResponse)

{
  "nsRecords": "[]NSRecord"
}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/listNSRecords" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSRecord

修改记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/updateNSRecord
  • RPCrpc updateNSRecord (UpdateNSRecordRequest) returns (RPCSuccess);

请求对象 (UpdateNSRecordRequest)

{
  "nsRecordId": "int64",
  "description": "string // 描述(备注)",
  "name": "string // 名称",
  "type": "string",
  "value": "string",
  "ttl": "int32",
  "isOn": "bool // 是否启用",
  "nsRouteCodes": "[]string // 路线代号",
  "weight": "int32 // 权重",
  "mxPriority": "int32 // mx优先级",
  "srvPriority": "int32 // SRV优先级",
  "srvWeight": "int32 // SRV权重",
  "srvPort": "int32 // SRV端口",
  "caaFlag": "int32 // CAA Flag",
  "caaTag": "string // CAA TAG"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/updateNSRecord" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSRecordHealthCheck

修改记录健康检查设置

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/updateNSRecordHealthCheck
  • RPCrpc updateNSRecordHealthCheck(UpdateNSRecordHealthCheckRequest) returns (RPCSuccess);

请求对象 (UpdateNSRecordHealthCheckRequest)

{
  "nsRecordId": "int64 // 记录ID",
  "nsRecordHealthCheckJSON": "bytes // 记录健康检查配置"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/updateNSRecordHealthCheck" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSRecordIsUp

手动修改记录在线状态

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/updateNSRecordIsUp
  • RPCrpc updateNSRecordIsUp(UpdateNSRecordIsUpRequest) returns (RPCSuccess);

请求对象 (UpdateNSRecordIsUpRequest)

{
  "nsRecordId": "int64 // 记录ID",
  "isUp": "bool // 是否在线"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/updateNSRecordIsUp" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSRecordsIsOnWithDomainNames

批量一组域名的一组记录启用状态

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/updateNSRecordsIsOnWithDomainNames
  • RPCrpc updateNSRecordsIsOnWithDomainNames(UpdateNSRecordsIsOnWithDomainNamesRequest) returns (RPCSuccess);

请求对象 (UpdateNSRecordsIsOnWithDomainNamesRequest)

{
  "nsDomainNames": "[]string",
  "searchName": "string",
  "searchValue": "string",
  "searchType": "string",
  "searchNSRouteCodes": "[]string",
  "isOn": "bool // 是否启用",
  "userId": "int64 // 用户ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/updateNSRecordsIsOnWithDomainNames" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'

updateNSRecordsWithDomainNames

批量修改一组域名的一组记录

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSRecordService/updateNSRecordsWithDomainNames
  • RPCrpc updateNSRecordsWithDomainNames(UpdateNSRecordsWithDomainNamesRequest) returns (RPCSuccess);

请求对象 (UpdateNSRecordsWithDomainNamesRequest)

{
  "nsDomainNames": "[]string",
  "searchName": "string",
  "searchValue": "string",
  "searchType": "string",
  "searchNSRouteCodes": "[]string",
  "newName": "string",
  "newValue": "string",
  "newType": "string",
  "newNSRouteCodes": "[]string",
  "userId": "int64 // 用户ID"
}

响应对象 (RPCSuccess)

{}

调用示例

curl -X POST "https://backend.dooki.cloud/NSRecordService/updateNSRecordsWithDomainNames" \
  -H "Content-Type: application/json" \
  -H "X-Edge-Access-Token: <YOUR_TOKEN>" \
  -d '{
    ...
  }'