Skip to Content

Бета

Запускайте закрытые бета-программы и управляйте списком их тестировщиков. Требуется, чтобы функция беты была включена для проекта.

Программы

GET/v1/beta/programs

ParameterTypeDescription
statusstringФильтр по статусу: draft, active или closed.
limitintegerРазмер страницы. По умолчанию 25.
offsetintegerСколько элементов пропустить. По умолчанию 0.

GET/v1/beta/programs/:id

POST/v1/beta/programs

ParameterTypeDescription
namerequiredstringНазвание программы. Slug URL формируется из него и делается уникальным в пределах проекта.
versionstringТестируемая semver-версия (X.Y.Z).
summarystringКраткое описание беты.
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).
summarystringКраткое описание беты.
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
emailrequiredstringEmail добавляемого тестировщика.

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

Запись требует доступа к API на платном тарифе Pro. Slug формируется из name программы и делается уникальным в пределах проекта. Добавление тестировщика идемпотентно по email и возвращает 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 } }

Добавление тестировщика

Идемпотентно по email: добавление адреса, уже присутствующего в программе, возвращает существующую запись с 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. Удаление тестировщика необратимо и удаляет его бета-отзывы.

Last updated on