跳到正文
Indiana
控制台
章节目录 / 读取独立 Paywall

读取独立 Paywall

POST/api/v1/paywalls/resolve

返回固定 Paywall Version、Offering Version、展示 Product 与能力;不创建 Funnel 或执行购买。

API v1更新于

发起请求

返回固定 Paywall Version、Offering Version、展示 Product 与能力;不创建 Funnel 或执行购买。

调用凭据
服务端 API Key 或客户 Token。客户调用不能选择其他客户。
所需权限
entitlements:read
base URL 和 App ID 来自 SDK 接入页。示例使用占位值,不会执行请求。服务端 Key 不可放入浏览器。
request.shShell
curl -X POST "$INDIANA_BASE_URL/api/v1/paywalls/resolve" \  -H "Authorization: Bearer $INDIANA_CUSTOMER_TOKEN" \  -H "X-Indiana-Project: $INDIANA_PROJECT_ID" \  -H "X-Indiana-Environment: sandbox" \  -H "Content-Type: application/json" \  -d '{  "selector": {    "type": "paywall",    "paywallId": "00000000-0000-4000-8000-000000000001"  },  "commerce": {    "provider": "stripe",    "currency": "USD"  },  "locale": "example"}'

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

请求参数

JSON 请求体

selectorobject | object必填

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

展开子字段
type"paywall" | "version"必填

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

paywallIduuid可选

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

versionIduuid可选

不可变 product_versions.id,可筛选历史版本。

customerIduuid可选

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

commerceobject必填

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

展开子字段
providerenum必填

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

查看允许值

"stripe""apple""google"

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"

localestring必填

展示语言提示。内容语言与控制台和文档语言分别维护。

minLength: 1 · maxLength: 35

requirementobject可选

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

展开子字段
internal_feature_iduuid必填

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

quantitystring必填

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

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

propertiesobject必填

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

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"

paywallobject必填

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

展开子字段
iduuid必填

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

paywallIduuid必填

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

versioninteger必填

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

max: 9007199254740991

documentobject必填

已发布的 schemaVersion 3 设计。缓存命中时可为 null;直接 HTTP 调用方须用匹配缓存还原。

展开子字段
schemaVersion3必填

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

kind"paywall"必填

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

namestring必填

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

minLength: 1 · maxLength: 80

presentationobject | object | object | object必填

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

展开子字段
type"modal" | "sheet" | "fullscreen" | "inline"必填

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

sizeenum | enum可选

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

requirementobject可选

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

展开子字段
internal_feature_iduuid必填

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

quantityobject必填

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

propertiesobject必填

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

entityIduuid可选

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

productsobject必填

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

展开子字段
itemsarray必填

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

maxItems: 20

defaultProductVersionIdstring | null必填

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

groupingobject可选

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

offeringVersionIduuid | null必填

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

offeringIduuid | null必填

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

screenobject必填

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

展开子字段
kind"screen"必填

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

schemaVersion4必填

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

namestring必填

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

minLength: 1 · maxLength: 80

surfaceenum必填

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

查看允许值

"popup""paywall""onboarding""page"

initialPageIdstring可选

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

pattern: ^[a-zA-Z][a-zA-Z0-9_-]{0,63}$

presentationobject | object | object必填

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

themeobject必填

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

pagesarray必填

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

minItems: 1 · maxItems: 10

stringsobject必填

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

actionsarray必填

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

maxItems: 40

buttonsobject必填

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

offeringobject必填

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

展开子字段
iduuid必填

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

offeringIduuid必填

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

versioninteger必填

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

max: 9007199254740991

documentobject必填

已发布的 schemaVersion 3 设计。缓存命中时可为 null;直接 HTTP 调用方须用匹配缓存还原。

展开子字段
lookupKeystring必填

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

minLength: 1 · maxLength: 200

displayNamestring必填

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

minLength: 1 · maxLength: 1500

itemsarray必填

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

maxItems: 20

metadataobject必填

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

capabilitiesobject必填

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

展开子字段
paywallobject可选

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

展开子字段
internal_feature_idstring必填

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

minLength: 1

namestring必填

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

minLength: 1 · maxLength: 120

kindenum必填

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

查看允许值

"access""metered""credit"

quantityobject必填

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

allowedboolean必填

当前评估时是否允许此功能。仅用于展示,业务操作仍需后端授权。

reasonenum | null必填

拒绝原因或账本操作说明;结合 accepted / 状态判断结果。

previewobject | null必填

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

nodesobject必填

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

plansobject必填

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

pickersobject必填

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

diagnosticsarray必填

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

展开子字段
nodeIdstring必填

已发布文档中的组件节点 ID。

messagestring必填

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

checkobject | null必填

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

展开子字段
internal_feature_idstring必填

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

minLength: 1

namestring必填

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

minLength: 1 · maxLength: 120

kindenum必填

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

查看允许值

"access""metered""credit"

quantityobject必填

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

allowedboolean必填

当前评估时是否允许此功能。仅用于展示,业务操作仍需后端授权。

reasonenum | null必填

拒绝原因或账本操作说明;结合 accepted / 状态判断结果。

previewobject | null必填

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

展开子字段
scenarioenum必填

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

查看允许值

"feature_flag""usage_limit"

candidatesarray必填

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

maxItems: 20

处理错误

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

常见失败

  • UNAUTHENTICATED

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

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

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

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

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