API HTTP de Recursos assets-http-api
La API HTTP de recursos permite crear, leer, actualizar y eliminar operaciones (CRUD) en recursos digitales, incluidos metadatos, representaciones y comentarios, junto con contenido estructurado mediante Experience Manager Fragmentos de contenido. Está expuesto en /api/assets
y se implementa como API de REST.
Para acceder a la API:
- Abra el documento del servicio API en
https://[hostname]:[port]/api.json
. - Siga el vínculo del servicio Assets que lleva a
https://[hostname]:[server]/api/assets.json
.
La respuesta de API es un archivo JSON para algunos tipos MIME y un código de respuesta para todos los tipos MIME. La respuesta JSON es opcional y es posible que no esté disponible, por ejemplo para archivos PDF. Confíe en el código de respuesta para realizar más análisis o acciones.
Después de la Tiempo de inactividad, un recurso y sus representaciones no están disponibles a través de la variable Assets interfaz web y a través de la API HTTP. La API devuelve el mensaje de error 404 si la variable Tiempo de activación está en el futuro o Tiempo de inactividad es en el pasado.
jcr
espacio de nombres. Sin embargo, la interfaz de usuario del Experience Manager actualiza las propiedades de los metadatos en la variable dc
espacio de nombres.Modelo de datos data-model
La API HTTP de Assets expone dos elementos principales, carpetas y recursos (para recursos estándar).
Carpetas folders
Las carpetas son como directorios en sistemas de archivos tradicionales. Son contenedores para otras carpetas o aserciones. Las carpetas tienen los siguientes componentes:
Entidades: Las entidades de una carpeta son sus elementos secundarios, que pueden ser carpetas y recursos.
Propiedades:
name
es el nombre de la carpeta. Es el mismo que el último segmento de la ruta URL sin la extensión.title
es un título opcional de la carpeta que se puede mostrar en lugar de su nombre.
jcr
prefijo de jcr:title
, jcr:description
y jcr:language
se sustituyen por dc
prefijo . Por lo tanto, en el JSON devuelto, dc:title
y dc:description
contiene los valores de jcr:title
y jcr:description
, respectivamente.Vínculos Las carpetas exponen tres vínculos:
self
: Vínculo a sí mismo.parent
: Enlace a la carpeta principal.thumbnail
: (Opcional) vínculo a una imagen en miniatura de la carpeta.
Assets assets
En Experience Manager, un recurso contiene los siguientes elementos:
- Propiedades y metadatos del recurso.
- Varias representaciones, como la representación original (que es el recurso cargado originalmente), una miniatura y varias otras representaciones. Las representaciones adicionales pueden ser imágenes de diferentes tamaños, diferentes codificaciones de vídeo o páginas extraídas de archivos de PDF o Adobe InDesign.
- Comentarios opcionales.
En Experience Manager una carpeta tiene los siguientes componentes:
- Entidades: Los elementos secundarios de los activos son sus representaciones.
- Propiedades.
- Vínculos.
La API HTTP de Assets incluye las siguientes funciones:
- Recuperar una lista de carpetas.
- Crear una carpeta.
- Crear un recurso.
- Actualizar binario de recursos.
- Actualizar metadatos de recursos.
- Crear una representación de recursos.
- Actualizar una representación de recursos.
- Crear un comentario de recurso.
- Copiar una carpeta o un recurso.
- Mover una carpeta o un recurso.
- Eliminar una carpeta, un recurso o una representación.
cURL
.Requisitos previos
- Acceso
https://[aem_server]:[port]/system/console/configMgr
. - Vaya a Filtro Adobe Granite CSRF.
- Asegúrese de que la propiedad Métodos de filtro incluye:
POST
,PUT
,DELETE
.
Recuperar una lista de carpetas retrieve-a-folder-listing
Recupera una representación sirena de una carpeta existente y de sus entidades secundarias (subcarpetas o recursos).
Solicitud: GET /api/assets/myFolder.json
Códigos de respuesta: Los códigos de respuesta son:
- 200 - OK - éxito.
- 404 - NO ENCONTRADO - la carpeta no existe o no es accesible.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Respuesta: La clase de la entidad devuelta es un recurso o una carpeta. Las propiedades de las entidades contenidas son un subconjunto del conjunto completo de propiedades de cada entidad. Para obtener una representación completa de la entidad, los clientes deben recuperar el contenido de la URL señalada por el vínculo con una rel
de self
.
Crear una carpeta. create-a-folder
Crea un nuevo sling
: OrderedFolder
en la ruta dada. Si *
se proporciona en lugar de un nombre de nodo, el servlet utiliza el nombre del parámetro como nombre de nodo. Se acepta como datos de solicitud: una representación sirena de la nueva carpeta o un conjunto de pares de nombre-valor, codificados como application/www-form-urlencoded
o multipart
/ form
- data
, útil para crear una carpeta directamente desde un formulario de HTML. Además, las propiedades de la carpeta se pueden especificar como parámetros de consulta de URL.
Una llamada de API falla con una 500
código de respuesta si el nodo principal de la ruta proporcionada no existe. Una llamada devuelve un código de respuesta 409
si la carpeta ya existe.
Parámetros: name
es el nombre de la carpeta.
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 respuesta: Los códigos de respuesta son:
- 201 - CREADO - sobre la creación correcta.
- 409 - CONFLICTO - si la carpeta ya existe.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Crear un recurso create-an-asset
Coloque el archivo proporcionado en la ruta proporcionada para crear un recurso en el repositorio de DAM. Si *
se proporciona en lugar de un nombre de nodo, el servlet utiliza el nombre del parámetro o el nombre del archivo como nombre de nodo.
Parámetros: Los parámetros son name
para el nombre del recurso y file
para la referencia de archivo.
Solicitar
POST /api/assets/myFolder/myAsset.png -H"Content-Type: image/png" --data-binary "@myPicture.png"
POST /api/assets/myFolder/* -F"name=myAsset.png" -F"file=@myPicture.png"
Códigos de respuesta: Los códigos de respuesta son:
- 201 - CREADO - si el recurso se ha creado correctamente.
- 409 - CONFLICTO - si ya existen activos.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Actualizar un binario de recursos update-asset-binary
Actualiza el binario de un recurso (representación con el nombre original). Una actualización déclencheur el flujo de trabajo predeterminado de procesamiento de recursos que se va a ejecutar, si está configurado.
Solicitud: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: image/png" --data-binary @myPicture.png
Códigos de respuesta: Los códigos de respuesta son:
- 200 - Correcto: si el recurso se ha actualizado correctamente.
- 404 - NO ENCONTRADO - si no se pudo encontrar o acceder al recurso en el URI proporcionado.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Actualizar metadatos de recursos update-asset-metadata
Actualiza las propiedades de metadatos de Asset. Si actualiza cualquier propiedad de la variable dc:
espacio de nombres, la API actualiza la misma propiedad en la variable jcr
espacio de nombres. La API no sincroniza las propiedades de las dos áreas de nombres.
Solicitud: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"jcr:title":"My Asset"}}'
Códigos de respuesta: Los códigos de respuesta son:
- 200 - Correcto: si el recurso se ha actualizado correctamente.
- 404 - NO ENCONTRADO - si no se pudo encontrar o acceder al recurso en el URI proporcionado.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Sincronizar actualización de metadatos entre dc
y jcr
namespace sync-metadata-between-namespaces
El método API actualiza las propiedades de los metadatos en la variable jcr
espacio de nombres. Las actualizaciones realizadas mediante la interfaz de usuario táctil cambian las propiedades de los metadatos en la variable dc
espacio de nombres. Sincronización de los valores de metadatos entre dc
y jcr
, puede crear un flujo de trabajo y configurar un Experience Manager para ejecutar el flujo de trabajo tras editar los recursos. Utilice una secuencia de comandos ECMA para sincronizar las propiedades de metadatos necesarias. El siguiente script de ejemplo sincroniza la cadena de título entre dc:title
y jcr:title
.
var workflowData = workItem.getWorkflowData();
if (workflowData.getPayloadType() == "JCR_PATH")
{
var path = workflowData.getPayload().toString();
var node = workflowSession.getSession().getItem(path);
var metadataNode = node.getNode("jcr:content/metadata");
var jcrcontentNode = node.getNode("jcr:content");
if (jcrcontentNode.hasProperty("jcr:title"))
{
var jcrTitle = jcrcontentNode.getProperty("jcr:title");
metadataNode.setProperty("dc:title", jcrTitle.toString());
metadataNode.save();
}
}
Crear una representación de recursos create-an-asset-rendition
Cree una nueva representación de recursos para un recurso. Si no se proporciona el nombre del parámetro de solicitud, el nombre del archivo se utiliza como nombre de representación.
Parámetros: Los parámetros son name
para el nombre de la representación y file
como referencia de archivo.
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 respuesta: Los códigos de respuesta son:
- 201 - CREADO - si la representación se ha creado correctamente.
- 404 - NO ENCONTRADO - si no se pudo encontrar o acceder al recurso en el URI proporcionado.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Actualizar una representación de recursos update-an-asset-rendition
Actualizaciones reemplaza respectivamente una representación de recursos con los nuevos datos binarios.
Solicitud: PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
Códigos de respuesta: Los códigos de respuesta son:
- 200 - Correcto: si la representación se ha actualizado correctamente.
- 404 - NO ENCONTRADO - si no se pudo encontrar o acceder al recurso en el URI proporcionado.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Añadir un comentario en un recurso create-an-asset-comment
Crea un nuevo comentario de recurso.
Parámetros: Los parámetros son message
para el cuerpo del mensaje del comentario y annotationData
para los datos de anotación en formato JSON.
Solicitud: POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
Códigos de respuesta: Los códigos de respuesta son:
- 201 - CREADO - si Comment se ha creado correctamente.
- 404 - NO ENCONTRADO - si no se pudo encontrar o acceder al recurso en el URI proporcionado.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Copiar una carpeta o un recurso copy-a-folder-or-asset
Copia una carpeta o un recurso disponible en la ruta de acceso proporcionada a un nuevo destino.
Solicitar encabezados: Los parámetros son:
X-Destination
: un nuevo URI de destino dentro del ámbito de la solución de API al que copiar el recurso.X-Depth
- oinfinity
o0
. Uso0
solo copia el recurso y sus propiedades y no sus elementos secundarios.X-Overwrite
- UsoF
para evitar sobrescribir un recurso en el destino existente.
Solicitud: COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
Códigos de respuesta: Los códigos de respuesta son:
- 201 - CREADO - si la carpeta o el recurso se ha copiado en un destino no existente.
- 204 - SIN CONTENIDO - si la carpeta o el recurso se ha copiado en un destino existente.
- 412 - PRECONDITION ERROR - si falta un encabezado de solicitud.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Mover una carpeta o un recurso move-a-folder-or-asset
Mueve una carpeta o un recurso en la ruta dada a un nuevo destino.
Solicitar encabezados: Los parámetros son:
X-Destination
: un nuevo URI de destino dentro del ámbito de la solución de API al que copiar el recurso.X-Depth
- oinfinity
o0
. Uso0
solo copia el recurso y sus propiedades y no sus elementos secundarios.X-Overwrite
- UtiliceT
para forzar la eliminación de recursos existentes oF
para evitar sobrescribir un recurso existente.
Solicitud: MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
Códigos de respuesta: Los códigos de respuesta son:
- 201 - CREADO - si la carpeta o el recurso se ha copiado en un destino no existente.
- 204 - SIN CONTENIDO - si la carpeta o el recurso se ha copiado en un destino existente.
- 412 - PRECONDITION ERROR - si falta un encabezado de solicitud.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.
Eliminar una carpeta, un recurso o una representación delete-a-folder-asset-or-rendition
Elimina un recurso (-tree) en la ruta proporcionada.
Solicitar
DELETE /api/assets/myFolder
DELETE /api/assets/myFolder/myAsset.png
DELETE /api/assets/myFolder/myAsset.png/renditions/original
Códigos de respuesta: Los códigos de respuesta son:
- 200 - OK - si la carpeta se ha eliminado correctamente.
- 412 - PRECONDICIÓN FALLIDA - si no se puede encontrar o acceder a la colección raíz.
- 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.