A API HTTP Assets permite operações de criação-leitura-atualização-exclusão (CRUD) em ativos digitais, incluindo metadados, renderizações e comentários, juntamente com conteúdo estruturado usando Experience Manager Fragmentos de conteúdo. Ele é exposto em /api/assets
e é implementado como REST API. Inclui suporte para Fragmentos de conteúdo.
Para acessar a API:
https://[hostname]:[port]/api.json
.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. Confie no código de resposta para obter mais análises ou ações.
Depois do Tempo desligado, um ativo e suas representações não estão disponíveis por meio da interface da Web Assets e por meio da API HTTP. A API retornará uma mensagem de erro 404 se On Time estiver no futuro ou Off Time estiver no passado.
Todas as chamadas de API relacionadas ao upload ou atualização de ativos ou binários em geral (como execuções) estão obsoletas para AEM como uma implantação Cloud Service. Para fazer upload de binários, use APIs de upload binário direto.
Um Fragmento de conteúdo é um tipo especial de ativo. Pode ser usado para acessar dados estruturados, como textos, números, datas, entre outros. Como há várias diferenças entre os ativos standard
(como imagens ou documentos), algumas regras adicionais se aplicam ao manuseio de Fragmentos de conteúdo.
Para obter mais informações, consulte Suporte a fragmentos de conteúdo na Experience Manager Assets API HTTP.
A API HTTP Assets expõe dois elementos principais, pastas e ativos (para ativos padrão). Além disso, expõe elementos mais detalhados para os modelos de dados personalizados que descrevem o conteúdo estruturado em Fragmentos de conteúdo. Consulte Modelos de dados do fragmento de conteúdo para obter mais informações.
As pastas são como diretórios em sistemas de arquivos tradicionais. São container para outras pastas ou asserções. As pastas têm os seguintes componentes:
Entidades: As entidades de uma pasta são seus elementos filho, que podem ser pastas e ativos.
Propriedades:
name
é o nome da pasta. É o mesmo que o último segmento no caminho do URL sem a extensão.title
é um título opcional da pasta que pode ser exibido em vez de seu nome.Algumas propriedades da pasta ou do ativo são mapeadas para um prefixo diferente. O prefixo jcr
de jcr:title
, jcr:description
e jcr:language
são substituídos pelo prefixo dc
. Assim, no JSON retornado, dc:title
e dc:description
contêm os valores de jcr:title
e jcr:description
, respectivamente.
LinksFolders expõe três links:
self
: Vincule-se a si mesmo.parent
: Link para a pasta pai.thumbnail
: (Opcional) link para uma imagem em miniatura da pasta.Em Experience Manager um ativo contém os seguintes elementos:
Para obter informações sobre elementos em 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:
A API HTTP Assets inclui os seguintes recursos:
Para facilitar a leitura, os seguintes exemplos omitem a notação cURL completa. Na verdade, a notação correlaciona-se com Resty, que é um invólucro de script para cURL
.
Recupera uma representação Siren 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:
Resposta: A classe da entidade retornada é um ativo ou uma pasta. As propriedades de 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 do URL apontado pelo link com um rel
de self
.
Cria um novo sling
: OrderedFolder
no caminho especificado. Se um *
for fornecido em vez de um nome de nó, o servlet usará o nome do parâmetro como nome de nó. Aceitos como dados de solicitação é uma representação Siren da nova pasta ou um conjunto de pares nome-valor, codificados como application/www-form-urlencoded
ou multipart
/ form
- data
, úteis para criar uma pasta diretamente de um formulário HTML. Além disso, as propriedades da pasta podem ser especificadas como parâmetros de query de URL.
Uma chamada de API falha 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 já existir.
Parâmetros: name
é o nome da pasta.
Solicitar
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:
Consulte upload de ativos para obter informações sobre como criar um ativo. Não é possível criar um ativo usando a API HTTP.
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.
Atualiza as propriedades de metadados do ativo. Se você atualizar qualquer propriedade na namespace dc:
, a API atualizará a mesma propriedade na namespace jcr
. A API não sincroniza as propriedades nas duas 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:
Crie uma nova representação de ativo 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 execução.
Parâmetros: Os parâmetros são name
para o nome da representação e file
como uma referência de arquivo.
Solicitar
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
As atualizações substituem respectivamente 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:
Cria um novo comentário de ativo.
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:
Copia uma pasta ou ativo disponível no caminho fornecido para um novo destino.
Cabeçalhos de solicitação: Os parâmetros são:
X-Destination
- um novo URI de destino dentro do escopo da solução de API para copiar o recurso.X-Depth
- quer infinity
quer 0
. Usar 0
copia somente o recurso e suas propriedades, e não seus filhos.X-Overwrite
- Use F
para evitar 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:
Move uma pasta ou um ativo no caminho fornecido para um novo destino.
Cabeçalhos de solicitação: Os parâmetros são:
X-Destination
- um novo URI de destino dentro do escopo da solução de API para copiar o recurso.X-Depth
- quer infinity
quer 0
. Usar 0
copia somente o recurso e suas propriedades, e não seus filhos.X-Overwrite
- Use T
para forçar a exclusão de um recurso existente ou F
para evitar 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:
Exclui um recurso (-tree) no caminho fornecido.
Solicitar
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: