API de mise à jour
Une application interroge LUMA Store avec sa version actuelle. L’API répond avec la dernière version compatible et l’URL de son fichier.
Démarrage rapide avec Harmonix
Le slug harmonix identifie l’application dans le Store. Cet exemple cherche une mise à jour Android stable à partir de la version 1.4.0.
GET /api/v1/apps/harmonix/updates
?current_version=1.4.0
&platform=android
&arch=universal
&channel=stableAucune clé API n’est nécessaire. Utilisez l’adresse publique de votre instance LUMA Store comme domaine.
Paramètres de vérification
| Paramètre | Obligatoire | Valeurs |
|---|---|---|
current_version | Oui | Version installée, par exemple 1.4.0 |
platform | Oui | windows, macos, linux ou android |
arch | Non | x64, arm64 ou universal. Défaut : universal |
channel | Non | stable, beta ou nightly. Défaut : stable |
Comprendre la réponse
Mise à jour disponible
available vaut true. Le bloc artifact fournit le fichier, sa taille, son empreinte et son URL de téléchargement.
{
"data": {
"available": true,
"currentVersion": "1.4.0",
"version": "1.5.0",
"releaseNotes": "Corrections et améliorations.",
"publishedAt": "2026-08-19T12:00:00.000Z",
"artifact": {
"id": "release-uuid",
"fileName": "harmonix-1.5.0.apk",
"size": 28746123,
"sha256": "empreinte-sha256",
"url": "https://store.example/api/v1/downloads/release-uuid"
}
},
"meta": { "apiVersion": "v1" }
}Application déjà à jour
L’absence de mise à jour est une réponse normale avec le statut HTTP 200.
{
"data": {
"available": false,
"currentVersion": "1.5.0"
},
"meta": { "apiVersion": "v1" }
}Exemple TypeScript
Vérifiez d’abord le statut HTTP, puis lisez data.available avant de proposer le téléchargement.
const params = new URLSearchParams({
current_version: "1.4.0",
platform: "android",
arch: "universal",
channel: "stable",
});
const response = await fetch(
`https://store.example/api/v1/apps/harmonix/updates?${params}`
);
if (!response.ok) {
throw new Error(`LUMA Store a répondu ${response.status}`);
}
const result = await response.json();
if (result.data.available) {
console.log(result.data.version);
console.log(result.data.artifact.url);
}Téléchargement et intégrité
L’URL retournée accepte l’en-tête HTTP Range pour reprendre un téléchargement interrompu. Après réception, calculez l’empreinte SHA-256 du fichier et comparez-la à artifact.sha256 avant toute installation.
Endpoints publics
/api/v1/apps/{slug}/updatesRecherche la dernière version compatible.
/api/v1/apps/{slug}Retourne la fiche d’une application et ses versions publiées.
/api/v1/downloads/{releaseId}Télécharge le fichier associé à une version.
/api/v1/metaDécrit la version de l’API et les plateformes reconnues.
Erreurs
Les clients doivent interpréter error.code, car le texte du message peut évoluer.
| Statut | Code | Signification |
|---|---|---|
400 | invalid_parameters | Un paramètre est absent ou invalide. |
404 | not_found | Le slug ne correspond à aucune application publiée. |
429 | rate_limited | Trop de vérifications ont été envoyées. Réessayez plus tard. |
{
"error": {
"code": "invalid_parameters",
"message": "Paramètres de mise à jour invalides."
}
}