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

14 KiB
Raw Permalink Blame History

NSDomainService

域名相关服务


countAllNSDomains

计算域名数量

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/countAllNSDomains
  • RPCrpc countAllNSDomains (CountAllNSDomainsRequest) returns (RPCCountResponse);

请求对象 (CountAllNSDomainsRequest)

{
  "userId": "int64 // 用户ID",
  "nsClusterId": "int64",
  "keyword": "string // 关键词",
  "nsDomainGroupId": "int64",
  "status": "string"
}

响应对象 (RPCCountResponse)

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

调用示例

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

createNSDomain

创建单个域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/createNSDomain
  • RPCrpc createNSDomain (CreateNSDomainRequest) returns (CreateNSDomainResponse);

请求对象 (CreateNSDomainRequest)

{
  "nsClusterId": "int64 // 所属集群",
  "userId": "int64 // 所属用户",
  "name": "string // 域名",
  "nsDomainGroupIds": "[]int64 // 域名分组ID"
}

响应对象 (CreateNSDomainResponse)

{
  "nsDomainId": "int64"
}

调用示例

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

createNSDomains

批量创建域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/createNSDomains
  • RPCrpc createNSDomains(CreateNSDomainsRequest) returns (CreateNSDomainsResponse);

请求对象 (CreateNSDomainsRequest)

{
  "nsClusterId": "int64 // 所属集群",
  "userId": "int64 // 所属用户",
  "names": "[]string // 一组域名",
  "nsDomainGroupIds": "[]int64 // 域名分组ID"
}

响应对象 (CreateNSDomainsResponse)

{
  "nsDomainIds": "[]int64"
}

调用示例

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

deleteNSDomain

删除域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/deleteNSDomain
  • RPCrpc deleteNSDomain (DeleteNSDomainRequest) returns (RPCSuccess);

请求对象 (DeleteNSDomainRequest)

{
  "nsDomainId": "int64"
}

响应对象 (RPCSuccess)

{}

调用示例

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

deleteNSDomains

批量删除域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/deleteNSDomains
  • RPCrpc deleteNSDomains(DeleteNSDomainsRequest) returns (RPCSuccess);

请求对象 (DeleteNSDomainsRequest)

{
  "names": "[]string",
  "userId": "int64 // 域名所属用户ID"
}

响应对象 (RPCSuccess)

{}

调用示例

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

existNSDomains

检查一组域名是否在用户账户中存在

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/existNSDomains
  • RPCrpc existNSDomains(ExistNSDomainsRequest) returns (ExistNSDomainsResponse);

请求对象 (ExistNSDomainsRequest)

{
  "names": "[]string",
  "userId": "int64 // 用户ID"
}

响应对象 (ExistNSDomainsResponse)

{
  "existingNames": "[]string"
}

调用示例

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

existVerifiedNSDomains

检查一组域名是否已通过验证

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/existVerifiedNSDomains
  • RPCrpc existVerifiedNSDomains(ExistVerifiedNSDomainsRequest) returns (ExistVerifiedNSDomainsResponse);

请求对象 (ExistVerifiedNSDomainsRequest)

{
  "names": "[]string"
}

响应对象 (ExistVerifiedNSDomainsResponse)

{
  "existingNames": "[]string"
}

调用示例

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

findNSDomain

查找单个域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/findNSDomain
  • RPCrpc findNSDomain (FindNSDomainRequest) returns (FindNSDomainResponse);

请求对象 (FindNSDomainRequest)

{
  "nsDomainId": "int64 // 域名ID"
}

响应对象 (FindNSDomainResponse)

{
  "nsDomain": "NSDomain"
}

调用示例

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

findNSDomainRecordsHealthCheck

查询记录健康检查全局设置

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/findNSDomainRecordsHealthCheck
  • RPCrpc findNSDomainRecordsHealthCheck(FindNSDomainRecordsHealthCheckRequest) returns (FindNSDomainRecordsHealthCheckResponse);

请求对象 (FindNSDomainRecordsHealthCheckRequest)

{
  "nsDomainId": "int64 // 域名ID"
}

响应对象 (FindNSDomainRecordsHealthCheckResponse)

{
  "nsDomainRecordsHealthCheckJSON": "bytes // 健康检查设置"
}

调用示例

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

findNSDomainTSIG

查找TSIG配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/findNSDomainTSIG
  • RPCrpc findNSDomainTSIG (FindNSDomainTSIGRequest) returns (FindNSDomainTSIGResponse);

请求对象 (FindNSDomainTSIGRequest)

{
  "nsDomainId": "int64"
}

响应对象 (FindNSDomainTSIGResponse)

{
  "tsigJSON": "bytes"
}

调用示例

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

findNSDomainVerifyingInfo

获取域名验证信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/findNSDomainVerifyingInfo
  • RPCrpc findNSDomainVerifyingInfo(FindNSDomainVerifyingInfoRequest) returns (FindNSDomainVerifyingInfoResponse);

