Appearance
套餐包查询
套餐包查询接口用于获取当前 API Key 所属账户的点数套餐包、套餐详情,以及证书订单产生的扣除和退款流水。
查询范围
接口只返回当前账户的数据,不接受 account_id,也不会扩展查询父账户或子账户。API Key 需要具备订单管理权限。
通用说明
认证头部
三个接口均需携带以下认证头部:
| 头部 | 类型 | 必填 | 说明 |
|---|---|---|---|
X-CC-Auth-Key | string | 是 | API 认证密钥 |
X-CC-Key-ID | string | 是 | API 密钥 ID |
套餐包状态
status | 说明 | 是否可能可用 |
|---|---|---|
paid | 已支付 | 是;还需套餐未过期且剩余点数大于 0 |
processing | 交付中 | 否 |
completed | 已完成 | 否 |
pending_cancel | 待确认取消 | 否 |
canceled | 已取消 | 否 |
expired | 已过期 | 否 |
usable 仅表示套餐满足基础使用条件:status=paid、未过期且剩余点数大于 0。具体订单是否可以抵扣,还需要结合产品、组织和域名限制判断。
套餐包对象
列表中的 points_packages[] 与详情接口的 data 使用相同结构。
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 套餐包 ID |
product_id | string | 套餐包模板产品 ID |
product_name | string | 套餐包名称;模板产品已不存在时为空字符串 |
status | string | 套餐包状态,取值见套餐包状态 |
total_points | integer | 套餐总点数 |
used_points | integer | 已使用点数 |
remaining_points | integer | 剩余点数,最小为 0 |
usable | boolean | 套餐当前是否满足基础使用条件 |
created_at | string | 套餐创建时间,RFC 3339 格式 |
expires_at | string | 套餐到期时间,RFC 3339 格式 |
limit_org | boolean | 是否限制可使用套餐的组织 |
org_names | array[string] | 允许使用套餐的组织名称;不限制时返回 [] |
limit_domain | boolean | 是否限制可使用套餐的域名 |
domains | array[string] | 允许使用套餐的域名;不限制时返回 [] |
deductible_products | array[object] | 套餐包可抵扣的产品及点数配置 |
deductible_products[] 字段:
| 字段 | 类型 | 说明 |
|---|---|---|
product_id | string | 可抵扣产品 ID;产品下架或删除后仍保留该 ID |
product_name | string | 当前产品名称;产品已不存在时为空字符串 |
available | boolean | 当前产品是否仍存在且未禁用;不代表指定订单一定可以抵扣 |
single_points | integer / null | 单域名每年所需点数;未配置时为 null,配置为零点时为 0 |
wildcard_points | integer / null | 通配符每年所需点数;未配置时为 null,配置为零点时为 0 |
空值与历史配置
org_names、domains、deductible_products、points_packages和transactions没有数据时均返回[],不会返回null。single_points、wildcard_points的null表示未配置,数值0表示已配置为零点,两者含义不同。- 可抵扣产品下架或删除后不会从套餐快照中消失;此时仍返回
product_id,同时product_name=""、available=false。
查询套餐包列表
GET
/openapi/v3/points-packages
分页查询当前账户的套餐包。结果固定按创建时间倒序返回;创建时间相同时按套餐包 ID 倒序返回。
查询参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
page | integer | 否 | 1 | 页码,最小值为 1 |
page_size | integer | 否 | 20 | 每页数量,取值范围为 1–100 |
status | string | 否 | - | 套餐包状态;多个状态使用英文逗号分隔,例如 paid,expired。不传时查询全部六种对外状态 |
请求示例
bash
curl -G 'https://api.certcloud.cn/openapi/v3/points-packages' \
-H 'X-CC-Auth-Key: your-auth-key' \
-H 'X-CC-Key-ID: your-key-id' \
--data-urlencode 'page=1' \
--data-urlencode 'page_size=20' \
--data-urlencode 'status=paid,expired'返回数据
| 字段 | 类型 | 说明 |
|---|---|---|
page | integer | 当前页码 |
page_size | integer | 每页数量 |
total | integer | 符合条件的套餐包总数 |
points_packages | array[object] | 套餐包列表,字段见套餐包对象 |
查询套餐包详情
GET
/openapi/v3/points-packages/:id
查询当前账户的单个套餐包。详情只返回套餐包对象,不包含分页字段或流水。
Path 参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 套餐包 ID |
请求示例
bash
curl 'https://api.certcloud.cn/openapi/v3/points-packages/pkg-org-domain-60' \
-H 'X-CC-Auth-Key: your-auth-key' \
-H 'X-CC-Key-ID: your-key-id'返回数据
成功时,data 为一个完整的套餐包对象。
详情响应边界
详情接口不会返回 page、page_size、total 或 transactions。需要查询流水时,请调用下方的流水接口。
查询扣除与退款流水
GET
/openapi/v3/points-packages/:id/transactions
分页查询指定套餐包因创建证书订单、取消订单、重颁发或取消重颁发产生的已完成点数变更。接口不返回人工调整套餐总点数、有效期、状态、组织或域名限制的操作记录。
流水固定按创建时间倒序返回;创建时间相同时按流水 ID 倒序返回。
Path 参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
id | string | 是 | 套餐包 ID |
查询参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
page | integer | 否 | 1 | 页码,最小值为 1 |
page_size | integer | 否 | 20 | 每页数量,取值范围为 1–100 |
请求示例
bash
curl -G 'https://api.certcloud.cn/openapi/v3/points-packages/pkg-general-100/transactions' \
-H 'X-CC-Auth-Key: your-auth-key' \
-H 'X-CC-Key-ID: your-key-id' \
--data-urlencode 'page=1' \
--data-urlencode 'page_size=20'返回数据
| 字段 | 类型 | 说明 |
|---|---|---|
page | integer | 当前页码 |
page_size | integer | 每页数量 |
total | integer | 符合条件的流水总数 |
transactions | array[object] | 扣除与退款流水 |
transactions[] 字段:
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 流水 ID |
type | string | 流水类型:deduction(扣除)或 refund(退款) |
operation | string | 业务操作,取值见流水类型与点数符号 |
points_delta | integer | 套餐余额变化量:扣除为非正数,退款为非负数;0 是合法历史值 |
order_id | string | 关联订单 ID;历史关联数据缺失时为空字符串 |
username | string | 操作用户名;用户当前无法解析时为空字符串 |
created_at | string | 流水创建时间,RFC 3339 格式 |
流水类型与点数符号
type | operation | 业务含义 | points_delta |
|---|---|---|---|
deduction | create_order | 创建证书订单扣点 | <= 0 |
refund | cancel_order | 取消证书订单退款 | >= 0 |
deduction | reissue | 重颁发扣点 | <= 0 |
refund | cancel_reissue | 取消重颁发退款 | >= 0 |
points_delta 使用套餐余额变化语义。例如扣除 6 点返回 -6,退回 6 点返回 6。接口不返回每笔流水发生后的历史余额。
错误响应
| HTTP 状态码 | code | 场景 |
|---|---|---|
400 | invalid_parameters | page 或 page_size 超出范围、status 包含未知值等参数错误 |
401 | unauthenticated_request | 认证头部缺失或鉴权失败 |
401 | api_key_disabled | API Key 已禁用 |
403 | permission_denied | API Key 没有订单管理权限 |
403 | permission_denied | 详情或流水的套餐包不存在、不属于当前账户,或指定 ID 不是套餐包 |
500 | service_internal_error | 服务器内部错误 |
更多通用错误码见错误码说明。
