管理用量计费限制
POST/api/v1/billing/controls/manage
可信服务端按当前修订设置客户或 Entity 的限制、通知阈值及超额规则。
SDK 0.0.1更新于
发起请求
可信服务端按当前修订设置客户或 Entity 的限制、通知阈值及超额规则。
- 调用凭据
- 仅服务端 API Key。由可信后端调用。
- 所需权限
billing:write
base URL 和 App ID 来自 SDK 接入页。示例使用占位值,不会执行请求。服务端 Key 不可放入浏览器。
Web Beta 的结账需要明确配置 Stripe Sandbox 测试账号与已发布价格映射。跳转完成不等于支付确认。
1curl -X POST "$GROOVE_BASE_URL/api/v1/billing/controls/manage" \2 -H "Authorization: Bearer $GROOVE_SECRET_KEY" \3 -H "X-Groove-Project: $GROOVE_PROJECT_ID" \4 -H "X-Groove-Environment: sandbox" \5 -H "Content-Type: application/json" \6 -d '{7 "customerId": "00000000-0000-4000-8000-000000000001",8 "command": {9 "entitlementId": "00000000-0000-4000-8000-000000000001",10 "entityId": null,11 "interval": "month",12 "basis": "usage",13 "revision": 0,14 "limit": "1000",15 "thresholds": [16 0.8,17 118 ],19 "requestId": "00000000-0000-4000-8000-000000000001"20 }21}'
响应选项卡列出字段类型,不是响应示例;实际值由客户状态决定。
请求参数
JSON 请求体
customerIduuid必填Indiana 客户 ID。服务端从已验证身份关联;客户 Token 调用时省略并使用 Token 绑定的客户。
commandobject | object | object必填本次操作的 command 值,类型和约束见字段标注。
展开子字段
entitlementIduuid | uuid | uuid必填本次操作的 entitlementId 值,类型和约束见字段标注。
entityIduuid | null | uuid | null | uuid | null必填当前客户范围内的实体 ID;只用于已配置的实体和许可功能。
intervalenum | enum可选本次操作的 interval 值,类型和约束见字段标注。
basisenum可选本次操作的 basis 值,类型和约束见字段标注。
查看允许值
"usage""credits"
filterobject可选本次操作的 filter 值,类型和约束见字段标注。
revisioninteger | integer | integer必填读取资料时返回的版本号;更新使用它检测并发修改。
limitstring | null可选一页返回的最大记录数量,受契约上限限制。
thresholdsarray可选本次操作的 thresholds 值,类型和约束见字段标注。
maxItems: 8
includedThresholdsarray可选本次操作的 includedThresholds 值,类型和约束见字段标注。
maxItems: 8
absoluteThresholdsarray可选本次操作的 absoluteThresholds 值,类型和约束见字段标注。
maxItems: 8
requestIduuid | uuid | uuid必填你的业务请求 UUID;同一次操作重试复用,新的操作生成新值。
control"overage" | "overage"可选本次操作的 control 值,类型和约束见字段标注。
action"set" | "remove"可选本次业务动作。不同动作的目标字段和数量要求不同,见请求结构与示例。
allowedboolean | null可选当前评估时是否允许此功能。仅用于展示,业务操作仍需后端授权。
overageLimitstring | null可选窗口内只计算超出包含额度的单位数量,预扣占用容量。null 不设上限,0 禁止新增超额。
skipOverageBillingboolean可选显式允许超额时免收现金费用,仍记录用量并执行数量上限。
响应字段
成功响应包含 requestId 和 scope。结合实际业务状态或 accepted 判断操作结果;可选字段不可用时省略。
HTTP 200 · application/json
requestIduuid必填服务端生成的 HTTP 请求 UUID,排查请求时提供这个值。
scopeobject必填响应实际所属的 App 和环境。Header 只能核对,不能切换 Key 范围。
展开子字段
projectIdstring必填凭据绑定的 App ID。
minLength: 1
environmentenum必填独立数据范围:sandbox 或 live。
查看允许值
"sandbox""live"
controlsobject必填本次操作的 controls 值,类型和约束见字段标注。
展开子字段
authorizationsarray必填本次操作的 authorizations 值,类型和约束见字段标注。
maxItems: 100
展开子字段
iduuid必填本次操作的 id 值,类型和约束见字段标注。
termsobject | object必填本次操作的 terms 值,类型和约束见字段标注。
展开子字段
productVersionIduuid | uuid必填本次操作的 productVersionId 值,类型和约束见字段标注。
entitlementVersionIduuid | uuid必填本次操作的 entitlementVersionId 值,类型和约束见字段标注。
currencyenum | enum必填已发布价格支持的币种代码。
maxAmountMinorPerPeriodstring | string必填本次操作的 maxAmountMinorPerPeriod 值,类型和约束见字段标注。
kind"auto_topup" | "postpaid"必填本次操作的 kind 值,类型和约束见字段标注。
thresholdobject可选本次操作的 threshold 值,类型和约束见字段标注。
maxPurchasesPerDayinteger可选本次操作的 maxPurchasesPerDay 值,类型和约束见字段标注。
min: 1 · max: 1000
purchaseLimitsobject可选本次操作的 purchaseLimits 值,类型和约束见字段标注。
purchaseAmountMinorstring可选本次操作的 purchaseAmountMinor 值,类型和约束见字段标注。
pattern: ^(?:[1-9]\d{0,7}|1\d{8}|200000000)$
purchaseUnitsobject可选本次操作的 purchaseUnits 值,类型和约束见字段标注。
maxOutstandingMinorstring可选本次操作的 maxOutstandingMinor 值,类型和约束见字段标注。
pattern: ^(?:[1-9]\d{0,7}|1\d{8}|200000000)$
cashPriceobject可选本次操作的 cashPrice 值,类型和约束见字段标注。
statusenum必填本次操作的 status 值,类型和约束见字段标注。
查看允许值
"prepared""active""revoked""blocked"
createdAtdate-time必填记录创建时的 ISO 8601 UTC 时间。
acceptedAtdate-time | null必填本次操作的 acceptedAt 值,类型和约束见字段标注。
effectiveAtdate-time | null必填本次操作的 effectiveAt 值,类型和约束见字段标注。
revokedAtdate-time | null必填本次操作的 revokedAt 值,类型和约束见字段标注。
revisioninteger必填读取资料时返回的版本号;更新使用它检测并发修改。
min: 0 · max: 9007199254740991
limitsarray必填本次操作的 limits 值,类型和约束见字段标注。
maxItems: 100
展开子字段
entitlementIduuid必填本次操作的 entitlementId 值,类型和约束见字段标注。
entityIduuid | null必填当前客户范围内的实体 ID;只用于已配置的实体和许可功能。
intervalenum必填本次操作的 interval 值,类型和约束见字段标注。
查看允许值
"day""week""month""year"
basisenum必填本次操作的 basis 值,类型和约束见字段标注。
查看允许值
"usage""credits"
filterobject可选本次操作的 filter 值,类型和约束见字段标注。
revisioninteger必填读取资料时返回的版本号;更新使用它检测并发修改。
min: 0 · max: 9007199254740991
limitobject | null必填一页返回的最大记录数量,受契约上限限制。
thresholdsarray必填本次操作的 thresholds 值,类型和约束见字段标注。
maxItems: 8
includedThresholdsarray可选本次操作的 includedThresholds 值,类型和约束见字段标注。
maxItems: 8
absoluteThresholdsarray可选本次操作的 absoluteThresholds 值,类型和约束见字段标注。
maxItems: 8
overagesarray可选本次操作的 overages 值,类型和约束见字段标注。
maxItems: 100
展开子字段
entitlementIduuid必填本次操作的 entitlementId 值,类型和约束见字段标注。
entityIduuid | null必填当前客户范围内的实体 ID;只用于已配置的实体和许可功能。
allowedboolean | null必填当前评估时是否允许此功能。仅用于展示,业务操作仍需后端授权。
overageLimitobject | null必填窗口内只计算超出包含额度的单位数量,预扣占用容量。null 不设上限,0 禁止新增超额。
skipOverageBillingboolean必填显式允许超额时免收现金费用,仍记录用量并执行数量上限。
intervalenum必填本次操作的 interval 值,类型和约束见字段标注。
查看允许值
"day""week""month""year"
revisioninteger必填读取资料时返回的版本号;更新使用它检测并发修改。
min: 1 · max: 9007199254740991
startsAtdate-time必填本次操作的 startsAt 值,类型和约束见字段标注。
endsAtdate-time必填本次操作的 endsAt 值,类型和约束见字段标注。
usedstring必填当前计量周期内已用额度。
pattern: ^(0|[1-9]\d{0,23})(\.\d{1,6})?$
reservedstring必填本次操作的 reserved 值,类型和约束见字段标注。
pattern: ^(0|[1-9]\d{0,23})(\.\d{1,6})?$
remainingstring | null必填评估时的剩余额度,不预占,也不保证稍后消费成功。
windowsarray必填本次操作的 windows 值,类型和约束见字段标注。
maxItems: 200
展开子字段
entitlementIduuid必填本次操作的 entitlementId 值,类型和约束见字段标注。
entityIduuid | null必填当前客户范围内的实体 ID;只用于已配置的实体和许可功能。
intervalenum必填本次操作的 interval 值,类型和约束见字段标注。
查看允许值
"day""week""month""year"
basisenum必填本次操作的 basis 值,类型和约束见字段标注。
查看允许值
"usage""credits"
filterobject可选本次操作的 filter 值,类型和约束见字段标注。
revisioninteger必填读取资料时返回的版本号;更新使用它检测并发修改。
min: 0 · max: 9007199254740991
startsAtdate-time必填本次操作的 startsAt 值,类型和约束见字段标注。
endsAtdate-time必填本次操作的 endsAt 值,类型和约束见字段标注。
usedstring必填当前计量周期内已用额度。
pattern: ^(0|[1-9]\d{0,12})(\.\d{1,12})?$
reservedstring必填本次操作的 reserved 值,类型和约束见字段标注。
pattern: ^(0|[1-9]\d{0,12})(\.\d{1,12})?$
limitobject | null必填一页返回的最大记录数量,受契约上限限制。
thresholdsarray必填本次操作的 thresholds 值,类型和约束见字段标注。
maxItems: 8
notifiedThresholdsarray必填本次操作的 notifiedThresholds 值,类型和约束见字段标注。
maxItems: 1024
includedThresholdsarray可选本次操作的 includedThresholds 值,类型和约束见字段标注。
maxItems: 8
includedAllowancestring可选本次操作的 includedAllowance 值,类型和约束见字段标注。
pattern: ^(0|[1-9]\d{0,17})(\.\d{1,12})?$
notifiedIncludedThresholdsarray可选本次操作的 notifiedIncludedThresholds 值,类型和约束见字段标注。
maxItems: 1024
absoluteThresholdsarray可选本次操作的 absoluteThresholds 值,类型和约束见字段标注。
maxItems: 8
notifiedAbsoluteThresholdsarray可选本次操作的 notifiedAbsoluteThresholds 值,类型和约束见字段标注。
maxItems: 1024
autoTopupsarray必填本次操作的 autoTopups 值,类型和约束见字段标注。
maxItems: 100
展开子字段
authorizationIduuid必填本次操作的 authorizationId 值,类型和约束见字段标注。
statusenum必填本次操作的 status 值,类型和约束见字段标注。
查看允许值
"idle""pending""blocked"
orderIduuid | null必填本次操作的 orderId 值,类型和约束见字段标注。
hostedInvoiceUrluri | null必填本次操作的 hostedInvoiceUrl 值,类型和约束见字段标注。
purchasesTodayinteger必填本次操作的 purchasesToday 值,类型和约束见字段标注。
min: 0 · max: 9007199254740991
amountMinorThisMonthstring必填本次操作的 amountMinorThisMonth 值,类型和约束见字段标注。
pattern: ^(0|[1-9]\d{0,14})$
nextAttemptAtdate-time | null必填本次操作的 nextAttemptAt 值,类型和约束见字段标注。
failureReasonstring | null必填本次操作的 failureReason 值,类型和约束见字段标注。
limitedboolean必填本次操作的 limited 值,类型和约束见字段标注。
处理错误
常见失败| 错误码 | 处理方式 |
|---|
| UNAUTHENTICATED | 核对 Key,或将过期客户 Token 重新签发一次。 |
| FORBIDDEN | 核对当前 Key 权限与客户访问范围。 |
| INVALID_REQUEST | 检查字段类型、UUID、十进制字符串和互斥字段。 |
| SCOPE_MISMATCH | 使用凭据绑定的 App 和环境。 |
常见失败
UNAUTHENTICATED
- 处理方式
- 核对 Key,或将过期客户 Token 重新签发一次。
FORBIDDEN
- 处理方式
- 核对当前 Key 权限与客户访问范围。
INVALID_REQUEST
- 处理方式
- 检查字段类型、UUID、十进制字符串和互斥字段。
SCOPE_MISMATCH
- 处理方式
- 使用凭据绑定的 App 和环境。
相关:完整请求与错误约定·返回接口索引