套餐读面:生效档 plan(bundle plan 键同形;无套餐行 null)+ scheduled 预约降档行(无则 null)+ usage 水位(concurrency current = 5 分钟窗清窗后并发 / cap / hardCap = floor(cap×1.1);apps used = active 非装置绑定 app 键 / cap;orgMembers 仅 org 语境(无套餐 org 按 test 档 3);monthlyEndUsers 仅 test 档)+ pricing(协议价,牌价客户 null)+ catalog 四档展示字段;带 x-tansr-org 头 = org 语境(全员可读,非成员 404)
GET
/v1/plan
const url = 'https://api.tansr.com/v1/plan';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.tansr.com/v1/plan \ --header 'Authorization: Bearer <token>'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”x-tansr-org
string
Org 作用域声明(org 公开 id);服务端校验成员资格与角色,非成员恒 404、角色不够 403
Responses
Section titled “Responses”套餐 + 水位 + 目录
Media typeapplication/json
object
plan
required
Any of:
object
caps
required
expiresAt
required
string
null
scheduled
required
Any of:
object
id
required
套餐行公开 id
string
caps
required
startsAt
required
ISO;= 当前行 expires_at,到点由 plan-lifecycle.daily 切换
string
expiresAt
required
string
null
usage
required
object
concurrency
required
orgMembers
required
pricing
required
catalog
required
平台当前可购目录;已购 caps 仍读套餐快照
Array<object>
object
pricing
caps
required
priceYear
required
string
displayName
required
string
description
required
string
highlights
required
Array<string>
catalogRevision
integer
appCreatePolicy
object
freeApps
required
integer
developerRequiredAbove
required
number
minimumTier
required
string
Example
{ "plan": { "tier": "test", "status": "active", "lapsedFrom": "test" }, "scheduled": { "tier": "test" }, "catalog": [ { "tier": "test", "benefits": { "giftTokens": { "grantOn": "purchase" } } } ], "appCreatePolicy": { "developerRequiredAbove": 5, "minimumTier": "small" }}Not_found(org 非成员)
Media typeapplication/json
object
error
required
object
code
required
错误码注册表单源派生(src/http/errors.ts ERROR_CODES;码稳定,消费方按码翻译)
string
message
required
string
requestId
required
string
detail
object
Example
{ "error": { "code": "adjudicator_not_authorized" }}本文是否有帮助?
感谢反馈,我们会持续改进这篇文章。