Skip to content
Cette page a été générée et traduite avec l'aide de l'IA. Si vous remarquez des inexactitudes, n'hésitez pas à contribuer. Modifier sur GitHub

Aperçu API

Fenfa expose une API REST pour téléverser des builds, gérer les produits et interroger les analyses. Toutes les interactions programmatiques -- des téléversements CI/CD aux opérations du panneau d'administration -- passent par cette API.

URL de base

Tous les endpoints API sont relatifs à l'URL de votre serveur Fenfa :

https://your-domain.com

Authentification

Les endpoints protégés nécessitent un en-tête X-Auth-Token. Fenfa utilise deux portées de jetons :

PortéePeut faireEn-tête
uploadTéléverser des buildsX-Auth-Token: YOUR_UPLOAD_TOKEN
adminAccès admin complet (inclut le téléversement)X-Auth-Token: YOUR_ADMIN_TOKEN

Les jetons sont configurés dans config.json ou via des variables d'environnement. Voir Configuration.

WARNING

Les requêtes aux endpoints protégés sans jeton valide reçoivent une réponse 401 Unauthorized.

Format de réponse

Toutes les réponses JSON suivent une structure unifiée :

Succès :

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

Erreur :

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

Codes d'erreur

CodeStatut HTTPDescription
BAD_REQUEST400Paramètres de requête invalides
UNAUTHORIZED401Jeton d'auth manquant ou invalide
FORBIDDEN403Le jeton manque de la portée requise
NOT_FOUND404Ressource non trouvée
INTERNAL_ERROR500Erreur serveur

Résumé des endpoints

Endpoints publics (sans auth)

MéthodeCheminDescription
GET/products/:slugPage de téléchargement du produit (HTML)
GET/d/:releaseIDTéléchargement direct de fichier
GET/ios/:releaseID/manifest.plistManifeste iOS OTA
GET/udid/profile.mobileconfig?variant=:idProfil de liaison UDID
POST/udid/callbackCallback UDID (depuis iOS)
GET/udid/status?variant=:idStatut de liaison UDID
GET/healthzVérification de santé

Endpoints de téléversement (jeton de téléversement)

MéthodeCheminDescription
POST/uploadTéléverser un fichier de build

Endpoints d'administration (jeton admin)

MéthodeCheminDescription
POST/admin/api/smart-uploadTéléversement intelligent avec auto-détection
GET/admin/api/productsLister les produits
POST/admin/api/productsCréer un produit
GET/admin/api/products/:idObtenir un produit avec ses variantes
PUT/admin/api/products/:idMettre à jour un produit
DELETE/admin/api/products/:idSupprimer un produit
POST/admin/api/products/:id/variantsCréer une variante
PUT/admin/api/variants/:idMettre à jour une variante
DELETE/admin/api/variants/:idSupprimer une variante
GET/admin/api/variants/:id/statsStatistiques de variante
DELETE/admin/api/releases/:idSupprimer une version
PUT/admin/api/apps/:id/publishPublier une application
PUT/admin/api/apps/:id/unpublishDépublier une application
GET/admin/api/eventsInterroger les événements
GET/admin/api/ios_devicesLister les appareils iOS
POST/admin/api/devices/:id/register-appleEnregistrer un appareil avec Apple
POST/admin/api/devices/register-appleEnregistrement en lot des appareils
GET/admin/api/settingsObtenir les paramètres
PUT/admin/api/settingsMettre à jour les paramètres
GET/admin/api/upload-configObtenir la configuration de téléversement
GET/admin/api/apple/statusStatut de l'API Apple
GET/admin/api/apple/devicesAppareils enregistrés chez Apple

Endpoints d'export (jeton admin)

MéthodeCheminDescription
GET/admin/exports/releases.csvExporter les versions
GET/admin/exports/events.csvExporter les événements
GET/admin/exports/ios_devices.csvExporter les appareils iOS

Format d'ID

Tous les IDs de ressource utilisent un format préfixe + chaîne aléatoire :

PréfixeRessource
prd_Produit
var_Variante
rel_Version
app_Application (héritage)

Références détaillées

Released under the Apache-2.0 License.