API 产品
API 产品是一组相关的开放接口。开通产品权限后,应用可以按指定版本调用接口。每个产品提供 API 地址(Base URL)、目标 API(Audience)、权限(Scope)、数据格式(Schema)、调用配额和支持说明。
在开发者后台进入应用的 API 与权限 页面,可以查看可用产品并申请权限。产品名称和说明支持中文、英文;Scope、Audience 和接口路径使用固定标识。
基本概念
| 名称 | 说明 | 示例 |
|---|---|---|
| 应用(Application) | 产品在某个环境中的接入配置 | acme-workflow 的 Sandbox 应用 |
| API 产品 | 可申请的一组接口,包含版本、地址和调用要求 | OEM Core API |
| API 调用权限 | 当前调用身份可以使用的操作、数据范围和配额 | 应用身份的账单只读权限 |
创建应用后,需要单独申请 API 调用权限。每次请求还会校验访问令牌(Token)、企业和资源权限。
同一应用支持应用身份(service/confidential)和用户身份(user/public + PKCE)。两种身份分别配置 OAuth Client 和 API 调用授权,权限状态及撤销操作相互独立。
申请 API 权限
- 登录开发者后台,打开目标应用的 API 与权限 页面。
- 根据调用场景选择 应用身份权限 或 用户身份权限。
- 选择 API 产品,查看权限说明、版本和环境。
- 点击 开通权限,选择所需 Scope 并提交。自动校验成功后,权限立即启用。
权限状态的含义如下:
| 状态 | 含义 | 下一步 |
|---|---|---|
| 可申请 | 当前 Application 尚未订阅该 API Product | 点击“开通权限”,选择一个或多个公开 Scope 并提交申请 |
| 待配置 | 历史申请尚未完成实际权限配置 | 核对后点击“完成配置并启用” |
| 已启用 | Scope 已批准,可在当前环境使用 | 按产品提供的 Audience 和接口路径调用 |
| 已暂停 / 已撤销 | 当前 API 调用授权已暂停或撤销 | 联系产品支持人员处理 |
| 未包含 | 已开通该产品,但未获批此 Scope | 当前后台不支持追加 Scope,请通过支持渠道申请新的产品授权 |
申请绑定当前应用、环境、调用身份和 API 产品,可重试但不会重复创建。已有申请时,页面显示当前状态和可执行操作。
平台自动将本次申请的 Scope 和 Audience 绑定到当前身份的 OAuth Client。状态为 已绑定 时可以开始联调;显示 配置漂移 或 暂不可核验 时,请先核对配置或稍后重试。
查看 Scope 对应的 API、事件和资源
- 在“API 与权限”中按身份、产品、状态或敏感级别筛选 Scope。
- 查看每项权限的关联 API、关联事件和资源授权范围,选择实际需要的最小集合。批量选择只作用于当前可申请项,不会扩展已启用授权。
- 提交前核对完整选择,保存后分别检查授权状态和实际绑定状态。
| 信息 | 怎样理解 |
|---|---|
| 关联 API | 公开请求方法和路由;调用仍需当前 Scope 和资源权限 |
| 关联事件 | 帮助找到相关资源事件;不会自动订阅,未登记关联不代表资源没有事件 |
| 敏感级别 | 描述数据敏感性,不是客户数据范围或资源授权 |
| 资源授权范围 | 当前应用、环境和请求时规则;不表示某个客户或资源已授权 |
| 客户资源授权要求 | 需要客户当前有效授权覆盖具体资源;仅开通 API Scope 不足 |
选择事件后,另按事件接收指南配置接收。页面可见或“已启用”不代替实际调用验证。结果未知时恢复原权限请求;版本冲突时重新读取后再确认。
获取调用配置
OAuth Client 由平台在配置校验成功后自动创建。请从开发者后台获取 Client ID、Issuer、Audience、Scope 和凭证,用于登录或调用 API。
完整的权限判断规则见接入入口与权限。
接入指南
先按要完成的任务阅读对应指南,再在当前应用的“API 与权限”中配置所需权限。
| API 产品 | 接入指南 |
|---|---|
| SaaS 订阅与支付 API | 套餐、付款与订阅接口;接入平台页面 |
| Token 套餐与多模态 API | 购买套餐、查询额度与调用模型 |
| 独立订单支付 | 一次性订单与原付款恢复 |
指南介绍受支持的调用方式。是否可以调用,仍以当前环境的产品状态、应用权限和用户授权为准;产品更新不会自动增加已有应用的权限。
共享接口与待开放能力
SaaS 订阅与支付(含可选免费激活)、Token、独立订单支付、订单管理和经营管理按 API 产品申请权限。同一产品中的接口使用对应 Scope,无需逐个申请产品。
下列共享接口使用各自的用户认证规则,无需单独开通商业权限。具体路径和 Scope 请查看对应指南。
| 能力 | 接入指南 | 状态 |
|---|---|---|
| 应用目录(1 项) | 查询当前客户可见应用 | 按当前环境的接口说明使用 |
| 用户授权(5 项) | 查询选项、创建、查询、核验与撤销授权 | 每次调用校验当前用户关系及业务 Scope |
| 用户与客户空间 | 默认个人空间与多应用用户关联 | 当前应用的用户认证;无需额外 API 产品 |
| 产品权限快照 | 查看接口说明与限制 | 尚未向标准应用开放,不计入 28 项公开操作 |
能力目录
以下为主要接入能力。调用前,请确认当前应用已开通对应 API 产品和权限。
| 能力 | 代表性操作 | 当前状态 |
|---|---|---|
| 产品访问 | 查询企业的产品状态和权益(Entitlement) | 仅返回已获授权的状态字段 |
| SaaS 订阅 | 查询、取消或变更套餐 | Sandbox API Product 已实现;Production 尚未开放 |
| 支付/退款状态 | 查询 Checkout Operation,并接收支付/退款事件 | Sandbox 已实现;仅返回脱敏状态 |
| 异步操作 | 按 operation_id 查询 Checkout 结果和下一步 | Sandbox 已实现 |
| Webhook | 接收已订阅的订阅、支付、退款和访问事件 | Sandbox 已实现;自动校验成功后启用 Webhook Subscription |
Sandbox 商业接口的稳定路径为:
GET /open-platform/v1/products(commerce.catalog.read)POST /open-platform/v1/checkout-sessions(commerce.checkout.create)GET /open-platform/v1/operations/{id}(commerce.checkout.read)GET /open-platform/v1/subscriptions、GET /open-platform/v1/subscriptions/{id}(commerce.subscription.read)POST /open-platform/v1/subscriptions/{id}:cancel、POST /open-platform/v1/subscriptions/{id}:change-plan(commerce.subscription.manage)
这些路径只有在当前 Application 获得对应 API Product、Scope、Audience 和环境授权后才可调用;Production 路由仍未开放。支付结果由平台完成校验,第三方通过已批准 Webhook Subscription 接收脱敏的 payment.* / payment.refund.* 事件。
调用要求
- 使用当前应用已开通产品提供的 Base URL、版本、路径和 Schema。
- Token 必须包含该接口要求的 Audience 和最小 Scope。
- 所有写命令携带
Idempotency-Key。 - 固定受支持版本,并跟踪弃用通知。
- 不从未发布页面、源码或服务域名推测外部接口。
- 通过公开 API 访问数据,不直接连接 GoodVision 数据库。
产品状态与环境
API 产品由平台随服务版本发布,开发者无需创建或手工发布产品。active 表示当前产品允许配置和调用;deprecated 表示已停用,重新启用后才能继续使用;revoked 表示已撤销。产品更新或服务重启不会自动恢复停用或撤销状态。
产品状态、应用 API 调用权限和用户同意分别校验。Sandbox 验收通过后,仍需单独配置 Production 应用、凭证和 Scope,并使用正式环境的接口版本。