开发者

API 参考文档

通过开放接口查询厂商和产品、创建资源订单、同步 CDN 域名、获取用量数据和账务流水。正式 Base URL、可用权限和限流策略以商业版后台显示为准。

接口概览

开放接口默认使用 JSON 请求和 JSON 响应。部署后请在商业版后台的开发者设置中查看实际 Base URL、密钥权限和调用限制。

Base URL: https://api.your-domain.com/openapi/v1 Headers: Authorization: Bearer <API_KEY> Content-Type: application/json Accept: application/json
{ "success": true, "request_id": "req_20260710_102030", "data": {} }

鉴权

每个请求都需要携带 API Key。建议在后台为不同业务系统创建独立密钥,并限制权限范围和来源 IP。

curl -X GET "https://api.your-domain.com/openapi/v1/products" \ -H "Authorization: Bearer <API_KEY>" \ -H "Accept: application/json"
请求头 是否必填 说明
Authorization 格式为 Bearer <API_KEY>。
Idempotency-Key 创建类接口建议填写 业务侧唯一请求号,用于防止网络重试造成重复订单。
X-Kuocai-Signature 启用签名时填写 如后台开启签名校验,请按后台展示的密钥和算法生成。

厂商与产品

用于同步可售厂商、产品目录、套餐规格和价格。业务系统应只展示返回状态为 available 的产品。

GET/vendors获取厂商

返回已接入并允许对外销售的上游厂商列表。

GET/products?category=cdn&vendor_id=aliyun查询产品

按厂商、分类、售卖状态筛选产品和套餐。

GET/products/{product_id}产品详情

获取产品规格、计费周期、价格、库存和开通所需字段。

订单

订单接口用于创建、查询、续费和取消云资源订单。创建订单请携带 Idempotency-Key,并保存返回的 order_id。

POST/orders创建订单

根据产品 ID、购买数量、计费周期和客户信息创建订单。

GET/orders/{order_id}查询状态

返回订单支付状态、开通状态、资源 ID 和异常原因。

POST/orders/{order_id}/renew续费

对已开通资源提交续费请求,具体周期以产品配置为准。

curl -X POST "https://api.your-domain.com/openapi/v1/orders" \ -H "Authorization: Bearer <API_KEY>" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: KC202607100001" \ -d '{ "client_order_no": "KC202607100001", "product_id": "cdn-basic-100g", "quantity": 1, "billing_cycle": "month", "customer": { "customer_id": "cus_10086", "contact": "ops@example.com" }, "metadata": { "domain": "www.example.com" } }'

CDN 域名

当产品类型为 CDN 时,可通过域名接口提交加速域名、源站配置、证书状态和缓存刷新任务。

POST/domains创建加速域名

提交域名、源站、协议、所属订单和客户信息。

GET/domains/{domain}/status域名状态

查询审核、解析、证书、加速和异常状态。

POST/domains/{domain}/purge刷新缓存

提交 URL 或目录刷新任务,返回任务 ID 供后续查询。

用量

用量接口用于客户报表、费用预警和成本分析。请按最小必要周期拉取,避免高频全量查询。

GET/usage/bandwidth?resource_id={id}&start={time}&end={time}带宽

返回指定资源在时间范围内的带宽曲线。

GET/usage/traffic?resource_id={id}&start={date}&end={date}流量

返回流量汇总和明细,可用于客户账单展示。

GET/resources资源列表

查询客户名下已开通资源、状态、到期时间和关联订单。

账务

账务接口用于同步余额、资金流水、订单账单和对账数据。财务数据建议按天增量同步。

GET/billing/balance?customer_id={id}余额

返回客户可用余额、冻结余额和授信额度。

GET/billing/transactions资金流水

按客户、订单、交易类型和时间范围查询充值、扣费、退款、调账记录。

GET/billing/statements/{statement_id}账单详情

获取已生成账单的汇总金额、明细项目和导出状态。

回调

回调用于异步同步订单开通、支付、失败、用量预警和账务流水。业务系统收到回调后应返回 2xx,失败时平台会按策略重试。

{ "event": "order.provisioned", "request_id": "req_20260710_102030", "created_at": "2026-07-10T10:20:30Z", "data": { "order_id": "ord_10001", "client_order_no": "KC202607100001", "resource_id": "res_80001", "status": "active" } }
事件 触发时机
order.created 订单创建成功。
order.paid 订单完成支付或余额扣费。
order.provisioned 资源开通完成。
order.failed 资源开通失败或被上游拒绝。
billing.transaction.created 新增充值、扣费、退款或调账流水。
usage.threshold_reached 用量达到后台配置的预警阈值。

错误码

接口错误会返回明确 code、message 和 request_id。排查问题时请保留 request_id,便于后台日志检索。

{ "success": false, "request_id": "req_20260710_102030", "error": { "code": "validation_failed", "message": "product_id is required", "details": { "field": "product_id" } } }
HTTP 状态 code 说明
400 invalid_request 请求格式错误或参数无法解析。
401 unauthorized 缺少 API Key 或密钥无效。
403 forbidden 密钥权限不足或来源 IP 不在白名单。
404 not_found 资源、订单或接口路径不存在。
409 conflict 幂等键重复、订单状态冲突或资源已存在。
422 validation_failed 字段校验失败。
429 rate_limited 请求频率超过后台配置限制。
502 upstream_error 上游厂商接口异常或超时。

安全建议

开放接口会涉及订单、余额和资源开通,建议在正式接入前完成以下检查。

  • 不同系统使用不同 API Key,离职、外包交接或系统下线后及时停用。
  • 为高风险接口开启 IP 白名单、最小权限和幂等键校验。
  • 业务系统记录 request_id、client_order_no、order_id 和回调事件 ID。
  • 不要在前端页面、移动端安装包或公开仓库中暴露 API Key。
  • 生产环境只使用 HTTPS,并定期轮换密钥。