Path: 宝塔面板 API 参考 › SSL 证书

`POST /ssl/dnsapi/get_dns_data`

获取所有已配置的 DNS API 密钥，以及当前面板支持的 DNS 提供商列表。

## Request body

_Required._

- `opPostSslDnsapiGetDnsData.request_time` (string, required) — Unix 时间戳；与接口密钥一起生成 request_token。
- `opPostSslDnsapiGetDnsData.request_token` (string, required) — 按 API 概览中的双重 MD5 签名算法生成。
- `opPostSslDnsapiGetDnsData.无` (string, optional) — 无需额外参数

## Example request

```text
{
  "request_time": "string",
  "request_token": "string",
  "无": "string"
}
```

## Code samples

### cURL（填写面板地址与签名）

```curl
curl --request POST \
  --url "https://your-panel.example.com:8888/ssl/dnsapi/get_dns_data" \
  --header "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "request_time=<Unix时间戳>" \
  --data-urlencode "request_token=<按 API 概览生成的签名>"
```

## Responses

### default

接口响应，业务状态见下方详细说明。

#### Example

```json
{
  "data": [
    {
      "secret_id": "AKIDxxxx",
      "secret_key": "xxxx",
      "id": "619980b49ba5",
      "ps": "API测试",
      "dns_name": "TencentCloudDns",
      "dns_type": "tencentcloud"
    }
  ],
  "add_data": [
    {
      "name": "DNSPod",
      "id": "DNSPodDns",
      "params": [
        "ID",
        "Token"
      ]
    },
    {
      "name": "阿里云DNS",
      "id": "AliyunDns",
      "params": [
        "AccessKey",
        "SecretKey"
      ]
    },
    {
      "name": "腾讯云DNS",
      "id": "TencentCloudDns",
      "params": [
        "secret_id",
        "secret_key"
      ]
    }
  ]
}
```

- `opPostSslDnsapiGetDnsData.response.default.data` (string, optional) — 已配置的 DNS 密钥列表，每项含 `id`、`dns_name`、`ps`、`secret_id` 等
- `opPostSslDnsapiGetDnsData.response.default.add_data` (string, optional) — 支持的 DNS 提供商，每项含 `name`(中文名)、`id`(类型标识)、`params`(所需参数)


## get_dns_data

获取所有已配置的 DNS API 密钥，以及当前面板支持的 DNS 提供商列表。

- **路由**：`POST /ssl/dnsapi/get_dns_data`
- **action**：URL 路径 `/ssl/dnsapi/get_dns_data`

## 输入参数

| 参数名称 | 必选 | 类型 | 描述 |
|----------|------|------|------|
| 无 | - | - | 无需额外参数 |

## 输出参数

| 参数名称 | 类型 | 描述 |
|----------|------|------|
| data | Array&lt;Object&gt; | 已配置的 DNS 密钥列表，每项含 `id`、`dns_name`、`ps`、`secret_id` 等 |
| add_data | Array&lt;Object&gt; | 支持的 DNS 提供商，每项含 `name`(中文名)、`id`(类型标识)、`params`(所需参数) |

### 支持的 DNS 提供商

| id | 名称 | 所需参数 |
|----|------|----------|
| `DNSPodDns` | DNSPod | `ID`, `Token` |
| `AliyunDns` | 阿里云DNS | `AccessKey`, `SecretKey` |
| `TencentCloudDns` | 腾讯云DNS | `secret_id`, `secret_key` |
| `HuaweiCloudDns` | 华为云DNS | `AccessKey`, `SecretKey`, `project_id` |
| `CloudFlareDns` | CloudFlare | `E-Mail`, `API Key` |
| `WestDns` | 西部数码 | `user_name`, `api_password` |
| `BtDns` | 宝塔域名 | `AccessKey`, `SecretKey`, `AccountID` |
| `AwsDns` | AWS | `AccessKey`, `SecretKey`, `region` |
| `VolcengineCloudDns` | 火山引擎 | `AccessKey`, `SecretKey` |

## 示例

### 请求

```
POST /ssl/dnsapi/get_dns_data HTTP/1.1
Host: 192.168.168.213:8888
Content-Type: application/x-www-form-urlencoded

request_time=1779500000&request_token=xxx
```

### 响应

```json
{
  "data": [{
    "secret_id": "AKIDxxxx",
    "secret_key": "xxxx",
    "id": "619980b49ba5",
    "ps": "API测试",
    "dns_name": "TencentCloudDns",
    "dns_type": "tencentcloud"
  }],
  "add_data": [
    {"name": "DNSPod", "id": "DNSPodDns", "params": ["ID", "Token"]},
    {"name": "阿里云DNS", "id": "AliyunDns", "params": ["AccessKey", "SecretKey"]},
    {"name": "腾讯云DNS", "id": "TencentCloudDns", "params": ["secret_id", "secret_key"]}
  ]
}
```

