读取功能配置
GET/api/v1/features
0.3 源码候选:使用已验证的 Server Key 或 Customer/Guest Session 读取本地规则与服务器功能键。服务器规则不下发;名单只含哈希,敏感定向应选择服务器计算。支持私有 ETag 重新验证,协议头仅是版本信息。此候选尚未发布或部署。
API v1更新于
发起请求
0.3 源码候选:使用已验证的 Server Key 或 Customer/Guest Session 读取本地规则与服务器功能键。服务器规则不下发;名单只含哈希,敏感定向应选择服务器计算。支持私有 ETag 重新验证,协议头仅是版本信息。此候选尚未发布或部署。
- 调用凭据
- 服务端 API Key 或客户 Token。客户调用不能选择其他客户。
- 所需权限
features:read
base URL 和 App ID 来自 SDK 接入页。示例使用占位值,不会执行请求。服务端 Key 不可放入浏览器。
1curl "$INDIANA_BASE_URL/api/v1/features" \2 -H "Authorization: Bearer $INDIANA_CUSTOMER_TOKEN" \3 -H "X-Indiana-Project: $INDIANA_PROJECT_ID" \4 -H "X-Indiana-Protocol: 0.3" \5 -H "X-Indiana-Environment: sandbox"
响应选项卡列出字段类型,不是响应示例;实际值由客户状态决定。
响应字段
成功响应包含 requestId 和 scope。结合实际业务状态或 accepted 判断操作结果;可选字段不可用时省略。
HTTP 200 · application/json
requestIduuid必填服务端生成的 HTTP 请求 UUID,排查请求时提供这个值。
scopeobject必填响应实际所属的 App 和环境。Header 只能核对,不能切换 Key 范围。
展开子字段
projectIdstring必填凭据绑定的 App ID。
minLength: 1
environmentenum必填独立数据范围:sandbox 或 live。
查看允许值
"sandbox""live"
payloadobject必填本次操作的 payload 值,类型和约束见字段标注。
展开子字段
scopeobject必填响应实际所属的 App 和环境。Header 只能核对,不能切换 Key 范围。
展开子字段
projectIdstring必填凭据绑定的 App ID。
minLength: 1
environmentenum必填独立数据范围:sandbox 或 live。
查看允许值
"sandbox""live"
generationstring必填本次操作的 generation 值,类型和约束见字段标注。
pattern: ^[a-f0-9]{64}$
evaluatedAtdate-time必填服务端计算这份状态的 UTC 时间。
expiresAtdate-time | null必填ISO 8601 UTC 到期时间;会话和预占到期后不能继续使用。
featuresobject必填本次操作的 features 值,类型和约束见字段标注。
savedGroupsobject必填本次操作的 savedGroups 值,类型和约束见字段标注。
experimentsobject必填本次操作的 experiments 值,类型和约束见字段标注。
remoteFeaturesarray必填本次操作的 remoteFeatures 值,类型和约束见字段标注。
maxItems: 500
处理错误
常见失败| 错误码 | 处理方式 |
|---|
| UNAUTHENTICATED | 核对 Key,或将过期客户 Token 重新签发一次。 |
| FORBIDDEN | 核对当前 Key 权限与客户访问范围。 |
| INVALID_REQUEST | 检查字段类型、UUID、十进制字符串和互斥字段。 |
| SCOPE_MISMATCH | 使用凭据绑定的 App 和环境。 |
常见失败
UNAUTHENTICATED
- 处理方式
- 核对 Key,或将过期客户 Token 重新签发一次。
FORBIDDEN
- 处理方式
- 核对当前 Key 权限与客户访问范围。
INVALID_REQUEST
- 处理方式
- 检查字段类型、UUID、十进制字符串和互斥字段。
SCOPE_MISMATCH
- 处理方式
- 使用凭据绑定的 App 和环境。
相关:完整请求与错误约定·返回接口索引