跳到正文
Indiana
控制台
文档
章节目录 / 读取客户持有

读取客户持有

POST/api/v1/customer-holdings

读取当前模型的会员、权益和余额来源。

SDK 0.0.1更新于

发起请求

读取当前模型的会员、权益和余额来源。

调用凭据
服务端 API Key 或客户 Token。客户调用不能选择其他客户。
所需权限
entitlements:read
base URL 和 App ID 来自 SDK 接入页。示例使用占位值,不会执行请求。服务端 Key 不可放入浏览器。
request.shShell
curl -X POST "$GROOVE_BASE_URL/api/v1/customer-holdings" \  -H "Authorization: Bearer $GROOVE_CUSTOMER_TOKEN" \  -H "X-Groove-Project: $GROOVE_PROJECT_ID" \  -H "X-Groove-Environment: sandbox" \  -H "Content-Type: application/json" \  -d '{}'

响应选项卡列出字段类型,不是响应示例;实际值由客户状态决定。

请求参数

JSON 请求体

customerIduuid可选

Indiana 客户 ID。服务端从已验证身份关联;客户 Token 调用时省略并使用 Token 绑定的客户。

entityIduuid可选

当前客户范围内的实体 ID;只用于已配置的实体和许可功能。

响应字段

成功响应包含 requestId 和 scope。结合实际业务状态或 accepted 判断操作结果;可选字段不可用时省略。

HTTP 200 · application/json

requestIduuid必填

服务端生成的 HTTP 请求 UUID,排查请求时提供这个值。

scopeobject必填

响应实际所属的 App 和环境。Header 只能核对,不能切换 Key 范围。

展开子字段
projectIdstring必填

凭据绑定的 App ID。

minLength: 1

environmentenum必填

独立数据范围:sandbox 或 live。

查看允许值

"sandbox""live"

holdingsobject必填

本次操作的 holdings 值,类型和约束见字段标注。

展开子字段
customerIduuid必填

Indiana 客户 ID。服务端从已验证身份关联;客户 Token 调用时省略并使用 Token 绑定的客户。

snapshotAtdate-time必填

本次操作的 snapshotAt 值,类型和约束见字段标注。

membershipsarray必填

本次操作的 memberships 值,类型和约束见字段标注。

maxItems: 100

展开子字段
iduuid必填

本次操作的 id 值,类型和约束见字段标注。

productIduuid必填

本次操作的 productId 值,类型和约束见字段标注。

productVersionIduuid必填

本次操作的 productVersionId 值,类型和约束见字段标注。

billingProductVersionIduuid必填

本次操作的 billingProductVersionId 值,类型和约束见字段标注。

versioninteger必填

本次操作的 version 值,类型和约束见字段标注。

max: 9007199254740991

keystring必填

本次操作的 key 值,类型和约束见字段标注。

minLength: 1 · maxLength: 64

namestring必填

客户或对象的展示名称,不作为身份唯一键。

minLength: 1 · maxLength: 120

groupIduuid必填

本次操作的 groupId 值,类型和约束见字段标注。

membershipTypeenum必填

本次操作的 membershipType 值,类型和约束见字段标注。

查看允许值

"main""addon"

statusenum必填

本次操作的 status 值,类型和约束见字段标注。

查看允许值

"trial""active""past_due""ended"

cancelAtPeriodEndboolean必填

本次操作的 cancelAtPeriodEnd 值,类型和约束见字段标注。

accessEnabledboolean必填

本次操作的 accessEnabled 值,类型和约束见字段标注。

renewalChangeobject | null必填

本次操作的 renewalChange 值,类型和约束见字段标注。

展开子字段
productVersionIduuid必填

本次操作的 productVersionId 值,类型和约束见字段标注。

namestring必填

客户或对象的展示名称,不作为身份唯一键。

minLength: 1 · maxLength: 120

versioninteger必填

本次操作的 version 值,类型和约束见字段标注。

max: 9007199254740991

effectiveAtdate-time必填

本次操作的 effectiveAt 值,类型和约束见字段标注。

benefitsAppliedAtdate-time | null必填

本次操作的 benefitsAppliedAt 值,类型和约束见字段标注。

timingenum必填

立即变更或在周期末变更;只用于契约允许的套餐变更动作。

查看允许值

"immediate""renewal"

changeKindenum必填

本次操作的 changeKind 值,类型和约束见字段标注。

查看允许值