请求对象 (FindNSDomainVerifyingInfoRequest)

{
  "nsDomainId": "int64 // 要验证的域名ID"
}

响应对象 (FindNSDomainVerifyingInfoResponse)

{
  "requireTXT": "bool // 是否需要TXT验证如果不需要值false则表示用户不需要手动设置TXT此时 txt 字段内容可能为空",
  "txt": "string // TXT记录",
  "expiresAt": "int64 // TXT过期时间",
  "status": "string // 当前状态"
}

调用示例

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

findNSDomainWithName

根据域名名称查找域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/findNSDomainWithName
  • RPCrpc findNSDomainWithName(FindNSDomainWithNameRequest) returns (FindNSDomainWithNameResponse);

请求对象 (FindNSDomainWithNameRequest)

{
  "userId": "int64 // 用户ID只有管理员才能指定用户",
  "name": "string // 域名"
}

响应对象 (FindNSDomainWithNameResponse)

{
  "nsDomain": "NSDomain"
}

调用示例

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

findVerifiedNSDomainOnCluster

根据域名名称查找集群中的已验证域名

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/findVerifiedNSDomainOnCluster
  • RPCrpc findVerifiedNSDomainOnCluster(FindVerifiedNSDomainOnClusterRequest) returns (FindVerifiedNSDomainOnClusterResponse);

请求对象 (FindVerifiedNSDomainOnClusterRequest)

{
  "nsClusterId": "int64 // 集群ID",
  "name": "string // 域名"
}

响应对象 (FindVerifiedNSDomainOnClusterResponse)

{
  "nsDomain": "NSDomain"
}

调用示例

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

listNSDomains

列出单页域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/listNSDomains
  • RPCrpc listNSDomains (ListNSDomainsRequest) returns (ListNSDomainsResponse);

请求对象 (ListNSDomainsRequest)

{
  "userId": "int64 // 用户ID",
  "nsClusterId": "int64",
  "keyword": "string // 关键词",
  "nsDomainGroupId": "int64",
  "offset": "int64 // 读取位置",
  "size": "int64 // 数量通常不能小于0"
}

响应对象 (ListNSDomainsResponse)

{
  "nsDomains": "[]NSDomain"
}

调用示例

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

updateNSDomain

修改域名

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/updateNSDomain
  • RPCrpc updateNSDomain (UpdateNSDomainRequest) returns (RPCSuccess);

请求对象 (UpdateNSDomainRequest)

{
  "nsDomainId": "int64",
  "nsClusterId": "int64",
  "userId": "int64 // 用户ID",
  "nsDomainGroupIds": "[]int64 // 域名分组ID",
  "isOn": "bool // 是否启用"
}

响应对象 (RPCSuccess)

{}

调用示例

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

updateNSDomainRecordsHealthCheck

修改记录健康检查全局设置

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/updateNSDomainRecordsHealthCheck
  • RPCrpc updateNSDomainRecordsHealthCheck(UpdateNSDomainRecordsHealthCheckRequest) returns (RPCSuccess);

请求对象 (UpdateNSDomainRecordsHealthCheckRequest)

{
  "nsDomainId": "int64 // 域名ID",
  "nsDomainRecordsHealthCheckJSON": "bytes // 健康检查设置"
}

响应对象 (RPCSuccess)

{}

调用示例

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

updateNSDomainStatus

修改域名状态

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/updateNSDomainStatus
  • RPCrpc updateNSDomainStatus(UpdateNSDomainStatusRequest) returns (RPCSuccess);

请求对象 (UpdateNSDomainStatusRequest)

{
  "nsDomainId": "int64",
  "status": "string"
}

响应对象 (RPCSuccess)

{}

调用示例

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

updateNSDomainTSIG

修改TSIG配置

  • 角色:admin
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/updateNSDomainTSIG
  • RPCrpc updateNSDomainTSIG (UpdateNSDomainTSIGRequest) returns (RPCSuccess);

请求对象 (UpdateNSDomainTSIGRequest)

{
  "nsDomainId": "int64",
  "tsigJSON": "bytes"
}

响应对象 (RPCSuccess)

{}

调用示例

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

verifyNSDomain

验证域名信息

  • 角色:admin, user
  • HTTPPOST https://backend.dooki.cloud/NSDomainService/verifyNSDomain
  • RPCrpc verifyNSDomain(VerifyNSDomainRequest) returns (VerifyNSDomainResponse);

请求对象 (VerifyNSDomainRequest)

{
  "nsDomainId": "int64"
}

响应对象 (VerifyNSDomainResponse)

{
  "isOk": "bool // 是否成功",
  "errorCode": "string // 错误代码",
  "errorMessage": "string // 错误消息",
  "currentTXTValues": "[]string // 当前的TXT值",
  "currentNSValues": "[]string // 当前的NS记录值"
}

调用示例

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