Gerenciar ativos digitais com a API HTTP do Adobe Experience Manager Assets assets-http-api
Introdução à API HTTP Assets do AEM overview
A API HTTP do AEM Assets habilita operações CRUD (criar, ler, atualizar e excluir) em ativos digitais por meio de uma interface REST disponível em /api/assets
. Essas operações se aplicam aos metadados, representações e comentários do ativo. Inclui suporte para Fragmentos de conteúdo.
Para acessar a API:
- Abra o documento de serviço de API em
https://[hostname]:[port]/api.json
. - Siga o link do serviço Assets que leva a
https://[hostname]:[server]/api/assets.json
.
A resposta da API é um arquivo JSON para alguns tipos MIME e um código de resposta para todos os tipos MIME. A resposta JSON é opcional e pode não estar disponível, por exemplo, para arquivos PDF. Contar com o código de resposta para análise ou ações adicionais.
Gerenciar fragmentos de conteúdo content-fragments
Um Fragmento de conteúdo é um ativo estruturado que armazena texto, números e datas. Como há várias diferenças para standard
ativos (como imagens ou documentos), algumas regras adicionais se aplicam à manipulação de Fragmentos de conteúdo.
Para obter mais informações, consulte Suporte a fragmentos de conteúdo na Experience Manager Assets API HTTP.
Examinar o modelo de dados data-model
A API HTTP Assets expõe principalmente dois elementos: pastas e ativos padrão. Também fornece elementos detalhados para modelos de dados personalizados usados em Fragmentos de conteúdo. Para obter mais detalhes, consulte Modelos de dados do fragmento de conteúdo. Consulte Modelos de dados de fragmento de conteúdo para obter mais informações.
Gerenciar pastas folders
As pastas são como diretórios, como nos sistemas de arquivos tradicionais. As pastas podem conter ativos, subpastas ou ambos. As pastas têm os seguintes componentes:
Entidades: as entidades de uma pasta são seus elementos secundários, que podem ser pastas e ativos.
Propriedades:
name
: O nome da pasta (o último segmento do caminho de URL, sem a extensão).title
: Um título opcional exibido no lugar do nome da pasta.
jcr
de jcr:title
, jcr:description
e jcr:language
foi substituído pelo prefixo dc
. Portanto, no JSON retornado, dc:title
e dc:description
contêm os valores de jcr:title
e jcr:description
, respectivamente.Links As pastas expõem três links:
self
: um link para a própria pasta.parent
: um link para a pasta principal.thumbnail
(Opcional): Um link para uma imagem em miniatura da pasta.
Gerenciar ativos assets
Em Experience Manager um ativo contém os seguintes elementos:
- Propriedades e metadados: informações descritivas sobre o ativo.
- Arquivo binário: O arquivo carregado originalmente.
- Representações: várias representações configuradas (como imagens em vários tamanhos, diferentes codificações de vídeo ou páginas extraídas de arquivos PDFs/Adobe InDesign).
- Comentários (opcional): comentários fornecidos pelo usuário.
Para obter informações sobre elementos nos Fragmentos de conteúdo, consulte Suporte a Fragmentos de conteúdo na API HTTP do Experience Manager Assets.
Em Experience Manager uma pasta tem os seguintes componentes:
- Entidades: os filhos dos ativos são suas representações.
- Propriedades.
- Links.
Explorar operações de API disponíveis available-features
A API HTTP Assets inclui os seguintes recursos:
- Recuperar uma listagem de pastas.
- Criar uma pasta.
- Criar um ativo (desaprovado)
- Atualizar binário de ativo (desaprovado).
- Atualizar metadados de ativos.
- Criar uma representação de ativo.
- Atualize uma representação de ativo.
- Criar um comentário de ativo.
- Copiar uma pasta ou um ativo.
- Mover uma pasta ou um ativo.
- Excluir uma pasta, ativo ou representação.
Recuperar uma listagem de pastas retrieve-a-folder-listing
Recupera uma representação Sirene de uma pasta existente e de suas entidades filhas (subpastas ou ativos).
Solicitação: GET /api/assets/myFolder.json
Códigos de resposta: os códigos de resposta são:
- 200 - OK - êxito.
- 404 - NÃO ENCONTRADO - a pasta não existe ou não está acessível.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Resposta: a classe da entidade retornada é um ativo ou uma pasta. As propriedades das entidades contidas são um subconjunto do conjunto completo de propriedades de cada entidade. Para obter uma representação completa da entidade, os clientes devem recuperar o conteúdo da URL apontada pelo link com um rel
de self
.
Criar uma pasta create-a-folder
Cria um sling
: OrderedFolder
no caminho fornecido. Se *
for fornecido em vez de um nome de nó, o servlet usará o nome do parâmetro como o nome do nó. A solicitação aceita uma das seguintes opções:
- Uma representação de Sirene da nova pasta
- Um conjunto de pares nome-valor, codificados como
application/www-form-urlencoded
oumultipart
/form
-data
. É útil criar uma pasta diretamente de um formulário do HTML.
Além disso, as propriedades da pasta podem ser especificadas como parâmetros de consulta de URL.
Uma chamada de API falhará com um código de resposta 500
se o nó pai do caminho fornecido não existir. Uma chamada retornará um código de resposta 409
se a pasta existir.
Parâmetros: name
é o nome da pasta.
Solicitação
POST /api/assets/myFolder -H"Content-Type: application/json" -d '{"class":"assetFolder","properties":{"title":"My Folder"}}'
POST /api/assets/* -F"name=myfolder" -F"title=My Folder"
Códigos de resposta: os códigos de resposta são:
- 201 - CRIADO - na criação bem-sucedida.
- 409 - CONFLITO - se a pasta existir.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se a coleção raiz não puder ser encontrada ou acessada.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Criar um ativo create-an-asset
A criação de ativos não é compatível por meio dessa API HTTP. Para a criação de ativos, use a API de carregamento de ativos.
Atualizar um binário de ativo update-asset-binary
Consulte upload de ativos para obter informações sobre como atualizar binários de ativos. Não é possível atualizar um binário de ativo usando a API HTTP.
Atualizar metadados de um ativo update-asset-metadata
Essa operação atualiza os metadados do ativo. Ao atualizar propriedades no namespace dc:
, a propriedade jcr:
correspondente é atualizada. No entanto, a API não sincroniza as propriedades nos dois namespaces.
Solicitação: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'
Códigos de resposta: os códigos de resposta são:
- 200 - OK - se o Ativo foi atualizado com êxito.
- 404 - NÃO ENCONTRADO - se o ativo não puder ser encontrado ou acessado no URI fornecido.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se a coleção raiz não puder ser encontrada ou acessada.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Criar uma representação de ativo create-an-asset-rendition
Criar uma representação para um ativo. Se o nome do parâmetro de solicitação não for fornecido, o nome do arquivo será usado como nome de representação.
Parâmetros: os parâmetros são:
name
: para o nome da representação.file
: o arquivo binário para a representação como uma referência.
Solicitação
POST /api/assets/myfolder/myasset.png/renditions/web-rendition -H"Content-Type: image/png" --data-binary "@myRendition.png"
POST /api/assets/myfolder/myasset.png/renditions/* -F"name=web-rendition" -F"file=@myRendition.png"
Códigos de resposta
- 201 - CRIADO - se a Representação foi criada com sucesso.
- 404 - NÃO ENCONTRADO - se o ativo não puder ser encontrado ou acessado no URI fornecido.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se a coleção raiz não puder ser encontrada ou acessada.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Atualizar uma representação de ativo update-an-asset-rendition
As atualizações substituem uma representação de ativo pelos novos dados binários.
Solicitação: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
Códigos de resposta: os códigos de resposta são:
- 200 - OK - se a Representação foi atualizada com sucesso.
- 404 - NÃO ENCONTRADO - se o ativo não puder ser encontrado ou acessado no URI fornecido.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se a coleção raiz não puder ser encontrada ou acessada.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Adicionar um comentário em um ativo create-an-asset-comment
Parâmetros: os parâmetros são message
para o corpo da mensagem do comentário e annotationData
para os dados de Anotação no formato JSON.
Solicitação: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
Códigos de resposta: os códigos de resposta são:
- 201 - CRIADO - se o Comentário foi criado com sucesso.
- 404 - NÃO ENCONTRADO - se o ativo não puder ser encontrado ou acessado no URI fornecido.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se a coleção raiz não puder ser encontrada ou acessada.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Copiar uma pasta ou um ativo copy-a-folder-or-asset
Copia uma pasta ou ativo disponível no caminho fornecido para um novo destino.
Solicitar Cabeçalhos: Os parâmetros são:
X-Destination
- um novo URI de destino dentro do escopo da solução de API para o qual copiar o recurso.X-Depth
-infinity
ou0
. Usar0
copia somente o recurso e suas propriedades, não seus filhos.X-Overwrite
- UseF
para impedir a substituição de um ativo no destino existente.
Solicitação: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
Códigos de resposta: os códigos de resposta são:
- 201 - CRIADO - se a pasta/ativo foi copiado para um destino não existente.
- 204 - SEM CONTEÚDO - se a pasta/ativo foi copiado para um destino existente.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se um cabeçalho de solicitação estiver ausente.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Mover uma pasta ou um ativo move-a-folder-or-asset
Move uma pasta ou ativo no caminho determinado para um novo destino.
Solicitar Cabeçalhos: Os parâmetros são:
X-Destination
- um novo URI de destino dentro do escopo da solução de API para o qual copiar o recurso.X-Depth
-infinity
ou0
. Usar0
copia somente o recurso e suas propriedades, não seus filhos.X-Overwrite
- UseT
para forçar a exclusão de um recurso existente ouF
para impedir a substituição de um recurso existente.
Solicitação: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
Códigos de resposta: os códigos de resposta são:
- 201 - CRIADO - se a pasta/ativo foi copiado para um destino não existente.
- 204 - SEM CONTEÚDO - se a pasta/ativo foi copiado para um destino existente.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se um cabeçalho de solicitação estiver ausente.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Excluir uma pasta, um ativo ou uma representação delete-a-folder-asset-or-rendition
Exclui um recurso (-tree) no caminho fornecido.
Solicitação
DELETE /api/assets/myFolder
DELETE /api/assets/myFolder/myAsset.png
DELETE /api/assets/myFolder/myAsset.png/renditions/original
Códigos de resposta: os códigos de resposta são:
- 200 - OK - se a pasta foi excluída com sucesso.
- 412 - FALHA NA PRÉ-CONDIÇÃO - se a coleção raiz não puder ser encontrada ou acessada.
- 500 - ERRO INTERNO DO SERVIDOR - se algo der errado.
Seguir as práticas recomendadas e observar limitações tips-limitations
-
O Assets e suas representações ficam indisponíveis por meio da interface da Web do Assets e da API HTTP quando o Tempo Desligado é atingido. A API retorna um erro 404 se o Momento da ativação estiver no futuro ou o Momento da desativação estiver no passado.
-
A API HTTP do Assets retorna apenas um subconjunto de metadados. Os namespaces são codificados e somente esses namespaces são retornados. Para obter metadados completos, consulte o caminho do ativo
/jcr_content/metadata.json
. -
Algumas propriedades da pasta ou do ativo são mapeadas para um prefixo diferente quando atualizadas usando APIs. O prefixo
jcr
dejcr:title
,jcr:description
ejcr:language
foi substituído pelo prefixodc
. Portanto, no JSON retornado,dc:title
edc:description
contêm os valores dejcr:title
ejcr:description
, respectivamente.
Explorar recursos relacionados