跳到正文
Indiana
控制台
文档
章节目录 / 逐项账单

逐项账单

POST/api/v1/billing/invoices/detail

读取指定客户账单的全部已验证套餐项和用量项,按 nextCursor 分页;保留原费率、数量、税额、折扣与付款退款事实。

SDK 0.0.1更新于

发起请求

读取指定客户账单的全部已验证套餐项和用量项,按 nextCursor 分页;保留原费率、数量、税额、折扣与付款退款事实。

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

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

请求参数

JSON 请求体

invoiceIduuid必填

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

afterstring | null必填

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

limitinteger必填

一页返回的最大记录数量,受契约上限限制。

min: 1 · max: 100

customerIduuid可选

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

响应字段

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

HTTP 200 · application/json

requestIduuid必填

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

scopeobject必填

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

展开子字段
projectIdstring必填

凭据绑定的 App ID。

minLength: 1

environmentenum必填

独立数据范围:sandbox 或 live。

查看允许值

"sandbox""live"

detailobject必填

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

展开子字段
invoiceobject必填

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

展开子字段
iduuid必填

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

sourceKindenum必填

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

查看允许值

"product""usage"

providerInvoiceIdstring | null必填

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

statusenum必填

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

查看允许值

"accruing""open""pending""paid""failed""void"

currencyenum必填

已发布价格支持的币种代码。

查看允许值

"USD""EUR""CNY""GBP""JPY""CAD""AUD""NZD""CHF""HKD""SGD""KRW""INR""BRL""MXN""TWD""THB""IDR""MYR""PHP""VND""ZAR""AED""SAR""SEK""NOK""DKK""PLN""CZK""HUF""ILS""TRY""RON"

startsAtdate-time必填

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

endsAtdate-time必填

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

amountMinorstring必填

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

pattern: ^(0|[1-9]\d{0,14})$

grossAmountMinorstring必填

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

pattern: ^(0|[1-9]\d{0,14})$

discountMinorstring必填

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

pattern: ^(0|[1-9]\d{0,14})$

paidAmountMinorstring必填

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

pattern: ^(0|[1-9]\d{0,14})$

refundedAmountMinorstring必填

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

pattern: ^(0|[1-9]\d{0,14})$

createdAtdate-time必填

记录创建时的 ISO 8601 UTC 时间。

hostedInvoiceUrluri | null必填

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

adjustmentobject | null必填

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

展开子字段
originalInvoiceIduuid必填

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

amountMinorstring必填

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

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

acceptedAtdate-time | null必填

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

linesarray必填

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

maxItems: 100

展开子字段
iduuid必填

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

entitlementIduuid必填

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

entitlementVersionIduuid必填

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

productVersionIduuid必填

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

authorizationIduuid必填

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

entityIduuid | null必填

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

unitsobject必填

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

amountMinorstring必填

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

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

cashPriceobject必填

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

linesLimitedboolean必填

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

itemsarray必填

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

maxItems: 100

展开子字段
kind"product" | "invoice_credit" | "usage"必填

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

keystring | string | string必填

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

productVersionIduuid可选

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

productNamestring可选

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

itemKeystring可选

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

entityIduuid | null可选

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

quantityinteger可选

业务数量按字段标注类型传入;积分操作用十进制字符串,避免浮点误差。quote/reserve/confirm/refund 要求正数;consume 可记录零费用事件。

max: 9007199254740991

subtotalMinorstring可选

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

pattern: ^-?\d+$

discountMinorstring可选

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

pattern: ^\d+$

taxMinorstring可选

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

pattern: ^-?\d+$

totalMinorstring可选

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

pattern: ^-?\d+$

startsAtdate-time可选

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

endsAtdate-time可选

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

providerLineIdstring | null可选

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

providerItemIdstring | string | null可选

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

entitlementIduuid | uuid可选

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

entitlementVersionIduuid | uuid可选

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

creditVersionIduuid可选

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

namestring | string可选

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

unitsobject | object可选

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

reservedobject | object可选

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

amountMinorstring | string可选

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

grossAmountMinorstring可选

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

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

creditsAppliedMinorstring可选

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

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

propertiesobject可选

服务端校验的计价属性,用于匹配维度和倍率。

cashPriceobject | object可选

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

展开子字段
currencyenum | enum必填

已发布价格支持的币种代码。

pricingobject | object | object | object必填

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

billingCycleobject | object可选

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

creditProviderItemIdstring | null可选

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

nextCursorstring | null必填

下一页游标;null 表示结束。原样传回,改筛选条件时清空。

处理错误

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

常见失败

  • UNAUTHENTICATED

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

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

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

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

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