Gerir as aplicações da biblioteca
Leia aplicações e versões, edite metadados e tracks, e oculte ou restaure conteúdo publicado.
Acesso e âmbito
Todas as rotas exigem X-API-Key com LIBRARY_MANAGE. A chave validada determina a empresa; os pedidos não têm qualquer parâmetro de tenant nem de empresa. Uma chave existente com LIBRARY_MANAGE pode usar estas rotas sem outra concessão. A permissão sensível vem desmarcada por predefinição; as chaves que não a têm não a recebem automaticamente.
LIBRARY_MANAGE é uma permissão sensível, ao nível da empresa, para carregamentos de APK e gestão de aplicações. Não concede atribuição de políticas, comandos de dispositivo, aprovisionamento nem operações da conta.
LIBRARY_MANAGE abrange os carregamentos de APK e as rotas de gestão de aplicações descritas abaixo. As APIs públicas para ficheiros, contactos e outros recursos da biblioteca ainda não estão disponíveis. Esta permissão não inclui a atribuição de políticas, os comandos de dispositivo, o aprovisionamento nem a administração da conta.
As edições do nome de apresentação e do ícone usam implementações diferidas de metadados. Ocultar uma aplicação usa a limpeza de remoção existente; restaurar conteúdo e adicionar tracks usam os caminhos de sincronização existentes. As edições de categorias atualizam as etiquetas armazenadas. Remover um track ou ocultar uma de várias versões publicadas não agenda a sincronização imediata dos dispositivos. Uma resposta da API confirma a escrita no armazenamento, não a sincronização nem a instalação nos dispositivos.
Carregue um APK assinado através do guia separado de carregamentos de APK.
Endpoints
https://api.nomid.tech/emm/api/v1
| Método | Endpoint | Descrição |
|---|---|---|
| GET | /library/apps | Lista as aplicações visíveis por páginas; includeHidden pode incluir as aplicações ocultas. |
| GET | /library/apps/{packageName} | Obtém uma aplicação, mesmo que esteja oculta. |
| GET | /library/apps/{packageName}/versions | Lista as versões; includeHidden pode incluir as versões ocultas. |
| GET | /library/apps/{packageName}/versions/{versionCode} | Obtém uma versão, mesmo que esteja oculta. Indique o respetivo environment quando não estiver vazio. |
| PATCH | /library/apps/{packageName}/display-name | Define um nome de apresentação ou repõe o nome do APK. |
| PATCH | /library/apps/{packageName}/categories | Substitui as etiquetas de categoria da aplicação. |
| POST | /library/apps/{packageName}/icon | Carrega um ícone como multipart form-data através do campo file. |
| DELETE | /library/apps/{packageName}/icon | Remove o ícone personalizado. |
| DELETE | /library/apps/{packageName} | Oculta uma aplicação existente; devolve 204 e não a elimina fisicamente. |
| POST | /library/apps/{packageName}/publish | Restaura uma aplicação de forma idempotente; devolve a aplicação. |
| DELETE | /library/apps/{packageName}/versions/{versionCode} | Oculta uma versão existente; devolve 204. Se for a última versão publicada, a aplicação fica oculta, mas essa versão permanece publicada para permitir a restauração. Indique o respetivo environment quando não estiver vazio. |
| POST | /library/apps/{packageName}/versions/{versionCode}/publish | Restaura uma versão e, quando necessário, a respetiva aplicação. Indique o respetivo environment quando não estiver vazio. |
| GET | /library/apps/{packageName}/tracks | Lista a última versão publicada de cada track de uma aplicação publicada. Com códigos de versão iguais, prevalece o environment mais alto por ordem lexicográfica. |
| PUT | /library/apps/{packageName}/versions/{versionCode}/tracks/{trackName} | Atribui uma versão publicada a um track; devolve a atribuição. Indique o respetivo environment quando não estiver vazio. |
| DELETE | /library/apps/{packageName}/versions/{versionCode}/tracks/{trackName} | Remove a atribuição de um track; devolve 204. Indique o respetivo environment quando não estiver vazio. |
Pedidos e respostas
GET /library/apps aceita page (predefinição 0), size (predefinição 50, máximo 100) e includeHidden (predefinição false). A resposta contém content (AppDto[]), page, size, totalElements e totalPages.
A coleção de versões usa por predefinição includeHidden=false e devolve versões com versionCode, environment, status, displayName, displayVersion, createdAt, sha256, fileSizeBytes, tracks e checkSummary (o estado e as contagens de deteções do relatório de verificação do último carregamento; é null para versões carregadas antes de as verificações existirem; consulte o guia de carregamentos de APK). Toda a leitura, ocultação, publicação ou alteração de track dirigida a uma versão seleciona exatamente packageName, versionCode e environment. Omitir environment seleciona o environment vazio. Indique-o sempre para uma versão com environment não vazio, mesmo que o código de versão seja único.
O endpoint do nome de apresentação aceita uma string displayName; um valor null ou vazio repõe o nome; caso contrário, o limite é de 100 carateres. O endpoint de categorias exige um array categories com no máximo 50 etiquetas não vazias de, no máximo, 100 carateres cada. O carregamento do ícone usa o campo multipart file.
Os nomes de track são aparados e devem ter de 1 a 10 carateres. As atribuições de track com PUT e DELETE exigem uma aplicação publicada e uma versão publicada. Indique sempre o environment da versão quando não estiver vazio.
Os ícones personalizados têm de ser PNG ou JPEG, com no máximo 1 MiB, pelo menos 192 píxeis em cada lado e quadrados com uma tolerância de 2%. O servidor normaliza as imagens aceites para um PNG de 512 píxeis.
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"]} Visibilidade e comportamento das versões
Eliminar uma aplicação oculta-a e mantém os respetivos dados. Publicar a aplicação restaura-a e pode ser repetido sem risco. O endpoint de uma única aplicação permite consultar uma aplicação oculta; a coleção de aplicações lista as visíveis, a menos que se use includeHidden=true.
Eliminar uma versão existente oculta-a, exceto quando for a última versão publicada: nesse caso a aplicação fica oculta e essa versão permanece publicada para que a aplicação possa ser restaurada. Uma versão oculta pode ser publicada novamente; publicar uma versão também pode restaurar a respetiva aplicação.
A coleção de tracks devolve a última versão publicada por track de uma aplicação publicada. Quando os códigos de versão empatam, prevalece o environment mais alto por ordem lexicográfica. As alterações aos tracks não criam atribuições de políticas.
Erros
401 significa que a chave não existe, é inválida, expirou ou foi revogada. 403 significa que não tem LIBRARY_MANAGE. Verifique a configuração da chave sem a imprimir.
404 significa que a aplicação ou a versão pedida não existe na empresa da chave, ou que a operação exige uma aplicação ou uma versão publicada. As edições do nome de apresentação, das categorias e do ícone personalizado exigem uma aplicação publicada; restaure uma aplicação oculta antes de editar os metadados. As operações de track exigem uma aplicação e uma versão publicadas. Não é divulgado o identificador de outra empresa.
400 significa que um valor do pedido ou da consulta é inválido. Corrija-o antes de tentar novamente.