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

`POST /ssl/dnsapi/add_dns_data`

添加一个 DNS 提供商的 API 密钥配置，用于 Let's Encrypt 等证书的 DNS 验证方式自动申请和续签。

## Request body

_Required._

- `opPostSslDnsapiAddDnsData.request_time` (string, required) — Unix 时间戳；与接口密钥一起生成 request_token。
- `opPostSslDnsapiAddDnsData.request_token` (string, required) — 按 API 概览中的双重 MD5 签名算法生成。
- `opPostSslDnsapiAddDnsData.dns_name` (string, required) — DNS 提供商标识，如 `TencentCloudDns`、`AliyunDns`、`CloudFlareDns`
- `opPostSslDnsapiAddDnsData.ps` (string, required) — 备注名称，用于在列表中识别
- `opPostSslDnsapiAddDnsData.pdata` (string, required) — JSON 字符串，包含提供商所需的密钥参数

## Example request

```text
{
  "request_time": "string",
  "request_token": "string",
  "dns_name": "string",
  "ps": "string",
  "pdata": "string"
}
```

## Code samples

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

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

## Responses

### default

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

#### Example

```json
{
  "status": true,
  "msg": "添加成功"
}
```

- `opPostSslDnsapiAddDnsData.response.default.status` (boolean, optional) — `true` 添加成功
- `opPostSslDnsapiAddDnsData.response.default.msg` (string, optional) — `添加成功`


## add_dns_data

添加一个 DNS 提供商的 API 密钥配置，用于 Let's Encrypt 等证书的 DNS 验证方式自动申请和续签。

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

## 输入参数

| 参数名称 | 必选 | 类型 | 描述 |
|----------|------|------|------|
| dns_name | 是 | String | DNS 提供商标识，如 `TencentCloudDns`、`AliyunDns`、`CloudFlareDns` |
| ps | 是 | String | 备注名称，用于在列表中识别 |
| pdata | 是 | String | JSON 字符串，包含提供商所需的密钥参数 |

### pdata 参数（按 DNS 提供商）

**腾讯云 DNS** (`TencentCloudDns`):
```json
{"secret_id": "AKIDxxxx", "secret_key": "xxxx"}
```

**阿里云 DNS** (`AliyunDns`):
```json
{"AccessKey": "xxxx", "SecretKey": "xxxx"}
```

**CloudFlare** (`CloudFlareDns`):
```json
{"E-Mail": "admin@example.com", "API Key": "xxxx"}
```

## 输出参数

| 参数名称 | 类型 | 描述 |
|----------|------|------|
| status | Boolean | `true` 添加成功 |
| msg | String | `添加成功` |

## 示例

### 请求

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

dns_name=TencentCloudDns&ps=我的腾讯云DNS&pdata={"secret_id":"AKIDxxxx","secret_key":"xxxx"}
```

### 响应

```json
{"status": true, "msg": "添加成功"}
```

