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.