"plan""seats""quantity"

featureobject可选

本次操作的 feature 值,类型和约束见字段标注。

seatobject | null必填

本次操作的 seat 值,类型和约束见字段标注。

statusenum必填

本次操作的 status 值,类型和约束见字段标注。

查看允许值

"prepared""quoted""confirmed""pending""scheduled"

periodobject | null必填

本次操作的 period 值,类型和约束见字段标注。

展开子字段
phaseenum必填

本次操作的 phase 值,类型和约束见字段标注。

查看允许值

"paid""trial"

startsAtdate-time必填

本次操作的 startsAt 值,类型和约束见字段标注。

endsAtdate-time | null必填

本次操作的 endsAt 值,类型和约束见字段标注。

membershipsLimitedboolean必填

本次操作的 membershipsLimited 值,类型和约束见字段标注。

balancesarray必填

本次操作的 balances 值,类型和约束见字段标注。

maxItems: 500

展开子字段
entitlementIduuid必填

本次操作的 entitlementId 值,类型和约束见字段标注。

entitlementVersionIduuid必填

本次操作的 entitlementVersionId 值,类型和约束见字段标注。

versioninteger必填

本次操作的 version 值,类型和约束见字段标注。

max: 9007199254740991

keystring必填

本次操作的 key 值,类型和约束见字段标注。

minLength: 1 · maxLength: 64

namestring必填

客户或对象的展示名称,不作为身份唯一键。

minLength: 1 · maxLength: 120

kindenum必填

本次操作的 kind 值,类型和约束见字段标注。

查看允许值

"access""metered""credit"

usageTypeenum | null必填

本次操作的 usageType 值,类型和约束见字段标注。

accessibleboolean必填

本次操作的 accessible 值,类型和约束见字段标注。

unlimitedboolean必填

本次操作的 unlimited 值,类型和约束见字段标注。

availablestring必填

本次操作的 available 值,类型和约束见字段标注。

pattern: ^(0|[1-9]\d{0,17})(\.\d{1,12})?$

heldstring必填

本次操作的 held 值,类型和约束见字段标注。

pattern: ^(0|[1-9]\d{0,17})(\.\d{1,12})?$

debtstring必填

本次操作的 debt 值,类型和约束见字段标注。

pattern: ^(0|[1-9]\d{0,17})(\.\d{1,12})?$

nextExpiresAtdate-time | null必填

本次操作的 nextExpiresAt 值,类型和约束见字段标注。

usageobject | null必填

本次操作的 usage 值,类型和约束见字段标注。

展开子字段
entitlementIduuid必填

本次操作的 entitlementId 值,类型和约束见字段标注。

entityIduuid | null必填

当前客户范围内的实体 ID;只用于已配置的实体和许可功能。

operationIduuid | null必填

业务操作 UUID;订阅执行引用 previewAttach 返回的 operationId,余额退款引用原消费操作。

usageobject必填

本次操作的 usage 值,类型和约束见字段标注。

capacitystring | null必填

本次操作的 capacity 值,类型和约束见字段标注。

remainingstring | null必填

评估时的剩余额度,不预占,也不保证稍后消费成功。

withinLimitboolean必填

本次操作的 withinLimit 值,类型和约束见字段标注。

revisioninteger必填

读取资料时返回的版本号;更新使用它检测并发修改。

min: 0 · max: 9007199254740991

updatedAtdate-time | null必填

记录最后更新时的 ISO 8601 UTC 时间。

balancesLimitedboolean必填

本次操作的 balancesLimited 值,类型和约束见字段标注。

处理错误

常见失败
错误码处理方式
UNAUTHENTICATED核对 Key,或将过期客户 Token 重新签发一次。
FORBIDDEN核对当前 Key 权限与客户访问范围。
INVALID_REQUEST检查字段类型、UUID、十进制字符串和互斥字段。
SCOPE_MISMATCH使用凭据绑定的 App 和环境。

常见失败

  • UNAUTHENTICATED

    处理方式
    核对 Key,或将过期客户 Token 重新签发一次。
  • FORBIDDEN

    处理方式
    核对当前 Key 权限与客户访问范围。
  • INVALID_REQUEST

    处理方式
    检查字段类型、UUID、十进制字符串和互斥字段。
  • SCOPE_MISMATCH

    处理方式
    使用凭据绑定的 App 和环境。

相关:完整请求与错误约定·返回接口索引