Skip to Content
API参考Beta 测试

Beta 测试

运行私有 Beta 测试计划并管理其测试者名单。需要为该项目启用 Beta 功能。

计划

GET/v1/beta/programs

ParameterTypeDescription
statusstring按状态筛选:draft、active 或 closed。
limitinteger每页数量。默认 25。
offsetinteger跳过的条数。默认 0。

GET/v1/beta/programs/:id

POST/v1/beta/programs

ParameterTypeDescription
namerequiredstring计划名称。URL 别名由其生成,并在项目内保持唯一。
versionstring受测的 semver 版本(X.Y.Z)。
summarystringBeta 的简短描述。
access_urlstring测试者获取构建的位置(如 TestFlight 链接)。
access_instructionsstring测试者如何完成设置。
statusstringdraft、active 或 closed。默认 draft。
allow_public_signupboolean允许通过门户链接公开加入。默认 false。
feedback_deadlinestring在此之后关闭反馈的 ISO-8601 时间戳。

PATCH/v1/beta/programs/:id

ParameterTypeDescription
namestring计划名称。
versionstring受测的 semver 版本(X.Y.Z)。
summarystringBeta 的简短描述。
access_urlstring测试者获取构建的位置。
access_instructionsstring测试者如何完成设置。
statusstringdraft、active 或 closed。
allow_public_signupboolean允许通过门户链接公开加入。
feedback_deadlinestring在此之后关闭反馈的 ISO-8601 时间戳。

DELETE/v1/beta/programs/:id

测试者

GET/v1/beta/programs/:programId/testers

ParameterTypeDescription
statusstring按状态筛选:invited、joined、declined 或 revoked。
limitinteger每页数量。默认 25。
offsetinteger跳过的条数。默认 0。

GET/v1/beta/programs/:programId/testers/:id

POST/v1/beta/programs/:programId/testers

ParameterTypeDescription
emailrequiredstring要添加的测试者邮箱。

DELETE/v1/beta/programs/:programId/testers/:id

写操作需要付费套餐的 API 访问权限 Pro。别名由计划的 name 生成,并在项目内保持唯一。添加测试者对邮箱是幂等的,并返回接受用的 token —— API 不发送邮件,请用它构建门户加入链接(/beta/join?token=...)并自行发送。DELETE 返回 204;删除计划会级联删除其测试者及反馈,删除测试者不可恢复。

列出计划

curl "https://api.supdesk.app/v1/beta/programs?status=active&limit=10" \ -H "Authorization: Bearer sd_live_..."
{ "data": [ { "id": "bp_abc123", "project_id": "prj_9f2a", "name": "Mobile App v2", "version": "2.0.0", "slug": "mobile-app-v2", "summary": "Early access to the new mobile experience.", "access_url": "https://testflight.apple.com/join/abcd", "access_instructions": "Install TestFlight, then open the invite link.", "status": "active", "allow_public_signup": true, "feedback_deadline": "2026-08-01T00:00:00Z", "created_at": "2026-07-01T09:12:00Z" } ], "pagination": { "limit": 25, "offset": 0, "has_more": false } }

创建计划

curl -X POST https://api.supdesk.app/v1/beta/programs \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "name": "Mobile App v2", "version": "2.0.0", "summary": "Early access to the new mobile experience.", "status": "active", "allow_public_signup": true }'
{ "data": { "id": "bp_abc123", "project_id": "prj_9f2a", "name": "Mobile App v2", "version": "2.0.0", "slug": "mobile-app-v2", "summary": "Early access to the new mobile experience.", "access_url": null, "access_instructions": null, "status": "active", "allow_public_signup": true, "feedback_deadline": null, "created_at": "2026-07-01T09:12:00Z" } }

更新计划

只会修改你发送的字段;省略的字段保持不变。

curl -X PATCH https://api.supdesk.app/v1/beta/programs/bp_abc123 \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "status": "closed" }'
{ "data": { "id": "bp_abc123", "project_id": "prj_9f2a", "name": "Mobile App v2", "version": "2.0.0", "slug": "mobile-app-v2", "summary": "Early access to the new mobile experience.", "access_url": null, "access_instructions": null, "status": "closed", "allow_public_signup": true, "feedback_deadline": null, "created_at": "2026-07-01T09:12:00Z" } }

删除计划

curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123 \ -H "Authorization: Bearer sd_live_..."

返回 204 No Content。级联删除该计划的测试者及其反馈。

列出测试者

curl "https://api.supdesk.app/v1/beta/programs/bp_abc123/testers?status=invited" \ -H "Authorization: Bearer sd_live_..."
{ "data": [ { "id": "bt_def456", "beta_program_id": "bp_abc123", "email": "jamie@example.com", "token": "9d8c7b...", "source": "invite", "status": "invited", "end_user_id": null, "invited_at": "2026-07-02T10:00:00Z", "joined_at": null } ], "pagination": { "limit": 25, "offset": 0, "has_more": false } }

添加测试者

对邮箱是幂等的:添加已在计划中的地址会返回其现有记录,状态码为 200 而非 201

curl -X POST https://api.supdesk.app/v1/beta/programs/bp_abc123/testers \ -H "Authorization: Bearer sd_live_..." \ -H "Content-Type: application/json" \ -d '{ "email": "jamie@example.com" }'
{ "data": { "id": "bt_def456", "beta_program_id": "bp_abc123", "email": "jamie@example.com", "token": "9d8c7b...", "source": "invite", "status": "invited", "end_user_id": null, "invited_at": "2026-07-02T10:00:00Z", "joined_at": null } }

使用返回的 token 构建门户加入链接(/beta/join?token=...)并自行发送。

移除测试者

curl -X DELETE https://api.supdesk.app/v1/beta/programs/bp_abc123/testers/bt_def456 \ -H "Authorization: Bearer sd_live_..."

返回 204 No Content。移除测试者不可恢复,并会删除其 Beta 反馈。

Last updated on