Administrar las aplicaciones de la biblioteca
Lea aplicaciones y versiones, edite metadatos y tracks, y oculte o restaure contenido publicado.
Acceso y alcance
Todas las rutas requieren X-API-Key con LIBRARY_MANAGE. La clave validada determina la empresa; las solicitudes no tienen ningún parámetro de inquilino ni de empresa. Una clave existente con LIBRARY_MANAGE puede usar estas rutas sin otra concesión. El permiso sensible está desmarcado de forma predeterminada; las claves que no lo tienen no lo obtienen automáticamente.
LIBRARY_MANAGE es un permiso sensible, a nivel de toda la empresa, para las cargas de APK y la administración de aplicaciones. No concede la asignación de políticas, comandos de dispositivo, aprovisionamiento ni operaciones de la cuenta.
LIBRARY_MANAGE cubre las cargas de APK y las rutas de administración de aplicaciones que se describen a continuación. Las API públicas para archivos, contactos y otros recursos de la biblioteca aún no están disponibles. Este permiso no incluye la asignación de políticas, los comandos de dispositivo, el aprovisionamiento ni la administración de la cuenta.
Las ediciones del nombre visible y del icono usan despliegues diferidos de metadatos. Ocultar una aplicación usa el barrido de eliminación existente; restaurar contenido y añadir tracks usan las vías de sincronización existentes. Las ediciones de categorías actualizan las etiquetas almacenadas. Quitar un track u ocultar una de varias versiones publicadas no programa una sincronización inmediata de los dispositivos. Una respuesta de la API confirma la escritura en el almacén, no la sincronización ni la instalación en los dispositivos.
Cargue un APK firmado con la guía independiente de cargas de APK.
Endpoints
https://api.nomid.tech/emm/api/v1
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /library/apps | Lista las aplicaciones visibles por páginas; includeHidden puede incluir las aplicaciones ocultas. |
| GET | /library/apps/{packageName} | Obtiene una aplicación, también si está oculta. |
| GET | /library/apps/{packageName}/versions | Lista las versiones; includeHidden puede incluir las versiones ocultas. |
| GET | /library/apps/{packageName}/versions/{versionCode} | Obtiene una versión, también si está oculta. Indique su environment cuando no esté vacío. |
| PATCH | /library/apps/{packageName}/display-name | Establece un nombre visible o lo restablece al nombre del APK. |
| PATCH | /library/apps/{packageName}/categories | Reemplaza las etiquetas de categoría de la aplicación. |
| POST | /library/apps/{packageName}/icon | Carga un icono como multipart form-data mediante el campo file. |
| DELETE | /library/apps/{packageName}/icon | Elimina el icono personalizado. |
| DELETE | /library/apps/{packageName} | Oculta una aplicación existente; devuelve 204 y no la elimina físicamente. |
| POST | /library/apps/{packageName}/publish | Restaura una aplicación de forma idempotente; devuelve la aplicación. |
| DELETE | /library/apps/{packageName}/versions/{versionCode} | Oculta una versión existente; devuelve 204. Si es la última versión publicada, la aplicación pasa a estar oculta mientras esa versión permanece publicada para poder restaurarla. Indique su environment cuando no esté vacío. |
| POST | /library/apps/{packageName}/versions/{versionCode}/publish | Restaura una versión y, cuando sea necesario, su aplicación. Indique su environment cuando no esté vacío. |
| GET | /library/apps/{packageName}/tracks | Lista la última versión publicada de cada track de una aplicación publicada. Si los códigos de versión son iguales, prevalece el environment más alto en orden lexicográfico. |
| PUT | /library/apps/{packageName}/versions/{versionCode}/tracks/{trackName} | Asigna una versión publicada a un track; devuelve la asignación. Indique su environment cuando no esté vacío. |
| DELETE | /library/apps/{packageName}/versions/{versionCode}/tracks/{trackName} | Elimina la asignación de un track; devuelve 204. Indique su environment cuando no esté vacío. |
Solicitudes y respuestas
GET /library/apps admite page (valor predeterminado 0), size (valor predeterminado 50, máximo 100) e includeHidden (valor predeterminado false). La respuesta contiene content (AppDto[]), page, size, totalElements y totalPages.
La colección de versiones usa de forma predeterminada includeHidden=false y devuelve versiones con versionCode, environment, status, displayName, displayVersion, createdAt, sha256, fileSizeBytes, tracks y checkSummary (el estado y los recuentos de hallazgos del informe de comprobación de la última carga; es null para las versiones cargadas antes de que existieran las comprobaciones; consulte la guía de cargas de APK). Toda lectura, ocultación, publicación o cambio de track dirigido a una versión selecciona exactamente packageName, versionCode y environment. Si se omite environment, se selecciona el environment vacío. Indíquelo siempre para una versión con un environment no vacío, aunque su código de versión sea único.
El endpoint del nombre visible acepta una cadena displayName; un valor null o vacío restablece el nombre; en otro caso, el límite es de 100 caracteres. El endpoint de categorías requiere un array categories con un máximo de 50 etiquetas no vacías de 100 caracteres como máximo cada una. La carga del icono usa el campo multipart file.
Los nombres de track se recortan y deben tener de 1 a 10 caracteres. Las asignaciones de track con PUT y DELETE requieren una aplicación publicada y una versión publicada. Indique siempre el environment de la versión cuando no esté vacío.
Los iconos personalizados deben ser PNG o JPEG, de 1 MiB como máximo, de al menos 192 píxeles por lado y cuadrados con una tolerancia del 2 %. El servidor normaliza las imágenes aceptadas a un PNG de 512 píxeles.
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"]} Visibilidad y comportamiento de las versiones
Eliminar una aplicación la oculta y conserva sus datos. Publicar la aplicación la restaura y puede repetirse sin riesgo. El endpoint de una sola aplicación permite consultar una aplicación oculta; la colección de aplicaciones lista las visibles, salvo que se use includeHidden=true.
Eliminar una versión existente la oculta, salvo que sea la última versión publicada: en ese caso la aplicación pasa a estar oculta y esa versión permanece publicada para poder restaurar la aplicación. Una versión oculta puede volver a publicarse; publicar una versión también puede restaurar su aplicación.
La colección de tracks devuelve la última versión publicada por track de una aplicación publicada. Cuando los códigos de versión empatan, prevalece el environment más alto en orden lexicográfico. Los cambios en los tracks no crean asignaciones de políticas.
Errores
401 significa que la clave falta, no es válida, ha caducado o ha sido revocada. 403 significa que no tiene LIBRARY_MANAGE. Compruebe la configuración de la clave sin imprimirla.
404 significa que la aplicación o versión solicitada no existe en la empresa de la clave, o que la operación requiere una aplicación o una versión publicada. Las ediciones del nombre visible, las categorías y el icono personalizado requieren una aplicación publicada; restaure una aplicación oculta antes de editar sus metadatos. Las operaciones de track requieren una aplicación y una versión publicadas. No se revela un identificador de otra empresa.
400 significa que un valor de la solicitud o de la consulta no es válido. Corríjalo antes de reintentar.