Bibliotheks-Apps verwalten
Lesen Sie Apps und Releases, bearbeiten Sie Metadaten und Tracks und blenden Sie veröffentlichte Inhalte aus oder stellen Sie sie wieder her.
Zugriff und Geltungsbereich
Jede Route erfordert X-API-Key mit LIBRARY_MANAGE. Der validierte Schlüssel bestimmt das Unternehmen; Anfragen haben keinen Tenant- oder Unternehmensparameter. Ein vorhandener Schlüssel mit LIBRARY_MANAGE kann diese Routen ohne weitere Freigabe nutzen. Die sensible Berechtigung ist standardmäßig nicht aktiviert; Schlüssel ohne sie erhalten sie nicht automatisch.
LIBRARY_MANAGE ist eine sensible, unternehmensweite Berechtigung für APK-Uploads und die App-Verwaltung. Sie umfasst weder die Zuweisung von Richtlinien noch Gerätebefehle, die Bereitstellung oder Kontovorgänge.
LIBRARY_MANAGE deckt APK-Uploads und die unten beschriebenen Routen zur App-Verwaltung ab. Öffentliche APIs für Dateien, Kontakte und andere Bibliotheksressourcen sind noch nicht verfügbar. Diese Berechtigung umfasst weder die Zuweisung von Richtlinien noch Gerätebefehle, die Bereitstellung oder die Kontoverwaltung.
Änderungen an Anzeigename und Symbol nutzen verzögerte Metadaten-Rollouts. Das Ausblenden einer App nutzt den bestehenden Entfernungslauf; das Wiederherstellen von Inhalten und das Hinzufügen von Tracks nutzen die bestehenden Synchronisierungspfade. Änderungen an Kategorien aktualisieren die gespeicherten Bezeichnungen. Das Entfernen eines Tracks oder das Ausblenden eines von mehreren veröffentlichten Releases plant keine sofortige Geräte-Synchronisierung. Eine API-Antwort bestätigt den Schreibvorgang im Speicher, nicht die Synchronisierung oder Installation auf Geräten.
Laden Sie ein signiertes APK mit der separaten Anleitung zu APK-Uploads hoch.
Endpunkte
https://api.nomid.tech/emm/api/v1
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /library/apps | Listet sichtbare Apps seitenweise auf; includeHidden kann ausgeblendete Apps einschließen. |
| GET | /library/apps/{packageName} | Ruft eine App ab, auch wenn sie ausgeblendet ist. |
| GET | /library/apps/{packageName}/versions | Listet Releases auf; includeHidden kann ausgeblendete Releases einschließen. |
| GET | /library/apps/{packageName}/versions/{versionCode} | Ruft ein Release ab, auch wenn es ausgeblendet ist. Geben Sie dessen environment an, wenn es nicht leer ist. |
| PATCH | /library/apps/{packageName}/display-name | Legt einen Anzeigenamen fest oder setzt ihn auf den APK-Namen zurück. |
| PATCH | /library/apps/{packageName}/categories | Ersetzt die Kategoriebezeichnungen der App. |
| POST | /library/apps/{packageName}/icon | Lädt ein Symbol als multipart form-data über das Feld file hoch. |
| DELETE | /library/apps/{packageName}/icon | Entfernt das benutzerdefinierte Symbol. |
| DELETE | /library/apps/{packageName} | Blendet eine vorhandene App aus; gibt 204 zurück und löscht sie nicht physisch. |
| POST | /library/apps/{packageName}/publish | Stellt eine App idempotent wieder her; gibt die App zurück. |
| DELETE | /library/apps/{packageName}/versions/{versionCode} | Blendet ein vorhandenes Release aus; gibt 204 zurück. Beim zuletzt veröffentlichten Release wird die App ausgeblendet, während dieses Release zur Wiederherstellung veröffentlicht bleibt. Geben Sie dessen environment an, wenn es nicht leer ist. |
| POST | /library/apps/{packageName}/versions/{versionCode}/publish | Stellt ein Release und bei Bedarf dessen App wieder her. Geben Sie dessen environment an, wenn es nicht leer ist. |
| GET | /library/apps/{packageName}/tracks | Listet für jeden Track einer veröffentlichten App das neueste veröffentlichte Release auf. Bei gleichen Versionscodes gewinnt das lexikografisch höchste environment. |
| PUT | /library/apps/{packageName}/versions/{versionCode}/tracks/{trackName} | Weist einem Track ein veröffentlichtes Release zu; gibt die Zuweisung zurück. Geben Sie dessen environment an, wenn es nicht leer ist. |
| DELETE | /library/apps/{packageName}/versions/{versionCode}/tracks/{trackName} | Entfernt eine Track-Zuweisung; gibt 204 zurück. Geben Sie dessen environment an, wenn es nicht leer ist. |
Anfragen und Antworten
GET /library/apps akzeptiert page (Standard 0), size (Standard 50, Maximum 100) und includeHidden (Standard false). Die Antwort enthält content (AppDto[]), page, size, totalElements und totalPages.
Die Versionssammlung verwendet standardmäßig includeHidden=false und liefert Releases mit versionCode, environment, status, displayName, displayVersion, createdAt, sha256, fileSizeBytes, tracks und checkSummary (Status und Anzahl der Befunde des neuesten Prüfberichts zum Upload; null für Releases, die vor Einführung der Prüfungen hochgeladen wurden; siehe die Anleitung zu APK-Uploads). Jedes auf ein Release bezogene Lesen, Ausblenden, Veröffentlichen oder Ändern von Tracks wählt genau packageName, versionCode und environment aus. Wird environment weggelassen, ist das leere environment gewählt. Geben Sie es bei einem Release mit nicht leerem environment immer an, auch wenn der Versionscode eindeutig ist.
Der Endpunkt für den Anzeigenamen akzeptiert den String displayName; null oder ein leerer Wert setzt den Namen zurück, andernfalls gilt ein Limit von 100 Zeichen. Der Endpunkt für Kategorien erfordert ein Array categories mit höchstens 50 nicht leeren Bezeichnungen von jeweils höchstens 100 Zeichen. Der Symbol-Upload nutzt das Multipart-Feld file.
Track-Namen werden getrimmt und müssen 1 bis 10 Zeichen lang sein. Track-Zuweisungen per PUT und DELETE erfordern eine veröffentlichte App und ein veröffentlichtes Release. Geben Sie das environment des Releases immer an, wenn es nicht leer ist.
Benutzerdefinierte Symbole müssen PNG oder JPEG sein, höchstens 1 MiB groß, auf jeder Seite mindestens 192 Pixel breit und im Rahmen von 2 % quadratisch. Der Server normalisiert akzeptierte Bilder zu einem PNG mit 512 Pixeln.
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"]} Sichtbarkeit und Verhalten von Releases
Das Löschen einer App blendet sie aus und behält ihre Daten. Das Veröffentlichen der App stellt sie wieder her und kann bedenkenlos wiederholt werden. Der Endpunkt für eine einzelne App kann eine ausgeblendete App abrufen; die Sammlung der Apps listet sichtbare Apps auf, sofern nicht includeHidden=true gesetzt ist.
Das Löschen eines vorhandenen Releases blendet es aus, außer es ist das zuletzt veröffentlichte Release: Dann wird die App ausgeblendet und dieses Release bleibt veröffentlicht, damit die App wiederhergestellt werden kann. Ein ausgeblendetes Release kann erneut veröffentlicht werden; das Veröffentlichen eines Releases kann auch dessen App wiederherstellen.
Die Track-Sammlung liefert für eine veröffentlichte App das neueste veröffentlichte Release pro Track. Bei gleichen Versionscodes gewinnt das lexikografisch höchste environment. Änderungen an Tracks erzeugen keine Richtlinienzuweisungen.
Fehler
401 bedeutet, dass der Schlüssel fehlt, ungültig, abgelaufen oder widerrufen ist. 403 bedeutet, dass LIBRARY_MANAGE fehlt. Prüfen Sie die Schlüsselkonfiguration, ohne den Schlüssel auszugeben.
404 bedeutet, dass die angeforderte App oder das angeforderte Release im Unternehmen des Schlüssels nicht vorhanden ist oder dass der Vorgang eine veröffentlichte App oder ein veröffentlichtes Release erfordert. Änderungen an Anzeigename, Kategorien und benutzerdefiniertem Symbol erfordern eine veröffentlichte App; stellen Sie eine ausgeblendete App vor der Bearbeitung der Metadaten wieder her. Track-Vorgänge erfordern eine veröffentlichte App und ein veröffentlichtes Release. Die Kennung eines fremden Unternehmens wird nicht offengelegt.
400 bedeutet, dass ein Anfrage- oder Abfragewert ungültig ist. Korrigieren Sie ihn vor einem erneuten Versuch.