Skip to Content
مرجع APIبيتا

بيتا

أدر برامج بيتا خاصة وقوائم مختبريها. يتطلّب تفعيل ميزة بيتا للمشروع.

البرامج

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 في العنوان ويُجعل فريدًا داخل المشروع.
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
emailrequiredstringالبريد الإلكتروني للمختبِر المراد تسجيله.

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

تتطلّب الكتابات وصول API بخطة مدفوعة Pro. ويُشتق الـ slug من name البرنامج ويُجعل فريدًا داخل المشروع. وتسجيل مختبِر عملية مُتماثلة (idempotent) بحسب البريد الإلكتروني وتُعيد رمز القبول 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. وإزالة مختبِر نهائية وتحذف ملاحظات البيتا الخاصة به.

Last updated on