预估用量
POST/api/v1/balances/quote
按已发布费率预估消费,不扣减或预占。
SDK 0.0.1更新于
发起请求
按已发布费率预估消费,不扣减或预占。
- 调用凭据
- 服务端 API Key 或客户 Token。客户调用不能选择其他客户。
- 所需权限
credits:read
base URL 和 App ID 来自 SDK 接入页。示例使用占位值,不会执行请求。服务端 Key 不可放入浏览器。
1curl -X POST "$GROOVE_BASE_URL/api/v1/balances/quote" \2 -H "Authorization: Bearer $GROOVE_CUSTOMER_TOKEN" \3 -H "X-Groove-Project: $GROOVE_PROJECT_ID" \4 -H "X-Groove-Environment: sandbox" \5 -H "Content-Type: application/json" \6 -d '{7 "command": {8 "operation": "quote",9 "entitlementId": "00000000-0000-4000-8000-000000000001",10 "quantity": "1",11 "properties": {}12 }13}'
响应选项卡列出字段类型,不是响应示例;实际值由客户状态决定。
请求参数
JSON 请求体
customerIduuid可选Indiana 客户 ID。服务端从已验证身份关联;客户 Token 调用时省略并使用 Token 绑定的客户。
commandobject必填本次操作的 command 值,类型和约束见字段标注。
展开子字段
operation"quote"必填本次操作的 operation 值,类型和约束见字段标注。
overageBehaviorenum可选cap 接受当前许可及上限内的最大数量,可为 0;overflow 请求完整数量并检查超额许可、用量上限和现金预算。省略时维持整次不足就拒绝。
查看允许值
"cap""overflow"
entitlementIduuid必填本次操作的 entitlementId 值,类型和约束见字段标注。
entityIduuid可选当前客户范围内的实体 ID;只用于已配置的实体和许可功能。
quantitystring必填业务数量按字段标注类型传入;积分操作用十进制字符串,避免浮点误差。quote/reserve/confirm/refund 要求正数;consume 可记录零费用事件。
pattern: ^(0|[1-9]\d{0,11})(\.\d{1,6})?$
propertiesobject必填服务端校验的计价属性,用于匹配维度和倍率。
响应字段
成功响应包含 requestId 和 scope。结合实际业务状态或 accepted 判断操作结果;可选字段不可用时省略。
HTTP 200 · application/json
requestIduuid必填服务端生成的 HTTP 请求 UUID,排查请求时提供这个值。
scopeobject必填响应实际所属的 App 和环境。Header 只能核对,不能切换 Key 范围。
展开子字段
projectIdstring必填凭据绑定的 App ID。
minLength: 1
environmentenum必填独立数据范围:sandbox 或 live。
查看允许值
"sandbox""live"
quoteobject必填本次操作的 quote 值,类型和约束见字段标注。
展开子字段
allowedboolean必填当前评估时是否允许此功能。仅用于展示,业务操作仍需后端授权。
entitlementIduuid必填本次操作的 entitlementId 值,类型和约束见字段标注。
quantityobject必填业务数量按字段标注类型传入;积分操作用十进制字符串,避免浮点误差。quote/reserve/confirm/refund 要求正数;consume 可记录零费用事件。
requestedQuantityobject可选显式 cap/overflow 的原请求数量;quantity 是实际接受或拒绝的数量。
overageBehaviorenum可选cap 接受当前许可及上限内的最大数量,可为 0;overflow 请求完整数量并检查超额许可、用量上限和现金预算。省略时维持整次不足就拒绝。
查看允许值
"cap""overflow"
reasonenum | null必填拒绝原因或账本操作说明;结合 accepted / 状态判断结果。
allocationsarray必填本次规则计算或账本操作涉及的余额分配明细。
maxItems: 500
展开子字段
funding"unbilled" | "prepaid" | "postpaid"必填本次操作的 funding 值,类型和约束见字段标注。
unitsobject | object | object必填本次操作的 units 值,类型和约束见字段标注。
sourceIduuid可选本次操作的 sourceId 值,类型和约束见字段标注。
amountstring可选积分或账本金额,按字段的十进制字符串或整数类型传入。
pattern: ^(0|[1-9]\d{0,12})(\.\d{1,12})?$
pricingarray可选本次操作的 pricing 值,类型和约束见字段标注。
minItems: 1 · maxItems: 12
展开子字段
creditVersionIduuid | null必填本次操作的 creditVersionId 值,类型和约束见字段标注。
meteredVersionIduuid必填本次操作的 meteredVersionId 值,类型和约束见字段标注。
dimensionstring必填本次操作的 dimension 值,类型和约束见字段标注。
minLength: 1 · maxLength: 64
counterKeystring必填本次操作的 counterKey 值,类型和约束见字段标注。
minLength: 1 · maxLength: 240
cycleStartdate-time必填本次操作的 cycleStart 值,类型和约束见字段标注。
unitCostobject必填本次操作的 unitCost 值,类型和约束见字段标注。
unitsobject必填本次操作的 units 值,类型和约束见字段标注。
amountstring必填积分或账本金额,按字段的十进制字符串或整数类型传入。
pattern: ^(0|[1-9]\d{0,12})(\.\d{1,12})?$
tierinteger | null必填本次操作的 tier 值,类型和约束见字段标注。
invoiceLineIduuid | null可选本次操作的 invoiceLineId 值,类型和约束见字段标注。
authorizationIduuid可选本次操作的 authorizationId 值,类型和约束见字段标注。
处理错误
常见失败| 错误码 | 处理方式 |
|---|
| UNAUTHENTICATED | 核对 Key,或将过期客户 Token 重新签发一次。 |
| FORBIDDEN | 核对当前 Key 权限与客户访问范围。 |
| INVALID_REQUEST | 检查字段类型、UUID、十进制字符串和互斥字段。 |
| SCOPE_MISMATCH | 使用凭据绑定的 App 和环境。 |
常见失败
UNAUTHENTICATED
- 处理方式
- 核对 Key,或将过期客户 Token 重新签发一次。
FORBIDDEN
- 处理方式
- 核对当前 Key 权限与客户访问范围。
INVALID_REQUEST
- 处理方式
- 检查字段类型、UUID、十进制字符串和互斥字段。
SCOPE_MISMATCH
- 处理方式
- 使用凭据绑定的 App 和环境。
相关:完整请求与错误约定·返回接口索引