Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

API მიმოხილვა

Fenfa REST API-ს build-ების ატვირთვის, პროდუქტების მართვისა და ანალიტიკის მოკითხვისთვის ექსპოზდება. CI/CD ატვირთვებიდან admin panel-ის ოპერაციებამდე ყველა პროგრამული ინტერაქცია ამ API-ს გადის.

ბაზის URL

ყველა API endpoint Fenfa სერვერის URL-ის შედარებითია:

https://your-domain.com

ავთენტიფიკაცია

დაცული endpoint-ები X-Auth-Token header-ს მოითხოვს. Fenfa ორ token scope-ს იყენებს:

ScopeშეუძლიაHeader
uploadBuild-ების ატვირთვაX-Auth-Token: YOUR_UPLOAD_TOKEN
adminსრული admin წვდომა (upload-ის ჩათვლით)X-Auth-Token: YOUR_ADMIN_TOKEN

Token-ები config.json-ში ან გარემოს ცვლადებით კონფიგურდება. იხ. კონფიგურაცია.

WARNING

ვალიდური token-ის გარეშე დაცული endpoint-ებზე მოთხოვნები 401 Unauthorized პასუხს იღებს.

პასუხის ფორმატი

ყველა JSON პასუხი ერთიანი სტრუქტურით:

წარმატება:

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

შეცდომა:

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

შეცდომის კოდები

კოდიHTTP სტატუსიაღწერა
BAD_REQUEST400არასწორი მოთხოვნის პარამეტრები
UNAUTHORIZED401token-ი არ არის ან არასწორია
FORBIDDEN403Token-ს საჭირო scope-ი არ აქვს
NOT_FOUND404რესურსი ვერ მოიძებნა
INTERNAL_ERROR500სერვერის შეცდომა

Endpoint-ების შეჯამება

საჯარო Endpoint-ები (ავთენტიფიკაცია არ სჭირდება)

მეთოდიPathაღწერა
GET/products/:slugპროდუქტის ჩამოტვირთვის გვერდი (HTML)
GET/d/:releaseIDფაილის პირდაპირი ჩამოტვირთვა
GET/ios/:releaseID/manifest.plistiOS OTA manifest
GET/udid/profile.mobileconfig?variant=:idUDID binding profile
POST/udid/callbackUDID callback (iOS-იდან)
GET/udid/status?variant=:idUDID binding სტატუსი
GET/healthzHealth check

Upload Endpoint-ები (Upload Token)

მეთოდიPathაღწერა
POST/uploadBuild ფაილის ატვირთვა

Admin Endpoint-ები (Admin Token)

მეთოდიPathაღწერა
POST/admin/api/smart-uploadSmart ატვირთვა ავტო-გამოვლენით
GET/admin/api/productsპროდუქტების ჩამოთვლა
POST/admin/api/productsპროდუქტის შექმნა
GET/admin/api/products/:idპროდუქტის მიღება variant-ებით
PUT/admin/api/products/:idპროდუქტის განახლება
DELETE/admin/api/products/:idპროდუქტის წაშლა
POST/admin/api/products/:id/variantsVariant-ის შექმნა
PUT/admin/api/variants/:idVariant-ის განახლება
DELETE/admin/api/variants/:idVariant-ის წაშლა
GET/admin/api/variants/:id/statsVariant-ის სტატისტიკა
DELETE/admin/api/releases/:idRelease-ის წაშლა
PUT/admin/api/apps/:id/publishApp-ის გამოქვეყნება
PUT/admin/api/apps/:id/unpublishApp-ის გამოქვეყნების გაუქმება
GET/admin/api/eventsEvent-ების მოკითხვა
GET/admin/api/ios_devicesiOS მოწყობილობების ჩამოთვლა
POST/admin/api/devices/:id/register-appleApple-ში მოწყობილობის რეგისტრაცია
POST/admin/api/devices/register-appleBatch მოწყობილობების რეგისტრაცია
GET/admin/api/settingsპარამეტრების მიღება
PUT/admin/api/settingsპარამეტრების განახლება
GET/admin/api/upload-configUpload კონფიგურაციის მიღება
GET/admin/api/apple/statusApple API სტატუსი
GET/admin/api/apple/devicesApple-ში რეგისტრირებული მოწყობილობები

ექსპორტის Endpoint-ები (Admin Token)

მეთოდიPathაღწერა
GET/admin/exports/releases.csvRelease-ების ექსპორტი
GET/admin/exports/events.csvEvent-ების ექსპორტი
GET/admin/exports/ios_devices.csviOS მოწყობილობების ექსპორტი

ID ფორმატი

ყველა რესურსის ID-ები პრეფიქსი + რანდომული სტრინგის ფორმატს იყენებს:

პრეფიქსირესურსი
prd_Product
var_Variant
rel_Release
app_App (legacy)

დეტალური ცნობარები

  • Upload API -- Upload endpoint-ი ველის ცნობარითა და მაგალითებით
  • Admin API -- სრული admin endpoint-ის დოკუმენტაცია

Released under the Apache-2.0 License.