Skip to content
تم إنشاء هذه الصفحة وترجمتها بمساعدة الذكاء الاصطناعي. إذا لاحظت أي أخطاء، لا تتردد في المساهمة في تحسينها. تعديل على GitHub

نظرة عامة على واجهة برمجة التطبيقات ​

يعرض Fenfa REST API لرفع البنيات وإدارة المنتجات والاستعلام عن الإحصائيات. جميع التفاعلات البرمجية -- من رفع CI/CD إلى عمليات لوحة الإدارة -- تمر عبر هذا API.

URL الأساسي ​

جميع نقاط نهاية API نسبية إلى URL خادم Fenfa:

https://your-domain.com

المصادقة ​

تتطلب نقاط النهاية المحمية رأس X-Auth-Token. يستخدم Fenfa نطاقَي رمز:

النطاقالصلاحياتالرأس
uploadرفع البنياتX-Auth-Token: YOUR_UPLOAD_TOKEN
adminوصول إدارة كامل (يشمل الرفع)X-Auth-Token: YOUR_ADMIN_TOKEN

تُعيَّن الرموز في config.json أو عبر متغيرات البيئة. راجع الإعداد.

WARNING

الطلبات إلى نقاط النهاية المحمية بدون رمز صالح تستقبل استجابة 401 Unauthorized.

تنسيق الاستجابة ​

جميع استجابات JSON تتبع بنية موحدة:

نجاح:

json
{
  "ok": true,
  "data": { ... }
}

خطأ:

json
{
  "ok": false,
  "error": {
    "code": "BAD_REQUEST",
    "message": "variant_id is required"
  }
}

رموز الأخطاء ​

الرمزحالة HTTPالوصف
BAD_REQUEST400معاملات طلب غير صالحة
UNAUTHORIZED401رمز مصادقة مفقود أو غير صالح
FORBIDDEN403الرمز يفتقر إلى النطاق المطلوب
NOT_FOUND404المورد غير موجود
INTERNAL_ERROR500خطأ في الخادم

ملخص نقاط النهاية ​

نقاط النهاية العامة (بدون مصادقة) ​

الطريقةالمسارالوصف
GET/products/:slugصفحة تنزيل المنتج (HTML)
GET/d/:releaseIDتنزيل الملف مباشرةً
GET/ios/:releaseID/manifest.plistmanifest iOS OTA
GET/udid/profile.mobileconfig?variant=:idملف تعريف ربط UDID
POST/udid/callbackرد UDID (من iOS)
GET/udid/status?variant=:idحالة ربط UDID
GET/healthzفحص الصحة

نقاط نهاية الرفع (رمز الرفع) ​

الطريقةالمسارالوصف
POST/uploadرفع ملف بناء

نقاط نهاية الإدارة (رمز الإدارة) ​

الطريقةالمسارالوصف
POST/admin/api/smart-uploadرفع ذكي مع كشف تلقائي
GET/admin/api/productsقائمة المنتجات
POST/admin/api/productsإنشاء منتج
GET/admin/api/products/:idالحصول على منتج مع متغيراته
PUT/admin/api/products/:idتحديث منتج
DELETE/admin/api/products/:idحذف منتج
POST/admin/api/products/:id/variantsإنشاء متغير
PUT/admin/api/variants/:idتحديث متغير
DELETE/admin/api/variants/:idحذف متغير
GET/admin/api/variants/:id/statsإحصائيات المتغير
DELETE/admin/api/releases/:idحذف إصدار
PUT/admin/api/apps/:id/publishنشر تطبيق
PUT/admin/api/apps/:id/unpublishإلغاء نشر تطبيق
GET/admin/api/eventsاستعلام الأحداث
GET/admin/api/ios_devicesقائمة أجهزة iOS
POST/admin/api/devices/:id/register-appleتسجيل جهاز مع Apple
POST/admin/api/devices/register-appleتسجيل دفعي للأجهزة
GET/admin/api/settingsالحصول على الإعدادات
PUT/admin/api/settingsتحديث الإعدادات
GET/admin/api/upload-configالحصول على إعداد الرفع
GET/admin/api/apple/statusحالة Apple API
GET/admin/api/apple/devicesالأجهزة المسجّلة في Apple

نقاط نهاية التصدير (رمز الإدارة) ​

الطريقةالمسارالوصف
GET/admin/exports/releases.csvتصدير الإصدارات
GET/admin/exports/events.csvتصدير الأحداث
GET/admin/exports/ios_devices.csvتصدير أجهزة iOS

تنسيق المعرف ​

جميع معرفات الموارد تستخدم تنسيق بادئة + سلسلة عشوائية:

البادئةالمورد
prd_المنتج
var_المتغير
rel_الإصدار
app_التطبيق (قديم)

المراجع التفصيلية ​

Released under the Apache-2.0 License.