SSL 证书:按 action 选择功能
这个请求地址通过 action 区分具体功能。下方列出每个 action 的参数、约束和调用示例。
POST
https://your-panel.example.com:8888/sslRequest bodyX-WWW-FORM-URLENCODEDrequired
One of the following:
- GetCertList
- GetSSLProduct
- GetSiteDomain
- GetUserInfo
- SetCertToSite (SSL)
- get_cert_info
- get_cert_list
- get_order_find
- get_order_list
- get_product_list
- get_ssl_ps
- set_cert
- set_ssl_ps
Returns
default
响应因 action 而异,见下方各 action 的详细说明。
各操作详细说明
GetCertListaction=GetCertList获取面板中所有已部署的 SSL 证书列表
获取面板所有网站已部署的 SSL 证书概览,包括自签名、Let's Encrypt 和商用证书。
- 路由:
POST /ssl - action:
GetCertList
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Array<Object> | 证书列表,每项含 issuer(颁发者)、subject(主题)、notAfter(到期日)、dns(域名)、endtime(剩余天数) |
示例
[{"issuer": "R13", "issuer_O": "Let's Encrypt", "notAfter": "2026-08-21", "dns": ["dnstest.cc"], "subject": "dnstest.cc", "endtime": 89}]
GetSSLProductaction=GetSSLProduct获取 SSL 证书产品列表(含价格和折扣)
获取所有可购买的 SSL 证书产品的详细信息和价格。
- 路由:
POST /ssl - action:
GetSSLProduct
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| msg | String | 获取成功! |
| data | Array<Object> | 产品列表,含 pid、name、type、price_12(一年价)、discount_12(折扣) |
示例
{"msg": "获取成功!", "data": [{"pid": 1, "name": "增强型 (EV) SSL证书专业版", "type": "Symantec", "price_12": 12650, "discount_12": 0.8}]}
GetSiteDomainaction=GetSiteDomain获取可用于 SSL 证书申请的站点域名列表
获取面板中所有可用于申请 SSL 证书的域名列表。
- 路由:
POST /ssl - action:
GetSiteDomain
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| all | Array<String> | 所有域名 |
| site | Array<String> | 已关联站点的域名 |
示例
{"all": ["testapi.bt.local"], "site": []}
GetUserInfoaction=GetUserInfo获取面板绑定的宝塔账号信息
获取当前面板绑定的宝塔账号用户名。
前置条件:面板已绑定宝塔账号。
- 路由:
POST /ssl - action:
GetUserInfo
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true |
| data.username | String | 脱敏后的用户名 |
示例
{"status": true, "msg": "获取成功!", "data": {"username": "155********"}}
SetCertToSite (SSL)action=SetCertToSite将证书夹中的 SSL 证书部署到指定网站
将证书夹中已保存的 SSL 证书部署到指定网站,开启 HTTPS。
- 路由:
POST /ssl - action:
SetCertToSite
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 SetCertToSite |
| ssl_hash | 是 | String | 证书 hash(通过 get_cert_list 获取) |
| siteName | 是 | String | 目标网站域名 |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 部署成功 |
| msg | String | SSL开启成功! |
| csr | String | 部署的证书链(PEM 格式) |
示例
请求
POST /ssl HTTP/1.1
Host: 192.168.168.213:8888
Content-Type: application/x-www-form-urlencoded
action=SetCertToSite&ssl_hash=6da02a66c92a01d07b3aab68bf1317e6&siteName=testapi.bt.local
响应
{"status": true, "msg": "SSL开启成功!", "csr": "-----BEGIN CERTIFICATE-----\n..."}
相关接口
- get_cert_list — 获取可用证书列表
- get_cert_info — 证书详情
get_cert_infoaction=get_cert_info获取单个已保存证书的详细信息
获取证书夹中指定证书的完整信息。
- 路由:
POST /ssl - action:
get_cert_info
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_cert_info |
| ssl_hash | 是 | String | 证书的 hash 值(通过 get_cert_list 获取) |
示例
{"id": 2, "hash": "6da02a66...", "dns": ["dnstest.cc"], "info": {"issuer": "R13", "notAfter": "2026-08-21"}}
相关接口
- get_cert_list — 证书列表
get_cert_listaction=get_cert_list获取已保存到本地的 SSL 证书列表(含详细信息)
获取面板证书夹中已保存的 SSL 证书列表,包含签发者、到期时间等详细信息。
- 路由:
POST /ssl - action:
get_cert_list
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Array<Object> | 证书列表,每项含 id、hash、dns(域名)、subject、info.issuer、info.notAfter(到期日) |
示例
[{"id": 2, "hash": "6da02a66...", "dns": ["dnstest.cc"], "subject": "dnstest.cc", "info": {"issuer": "R13", "notAfter": "2026-08-21"}}]
get_order_findaction=get_order_find获取单个商用 SSL 证书订单的详细信息(含证书)
获取指定订单的完整信息,包括签发的证书内容。
- 路由:
POST /ssl - action:
get_order_find
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_order_find |
| oid | 是 | Integer | 订单 ID |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| oid | Integer | 订单 ID |
| pid | Integer | 产品 ID |
| status | Integer | 订单状态 |
| domainName | Array | 证书域名列表 |
| certificate | String | PEM 格式证书内容 |
| endDate | Integer | 到期时间戳 |
示例
{"oid": 800013349, "pid": 9009, "status": 1, "domainName": ["*.allinssl.com"], "certificate": "-----BEGIN CERTIFICATE-----\n...", "endDate": 1786502398}
get_order_listaction=get_order_list获取商用 SSL 证书的订单列表
获取当前面板账号下所有商用 SSL 证书的订单列表。
前置条件:面板已绑定宝塔账号。
- 路由:
POST /ssl - action:
get_order_list
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| - | Array<Object> | 订单列表,每项含 oid(订单ID)、pid(产品ID)、status、domainName、title(产品名称)、endDate、endDay(剩余天数) |
示例
[{"oid": 800013349, "pid": 9009, "status": 1, "domainName": ["*.allinssl.com"], "title": "宝塔域名型通配符SSL证书", "endDay": 80}]
相关接口
- get_order_find — 订单详情
- get_product_list — 可购买产品
get_product_listaction=get_product_list获取可购买的商用 SSL 证书产品列表及价格
获取当前可购买的商用 SSL 证书产品,包含价格和折扣信息。
- 路由:
POST /ssl - action:
get_product_list
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| data | Array<Object> | 产品列表,每项含 pid(产品ID)、title(名称)、code、price(价格)、discount(折扣)、max_years |
示例
{"data": [{"pid": 8008, "title": "PositiveSSL 通配符SSL证书", "price": 1089, "discount": 1, "max_years": 5}]}
get_ssl_psaction=get_ssl_ps获取证书夹中证书的备注信息
获取证书夹中指定证书的备注。
- 路由:
POST /ssl - action:
get_ssl_ps
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 get_ssl_ps |
| id | 是 | Integer | 证书 ID |
示例
{"status": true, "msg": [{"ps": "测试备注"}]}
set_certaction=set_cert将商用 SSL 证书订单中的证书部署到指定网站
从已购买的商用 SSL 证书订单中提取证书并部署到指定网站。与 SetCertToSite 不同,此方法直接通过订单 ID 获取证书。
- 路由:
POST /ssl - action:
set_cert
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_cert |
| siteName | 是 | String | 目标网站域名 |
| oid | 是 | Integer | 商用证书订单 ID(通过 get_order_list 获取) |
输出参数
| 参数名称 | 类型 | 描述 |
|---|---|---|
| status | Boolean | true 部署成功 |
示例
请求
POST /ssl HTTP/1.1
Host: 192.168.168.213:8888
Content-Type: application/x-www-form-urlencoded
action=set_cert&siteName=testapi.bt.local&oid=800013349
响应
{"status": true, "msg": "设置成功"}
相关接口
- get_order_list — 获取订单列表
- get_order_find — 订单详情
- SetCertToSite — 从证书夹部署
set_ssl_psaction=set_ssl_ps修改证书夹中证书的备注信息
修改证书夹中指定证书的备注。
- 路由:
POST /ssl - action:
set_ssl_ps
输入参数
| 参数名称 | 必选 | 类型 | 描述 |
|---|---|---|---|
| action | 是 | String | 固定值 set_ssl_ps |
| id | 是 | Integer | 证书 ID |
| ps | 是 | String | 新的备注内容 |
示例
{"status": true, "msg": "修改成功"}