Gérer les applications de la bibliothèque

Lisez les applications et les versions, modifiez les métadonnées et les tracks, et masquez ou restaurez le contenu publié.

Accès et périmètre

Toutes les routes exigent X-API-Key avec LIBRARY_MANAGE. La clé validée détermine l'entreprise ; les requêtes n'ont aucun paramètre de tenant ni d'entreprise. Une clé existante disposant de LIBRARY_MANAGE peut utiliser ces routes sans autre autorisation. L'autorisation sensible est décochée par défaut ; les clés qui ne l'ont pas ne l'obtiennent pas automatiquement.

LIBRARY_MANAGE est une autorisation sensible, à l'échelle de l'entreprise, pour les envois d'APK et la gestion des applications. Elle n'autorise ni l'affectation de stratégies, ni les commandes d'appareil, ni le provisionnement, ni les opérations sur le compte.

LIBRARY_MANAGE couvre les envois d'APK et les routes de gestion des applications décrites ci-dessous. Les API publiques pour les fichiers, les contacts et les autres ressources de la bibliothèque ne sont pas encore disponibles. Cette autorisation n'inclut ni l'affectation de stratégies, ni les commandes d'appareil, ni le provisionnement, ni l'administration du compte.

Les modifications du nom d'affichage et de l'icône utilisent des déploiements différés des métadonnées. Le masquage d'une application utilise le balayage de suppression existant ; la restauration de contenu et l'ajout de tracks passent par les chemins de synchronisation existants. Les modifications de catégories mettent à jour les libellés stockés. Retirer un track ou masquer l'une de plusieurs versions publiées ne planifie pas de synchronisation immédiate des appareils. Une réponse de l'API confirme l'écriture dans le stockage, pas la synchronisation ni l'installation sur les appareils.

Envoyez un APK signé en suivant le guide distinct des envois d'APK.

Endpoints

https://api.nomid.tech/emm/api/v1

MéthodePoint d'accèsDescription
GET/library/appsListe les applications visibles par pages ; includeHidden permet d'inclure les applications masquées.
GET/library/apps/{packageName}Récupère une application, y compris lorsqu'elle est masquée.
GET/library/apps/{packageName}/versionsListe les versions ; includeHidden permet d'inclure les versions masquées.
GET/library/apps/{packageName}/versions/{versionCode}Récupère une version, y compris lorsqu'elle est masquée. Indiquez son environment lorsqu'il n'est pas vide.
PATCH/library/apps/{packageName}/display-nameDéfinit un nom d'affichage ou le réinitialise au nom de l'APK.
PATCH/library/apps/{packageName}/categoriesRemplace les libellés de catégorie de l'application.
POST/library/apps/{packageName}/iconEnvoie une icône en multipart form-data via le champ file.
DELETE/library/apps/{packageName}/iconSupprime l'icône personnalisée.
DELETE/library/apps/{packageName}Masque une application existante ; renvoie 204 et ne la supprime pas physiquement.
POST/library/apps/{packageName}/publishRestaure une application de manière idempotente ; renvoie l'application.
DELETE/library/apps/{packageName}/versions/{versionCode}Masque une version existante ; renvoie 204. S'il s'agit de la dernière version publiée, l'application devient masquée tandis que cette version reste publiée afin de permettre la restauration. Indiquez son environment lorsqu'il n'est pas vide.
POST/library/apps/{packageName}/versions/{versionCode}/publishRestaure une version et, si nécessaire, son application. Indiquez son environment lorsqu'il n'est pas vide.
GET/library/apps/{packageName}/tracksListe la dernière version publiée de chaque track d'une application publiée. À codes de version égaux, l'environment le plus élevé dans l'ordre lexicographique l'emporte.
PUT/library/apps/{packageName}/versions/{versionCode}/tracks/{trackName}Affecte une version publiée à un track ; renvoie l'affectation. Indiquez son environment lorsqu'il n'est pas vide.
DELETE/library/apps/{packageName}/versions/{versionCode}/tracks/{trackName}Supprime l'affectation d'un track ; renvoie 204. Indiquez son environment lorsqu'il n'est pas vide.

Requêtes et réponses

GET /library/apps accepte page (0 par défaut), size (50 par défaut, maximum 100) et includeHidden (false par défaut). La réponse contient content (AppDto[]), page, size, totalElements et totalPages.

La collection de versions utilise includeHidden=false par défaut et renvoie des versions avec versionCode, environment, status, displayName, displayVersion, createdAt, sha256, fileSizeBytes, tracks et checkSummary (le statut et le nombre de constats du dernier rapport de vérification de l'envoi ; null pour les versions envoyées avant l'existence des vérifications ; voir le guide des envois d'APK). Toute lecture, tout masquage, toute publication ou tout changement de track ciblant une version sélectionne précisément packageName, versionCode et environment. Omettre environment sélectionne l'environment vide. Indiquez-le toujours pour une version dont l'environment n'est pas vide, même si son code de version est unique.

Le endpoint du nom d'affichage accepte une chaîne displayName ; une valeur null ou vide réinitialise le nom, sinon la limite est de 100 caractères. Le endpoint des catégories exige un tableau categories d'au plus 50 libellés non vides de 100 caractères au maximum chacun. L'envoi de l'icône utilise le champ multipart file.

Les noms de track sont débarrassés des espaces en début et en fin, et doivent comporter de 1 à 10 caractères. Les affectations de track par PUT et DELETE exigent une application publiée et une version publiée. Indiquez toujours l'environment de la version lorsqu'il n'est pas vide.

Les icônes personnalisées doivent être au format PNG ou JPEG, peser au plus 1 Mio, mesurer au moins 192 pixels de chaque côté et être carrées à 2 % près. Le serveur normalise les images acceptées en PNG de 512 pixels.

PATCH /library/apps/com.example.app/display-name
Content-Type: application/json

{"displayName":"Field App"}

PATCH /library/apps/com.example.app/categories
Content-Type: application/json

{"categories":["Field tools"]}

Visibilité et comportement des versions

Supprimer une application la masque tout en conservant ses données. Publier l'application la restaure et peut être répété sans risque. Le endpoint d'une seule application permet de consulter une application masquée ; la collection d'applications liste les applications visibles, sauf avec includeHidden=true.

Supprimer une version existante la masque, sauf s'il s'agit de la dernière version publiée : dans ce cas, l'application devient masquée et cette version reste publiée afin que l'application puisse être restaurée. Une version masquée peut être publiée à nouveau ; publier une version peut aussi restaurer son application.

La collection de tracks renvoie la dernière version publiée par track pour une application publiée. En cas d'égalité des codes de version, l'environment le plus élevé dans l'ordre lexicographique l'emporte. Les changements de tracks ne créent pas d'affectations de stratégies.

Erreurs

401 signifie que la clé est absente, invalide, expirée ou révoquée. 403 signifie qu'elle ne dispose pas de LIBRARY_MANAGE. Vérifiez la configuration de la clé sans l'afficher.

404 signifie que l'application ou la version demandée est absente de l'entreprise de la clé, ou que l'opération exige une application ou une version publiée. Les modifications du nom d'affichage, des catégories et de l'icône personnalisée exigent une application publiée ; restaurez une application masquée avant de modifier ses métadonnées. Les opérations sur les tracks exigent une application et une version publiées. L'identifiant d'une autre entreprise n'est pas divulgué.

400 signifie qu'une valeur de la requête ou de la query string est invalide. Corrigez-la avant de réessayer.

Choisissez votre horaire

Chargement...
Ouvrir le calendrier de réservation