管理订阅
订阅授予开发者应用程序通过 API 产品使用 API 的权限。本指南介绍如何使用提供商门户管理员 API 从提供商门户管理订阅 。
先决条件
按照管理 Token创建 Token 并导出:
export API_KEY="a7ee-xxxxxxxxxxxxx"
列出订阅
检索特定 API 产品的所有订阅:
curl -k "https://localhost:7443/api/api_products/{product_id}/subscriptions?portal_id={portal_id}" \
-H "X-API-KEY: ${API_KEY}"
如果你不在本地运行,请将 localhost 替换为你的仪表板主机。如果仪表板使用自签名 TLS 证书,则需要 -k 标志。
批准订阅请求
当 API 产品禁用 subscription_auto_approval 时,订阅请求将创建管理员必须审核的批准记录。
待批准列表
curl -k "https://localhost:7443/api/approvals?event=api_product_subscription&status=pending" \
-H "X-API-KEY: ${API_KEY}"
回应:
{
"list": [
{
"id": "approval-uuid",
"event": "api_product_subscription",
"status": "pending",
"resource_type": "api_product",
"resource_name": "Payments API",
"applicant_name": "Jane Smith",
"applied_at": "2025-01-15T10:30:00Z",
"portal_name": "Main Portal"
}
],
"total": 1
}
批准订阅
curl -k -X POST "https://localhost:7443/api/approvals/{approval_id}/accept" \
-H "X-API-KEY: ${API_KEY}"
批准后:
1、订阅状态由wait_for_approval变更为subscribed。
2. 通过电子邮件通知开发者(如果已配置)。
3. 发送 Webhook 通知(如果在 API 产品上配置)。
拒绝订阅
curl -k -X POST "https://localhost:7443/api/approvals/{approval_id}/reject" \
-H "X-API-KEY: ${API_KEY}"
关于拒绝:
1、删除订阅记录。 2. 通过电子邮件通知开发者(如果已配置)。 3. 发送 Webhook 通知(如果在 API 产品上配置)。
取消订阅
管理员可以取消有效订阅:
curl -k -X DELETE "https://localhost:7443/api/api_products/{product_id}/subscriptions/{subscription_id}?portal_id={portal_id}" \
-H "X-API-KEY: ${API_KEY}"
取消订阅会删除订阅记录并取消与其关联的任何待批准的批准。
通知配置
订阅事件可以触发电子邮件和网络钩子通知。通知在 API 产品上配置。有关设置详细信息,请参阅管理 API 产品。
通知流程
| 活动 | 开发者收到 | 管理员接收 | 已通知联络点 |
|---|---|---|---|
| 请求订阅 | “请求正在审核中” | “等待你的批准” | subscription_approval_created |
| 订阅已获批准 | “请求已获批准” | “请求已批准” | subscription_approval_accepted |
| 订阅被拒绝 | “请求被拒绝” | “请求被拒绝” | subscription_approval_rejected |
| 订阅已取消 | — | — | subscription_approval_cancelled |
管理员通知仅发送给具有订阅批准权限和经过验证的电子邮件地址的用户。
Webhook 通知
Webhook 联系点将 HTTP 请求发送到配置的端点。请求正文可以使用模板变量:
| 变量 | 描述 |
|---|---|
ApplicantID | 请求者的开发者ID。 |
ApplicantName | 开发者的显示名称。 |
AppliedAt | 订阅请求的时间戳。 |
ApprovalID | 审批记录ID。 |
ResourceID | API 产品 ID。 |
ResourceName | API 产品名称。 |
Event | 事件类型。 |
Webhook 传递使用指数退避重试(最多 5 次重试,从 1 秒开始,上限为 64 秒)。