Gerenciar aplicativos da biblioteca

Leia aplicativos e versões, edite metadados e tracks, e oculte ou restaure conteúdo publicado.

Acesso e escopo

Todas as rotas exigem X-API-Key com LIBRARY_MANAGE. A chave validada define a empresa; as requisições não têm 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 padrão; chaves que não a têm não a recebem automaticamente.

LIBRARY_MANAGE é uma permissão sensível, válida para toda a empresa, para uploads de APK e gerenciamento de aplicativos. Ela não concede atribuição de políticas, comandos de dispositivo, provisionamento nem operações da conta.

LIBRARY_MANAGE cobre os uploads de APK e as rotas de gerenciamento de aplicativos descritas abaixo. As APIs públicas para arquivos, contatos e outros recursos da biblioteca ainda não estão disponíveis. Essa permissão não oferece atribuição de políticas, comandos de dispositivo, provisionamento nem administração da conta.

As edições de nome de exibição e de ícone usam rollouts de metadados adiados. Ocultar um aplicativo usa a varredura de remoção existente; restaurar conteúdo e adicionar tracks usam os caminhos de sincronização existentes. As edições de categoria atualizam os rótulos armazenados. Remover um track ou ocultar uma entre várias versões publicadas não agenda a sincronização imediata dos dispositivos. Uma resposta da API confirma a gravação no armazenamento, não a sincronização nem a instalação nos dispositivos.

Envie um APK assinado usando o guia separado de uploads de APK.

Endpoints

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

MétodoEndpointDescrição
GET/library/appsLista os aplicativos visíveis em páginas; includeHidden pode incluir os aplicativos ocultos.
GET/library/apps/{packageName}Obtém um aplicativo, inclusive quando estiver oculto.
GET/library/apps/{packageName}/versionsLista as versões; includeHidden pode incluir as versões ocultas.
GET/library/apps/{packageName}/versions/{versionCode}Obtém uma versão, inclusive quando estiver oculta. Informe o environment dela quando não estiver vazio.
PATCH/library/apps/{packageName}/display-nameDefine um nome de exibição ou o redefine para o nome do APK.
PATCH/library/apps/{packageName}/categoriesSubstitui os rótulos de categoria do aplicativo.
POST/library/apps/{packageName}/iconEnvia um ícone como multipart form-data usando o campo file.
DELETE/library/apps/{packageName}/iconRemove o ícone personalizado.
DELETE/library/apps/{packageName}Oculta um aplicativo existente; retorna 204 e não o exclui fisicamente.
POST/library/apps/{packageName}/publishRestaura um aplicativo de forma idempotente; retorna o aplicativo.
DELETE/library/apps/{packageName}/versions/{versionCode}Oculta uma versão existente; retorna 204. Se for a última versão publicada, o aplicativo fica oculto, mas essa versão continua publicada para permitir a restauração. Informe o environment dela quando não estiver vazio.
POST/library/apps/{packageName}/versions/{versionCode}/publishRestaura uma versão e, quando necessário, o aplicativo dela. Informe o environment dela quando não estiver vazio.
GET/library/apps/{packageName}/tracksLista a última versão publicada de cada track de um aplicativo publicado. Com códigos de versão iguais, prevalece o environment mais alto em ordem lexicográfica.
PUT/library/apps/{packageName}/versions/{versionCode}/tracks/{trackName}Atribui uma versão publicada a um track; retorna a atribuição. Informe o environment dela quando não estiver vazio.
DELETE/library/apps/{packageName}/versions/{versionCode}/tracks/{trackName}Remove a atribuição de um track; retorna 204. Informe o environment dela quando não estiver vazio.

Requisições e respostas

GET /library/apps aceita page (padrão 0), size (padrão 50, máximo 100) e includeHidden (padrão false). A resposta contém content (AppDto[]), page, size, totalElements e totalPages.

A coleção de versões usa includeHidden=false por padrão e retorna versões com versionCode, environment, status, displayName, displayVersion, createdAt, sha256, fileSizeBytes, tracks e checkSummary (o status e a contagem de achados do relatório de verificação do último upload; é null para versões enviadas antes de as verificações existirem; consulte o guia de uploads de APK). Toda leitura, ocultação, publicação ou alteração de track direcionada a uma versão seleciona exatamente packageName, versionCode e environment. Omitir environment seleciona o environment vazio. Sempre informe-o para uma versão com environment não vazio, mesmo que o código de versão seja único.

O endpoint de nome de exibição aceita uma string displayName; um valor null ou vazio redefine o nome; caso contrário, o limite é de 100 caracteres. O endpoint de categorias exige um array categories com no máximo 50 rótulos não vazios de no máximo 100 caracteres cada. O upload do ícone usa o campo multipart file.

Os nomes de track são aparados e devem ter de 1 a 10 caracteres. As atribuições de track com PUT e DELETE exigem um aplicativo publicado e uma versão publicada. Sempre informe o environment da versão quando não estiver vazio.

Os ícones personalizados devem ser PNG ou JPEG, ter no máximo 1 MiB, pelo menos 192 pixels em cada lado e ser quadrados com tolerância de 2%. O servidor normaliza as imagens aceitas para um 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"]}

Visibilidade e comportamento das versões

Excluir um aplicativo o oculta e mantém os dados dele. Publicar o aplicativo o restaura e pode ser repetido com segurança. O endpoint de um único aplicativo pode consultar um aplicativo oculto; a coleção de aplicativos lista os visíveis, a menos que includeHidden=true.

Excluir uma versão existente a oculta, exceto quando for a última versão publicada: nesse caso o aplicativo fica oculto e essa versão continua publicada para que o aplicativo possa ser restaurado. Uma versão oculta pode ser publicada novamente; publicar uma versão também pode restaurar o aplicativo dela.

A coleção de tracks retorna a última versão publicada por track de um aplicativo publicado. Quando os códigos de versão empatam, prevalece o environment mais alto em ordem lexicográfica. Alterações em tracks não criam atribuições de políticas.

Erros

401 significa que a chave está ausente, é inválida, expirou ou foi revogada. 403 significa que ela não tem LIBRARY_MANAGE. Verifique a configuração da chave sem imprimi-la.

404 significa que o aplicativo ou a versão solicitada não existe na empresa da chave, ou que a operação exige um aplicativo ou uma versão publicada. As edições de nome de exibição, categorias e ícone personalizado exigem um aplicativo publicado; restaure um aplicativo oculto antes de editar os metadados. As operações de track exigem um aplicativo e uma versão publicados. O identificador de outra empresa não é divulgado.

400 significa que um valor da requisição ou da consulta é inválido. Corrija-o antes de tentar novamente.

Escolha o seu horário

Carregando...
Abrir calendário de agendamento