Appearance
错误码说明
OpenAPI v3 响应中的 code 字段是 string。
HTTP 状态码
| 状态码 | 说明 |
|---|---|
| 200 | 请求成功(code=success) |
| 202 | 请求已受理,持久订单仍在处理(code=success) |
| 400 | 参数错误、业务校验失败、限流或其他业务错误 |
| 401 | 鉴权失败(如 unauthenticated_request、api_key_disabled) |
| 403 | 已通过鉴权,但当前 API Key 或账户无权执行该操作(permission_denied) |
| 404 | 证书链相关接口中的订单、证书等资源不存在(resource_not_found) |
| 409 | 请求与已有资源状态冲突或订单已进入业务终态 |
| 422 | 请求格式正确,但产品能力或业务资格不满足 |
| 429 | 请求频率或并发容量超限 |
| 500 | 服务器内部错误(如 service_internal_error、delivery_chain_system_error) |
| 503 | 服务或能力暂不可用(如 service_internal_error、delivery_chain_not_ready、delivery_chain_lock_timeout) |
业务错误码(字符串)
通用错误码
| code | 说明 |
|---|---|
success | 请求成功 |
request_too_fast | 请求太频繁,请稍后再试 |
invalid_parameters | 参数无效 |
permission_denied | 权限不足 |
resource_not_found | 请求资源不存在 |
service_busy | 服务繁忙,请稍后重试 |
service_internal_error | 服务器内部错误 |
service_internal_timeout | 服务器处理超时 |
api_deprecated | 接口已废弃 |
OpenAPI v3 常见错误码
| code | 说明 |
|---|---|
unauthenticated_request | API 鉴权失败或鉴权头缺失 |
api_key_disabled | API Key 已禁用 |
api_key_overdue | 当前套餐不包含该项权益 |
ip_limit | IP 不在白名单中 |
alternative_order_id_processing | 相同备用订单正在处理中 |
duplicate_alternative_order_id | 备用订单 ID 重复 |
invalid_cert | 无效证书 |
invalid_cert_format | 证书格式无效 |
invalid_organization_info | 组织信息无效 |
invalid_user_info | 联系人信息无效 |
invalid_domain | 域名无效 |
invalid_dcv_method | 验证方式无效 |
order_not_found | 未找到订单 |
dcv_not_completed | 域名验证未完成 |
审核链接错误码
以下错误适用于审核链接的创建、详情、材料上传/下载和令牌刷新接口。
| 编号 | code | HTTP | 说明 |
|---|---|---|---|
| 33135 | invalid_file_format | 400 | 上传材料的文件扩展名不受支持。 |
| 33136 | file_size_exceeds_50m | 400 | 上传材料超过对应类型的大小上限;不同类型的实际上限为 5MB、10MB 或 50MB。 |
| 33139 | order_materials_over_limit | 400 | 同一审核链接通过 API 累计上传的材料超过 15 个。 |
| 33200 | audit_link_not_found | 400 | 审核链接不存在,或不属于当前 API 账户。 |
| 33263 | name_fields_conflict | 400 | name 与 first_name/last_name 同时传入,或兼容字段只传入其中一个。 |
| 33264 | name_cannot_split | 400 | 姓名无法拆分,或拆分后的姓、名超过长度限制。 |
下载接口按 material_type 筛选后没有可用材料时,返回通用错误 resource_not_found。
证书链错误码
以下错误适用于证书链候选查询、订单交付偏好,以及指定交付路径的创建、重颁发、续期和证书详情请求。失败响应使用标准 code(字符串错误码)和 error(错误说明)。客户端应按 code 判断处理分支。
| code | HTTP | 说明与处理 |
|---|---|---|
delivery_chain_invalid_parameter | 400 | 参数缺失、类型错误或偏好编号不合法;修正请求 |
delivery_chain_unknown_selector | 400 | 编号处于登记范围,但路径不存在;重新查询候选链 |
delivery_chain_material_invalid | 400 | 证书材料缺失、过期或校验失败;重新查询候选路径,或联系服务支持 |
delivery_chain_not_applicable | 400 | 路径不适用于当前 ICA 或链族,或所选 ICA 不适用于当前 CA 账户、密钥算法或签发服务;重新选择适用项 |
product_ica_not_enabled | 400 | 产品未开放所选签发 ICA;重新查询产品候选或沿用默认签发配置 |
delivery_chain_issuer_ambiguous | 409 | 无法唯一确定实际 ICA;联系服务支持 |
delivery_chain_ica_policy_conflict | 409 | ICA 交付策略不一致;联系服务支持 |
delivery_chain_ica_not_enabled | 409 | 当前 ICA 未开放此路径;重新查询可选路径 |
delivery_chain_retired | 409 | 路径已下架,不允许新增选择 |
delivery_chain_blocked | 409 | 路径已禁用,无法交付;选择其他可用路径 |
delivery_chain_reference_conflict | 409 | 引用状态发生冲突;刷新订单和候选链后重试 |
delivery_chain_inheritance_conflict | 409 | 继承配置冲突;联系服务支持 |
delivery_chain_catalog_conflict | 409 | 证书链目录信息冲突;联系服务支持 |
delivery_chain_legacy_policy_conflict | 409 | 新旧交付配置冲突;联系服务支持 |
delivery_chain_not_ready | 503 | 服务暂不支持当前证书链能力;等待恢复后重试 |
delivery_chain_lock_timeout | 503 | 配置更新繁忙;先回查保存结果,再退避重试 |
delivery_chain_system_error | 500 | 处理失败;先回查保存结果,必要时联系服务支持 |
鉴权、资源归属等检查也可能返回通用错误,如 HTTP 403 permission_denied、HTTP 404 resource_not_found。通用内部错误还可能使用 service_internal_error。
证书链错误处理与重试
json
{
"code": "delivery_chain_blocked",
"error": "此证书链已禁用"
}- 候选查询会过滤不可选项;成功返回空数组不等同于请求失败。需要指定路径时,应重新查询并从返回的候选中选择。
- 写入请求断连、超时或返回 HTTP 500/503 时,不能仅凭状态码认定操作未生效。修改偏好后先查询订单交付偏好核对保存值,再获取证书详情确认实际交付结果。
- 创建订单失败且结果不确定时,使用原
alternative_order_id查询订单;同步签发用同一备用 ID 和原始请求重试。重颁发、续期先查询订单状态,避免重复提交业务操作。
ACME EAB 错误码
以下错误适用于订单 ACME EAB 的获取/创建、轮换和 IP 白名单更新接口。
| 编号 | code | HTTP | 说明 |
|---|---|---|---|
| 33020 | 33020 | 400 | 当前订单状态无法生成 ACME EAB(如订单已取消、过期或无可用域名)。 |
| 33074 | 33074 | 400 | 该产品目前不支持 ACME。 |
| 33181 | order_org_validation_not_passed_for_acme_eab | 400 | 订单组织验证未通过,无法生成 ACME EAB。 |
| 33182 | order_acme_eab_not_found_for_rotate | 400 | kid 不存在或已失效。 |
| 33185 | only_current_active_eab_can_rotate | 409 | 轮换时 path 中的 kid 不存在或已失效;重新获取当前 eab_kid 后重试。 |
同步签发错误码
响应 envelope 的 code 始终是下表中的字符串;“编号”是对应的稳定错误编号,不会代替字符串写入 JSON code 字段。
| 编号 | code | HTTP | 说明 |
|---|---|---|---|
| 33248 | sync_issuance_alternative_id_required | 400 | 同步签发缺少 alternative_order_id,或其值为空、全为空白。 |
| 33249 | sync_issuance_source_denied | 403 | 当前调用来源不允许使用同步签发。 |
| 33250 | sync_issuance_product_not_enabled | 422 | 当前账户的产品或产品组未启用同步签发。 |
| 33251 | sync_issuance_unsupported_product | 422 | 当前产品或交付方式暂不支持同步签发。 |
| 33252 | sync_issuance_audit_not_passed | 422 | 所需审核未通过、已失效、已被一次性消耗,或审核主体与账户、Provider、产品要求不匹配。 |
| 33253 | sync_issuance_custody_not_enabled | 422 | 主体未启用同步签发要求的 CA 私钥托管。 |
| 33254 | sync_issuance_agreement_incomplete | 422 | 协议或授权不完整的保留错误码,当前同步流程不主动返回。产品用户协议拒绝使用下方的 user_agreement_not_accepted。 |
| 33255 | sync_issuance_approval_required | 422 | 订单仍需管理员人工审批或商务确认。 |
| 33256 | sync_issuance_payment_required | 422 | 订单需要支付;复用 unpaid 订单时返回原订单信息,不自动补支付或再次扣费。首次支付可能仍在进行,支付失败或持续未支付需人工处理。 |
| 33257 | sync_issuance_waiter_capacity | 429 | 新订单的同步创建或等待容量已满;订单未创建。 |
| 33258 | sync_issuance_alternative_id_processing | 409 | 同一个备用订单 ID 的订单正在并发创建,但尚未观察到持久映射;请稍后使用原请求重试。 |
| 33259 | sync_issuance_order_terminal | 409 | 订单或 CA 订单已取消、拒绝、失败、超时、吊销、归档、续签完成或过期等,无法继续本次同步交付;不应继续等待其自动签发。此处的超时是业务状态,不是本次等待预算耗尽。 |
| 33260 | sync_issuance_hosting_failed | 409 | 电子签名证书托管进入明确失败终态。 |
| 33261 | sync_issuance_certificate_delivery_failed | 500 | 证书已签发,但归属、完整性校验失败,或等待结束仍无法安全读取证书及其链;不是普通业务冲突,也不会永久返回 202。 |
同步接口还可能返回以下已有错误码:
| code | HTTP | 说明 |
|---|---|---|
invalid_parameters | 400 | 包括 sync_timeout_seconds 为负数、大于 120、小数或字符串等参数问题。省略或 0 使用默认配置。 |
user_agreement_not_accepted | 400 | 产品配置了用户协议,但新建请求显式设置 user_agreement=false。 |
permission_denied | 403 | 无权下单或访问原订单所属项目。相同账户内命中备用 ID 也不能绕过权限检查。 |
服务暂不可用时可能返回 HTTP 503,其它内部故障可能返回 HTTP 500。响应使用公开错误码,不暴露内部或上游原始错误文本。网络超时、断连和 500/503 均不代表订单未创建;使用同一备用 ID 重试,不要更换 ID 重复下单。
同步错误发生在持久订单创建以后时,data 可以包含订单 ID、状态、alternative_order_id 和 certificate.id,但不会包含 certificate.pem 或 certificate.ica_pem。详见同步签发错误响应。
预授权与 CSR 准备错误码
以下错误适用于审核链接预授权配置,以及异步/同步创建电子签名订单时的 CSR 准备。响应 code 使用字符串短码。
| 编号 | code | HTTP | 说明 |
|---|---|---|---|
| 33265 | esign_preauthorization_invalid | 400 | 预授权参数组合不合法。 |
| 33266 | esign_config_missing | 503 | 云签公共配置尚未初始化;等待配置刷新后重试。 |
| 33267 | esign_config_stale | 503 | 云签公共配置已过期;等待配置刷新后重试,不要继续使用旧上限。 |
| 33268 | esign_preauthorization_disabled | 400 | 云签当前关闭预授权能力,不能创建或首次消费预授权。 |
| 33269 | esign_preauthorization_limit_exceeded | 400 | 授权次数或有效期超过云签当前上限;收窄参数后重试。 |
| 33270 | esign_agreement_invalid | 400 | 协议确认摘要缺失或不合法;终端用户需在审核页重新确认当前协议。 |
| 33271 | esign_agreement_version_invalid | 400 | 协议版本已经失效;重新读取当前协议并确认。当前流程保留此短码,未主动返回。 |
| 33272 | esign_evidence_missing | 400 | 审核结果缺少预授权所需证据;需重新完成审核或联系服务支持。 |
| 33273 | esign_sign_task_id_required | 400 | 命中审核链接预授权,但订单未提供稳定的 esign_sign_task_id。 |
| 33274 | esign_authorization_busy | 409 | 同一审核授权正被其他订单消费;短暂退避后使用完全相同的请求重试。 |
| 33275 | esign_authorization_used | 409 | 审核授权已经消费或失效,不能换参数复用。 |
| 33276 | esign_request_conflict | 409 | 重试参数与首次 CSR 准备请求不一致;恢复原请求参数。 |
| 33277 | esign_csr_rejected | 409 | 云签明确拒绝 CSR 请求;订单未提交 CA 时授权会释放,修正原因后可重新下单。 |
| 33278 | esign_csr_delivery_unknown | 409 | 云签 CSR 请求结果未知;只能使用相同备用 ID、签署任务 ID 和原始业务参数重试。 |
| 33279 | esign_order_persistence_failed | 500 | 云签已成功但本地订单保存失败,授权进入补偿处置;请保留请求标识并联系服务支持。 |
| 33280 | esign_preauthorization_mode_mismatch | 409 | 云签实际建立的预授权次数模式与审核链接预设不符(如请求不限次数却建成有限次数);该预授权已作废、未交付 Token。请确认云签版本支持不限次数后重试,或改用有限次数配置。 |
错误响应示例
json
{
"code": "request_too_fast",
"error": "请求太频繁,请稍后再试"
}注意
实际返回可能包含未在本页列出的 code(例如新增或细分错误场景)。请以接口实时响应为准。
