API de HTTP de Assets

La API HTTP de Recursos permite crear-leer-actualizar-eliminar (CRUD) operaciones en recursos digitales, incluidos metadatos, representaciones y comentarios, junto con contenido estructurado mediante fragmentos de Experience Manager contenido. Se expone en /api/assets y se implementa como API de REST.

Para acceder a la API:

  1. Abra el documento del servicio API en https://[hostname]:[port]/api.json.
  2. Siga el vínculo del servicio Recursos 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 puede 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 del tiempo de inactividad, un recurso y sus representaciones no están disponibles a través de la interfaz Assets web y de la API HTTP. La API devuelve un mensaje de error 404 si Tiempo de activación está en el futuro o Tiempo de desactivación está en el pasado.

PRECAUCIÓN

La API HTTP actualiza las propiedades de metadatos en la jcr Área de nombres. Sin embargo, la interfaz de usuario de Experience Manager actualiza las propiedades de metadatos de la dc Área de nombres.

modelo Data

La API HTTP de Recursos expone dos elementos principales, carpetas y recursos (para recursos estándar).

Carpetas

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 lo mismo que el último segmento de la ruta de URL sin la extensión.
  • title es un título opcional de la carpeta que se puede mostrar en lugar de su nombre.
Nota

Algunas propiedades de carpeta o recurso se asignan a un prefijo diferente. El jcr prefijo jcr:title, jcr:descriptiony jcr:language se reemplazan con dc prefijo. Por lo tanto, en el JSON devuelto dc:title y dc:description contener los valores de jcr:title y jcr:description, respectivamente.

Las carpetas de vínculos exponen tres vínculos:

  • self:: Vínculo a sí mismo.
  • parent:: Vínculo a la carpeta principal.
  • thumbnail:: (Opcional) vínculo a una imagen en miniatura de la carpeta.

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 otras representaciones. Las representaciones adicionales pueden ser imágenes de diferentes tamaños, codificaciones de vídeo diferentes o páginas extraídas de archivos PDF o Adobe InDesign.
  • Comentarios opcionales.

En Experience Manager una carpeta tiene los siguientes componentes:

  • Entidades: Los hijos de los activos son sus representaciones.
  • Propiedades.
  • Vínculos.

La API HTTP de Assets incluye las siguientes funciones:

Nota

Para facilitar la lectura, en los siguientes ejemplos se omite la notación completa de cURL. De hecho, la notación sí se correlaciona con Resty , que es un contenedor de secuencias de comandos para cURL.

Requisitos previos

  • Acceso https://[aem_server]:[port]/system/console/configMgr.
  • Vaya al Filtro CSRF de Adobe Granite.
  • Asegúrese de que la propiedad Métodos de filtro incluye: POST, PUT, DELETE.

Recuperar una lista de carpetas

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 DEL SERVIDOR INTERNO - 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 un rel de self.

Cree una carpeta .

Crea un nuevo sling: OrderedFolder en la ruta dada. Si * se proporciona un nombre 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 nombre-valor, codificados como application/www-form-urlencoded o multipart/ form- data, que resulta útil para crear una carpeta directamente desde un formulario HTML. Además, las propiedades de la carpeta se pueden especificar como parámetros de consulta URL.

Si no existe el nodo principal de la ruta proporcionada, se produce un error en una llamada de API con un código de respuesta 500 . 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 exitosa.
  • 409 - CONFLICTO - si la carpeta ya existe.
  • 412 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Crear un recurso

Coloque el archivo proporcionado en la ruta proporcionada para crear un recurso en el repositorio de DAM. Si * se proporciona un nombre en lugar de un nombre de nodo, el servlet utiliza el nombre de parámetro o el nombre de archivo como nombre de nodo.

Parámetros: Los parámetros son name para el nombre del recurso y file para la referencia del 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 existe activo.
  • 412 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Actualizar un binario de recursos

Actualiza el binario de un recurso (representación con el nombre original). Una actualización desencadena el flujo de trabajo predeterminado de procesamiento de recursos para ejecutarse, 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 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Actualización de metadatos de recursos

Actualiza las propiedades de metadatos de recurso. Si actualiza cualquier propiedad de la dc: Área de nombres, la API actualiza la misma propiedad en la jcr Área 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 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Sincronizar actualización de metadatos entre dc y jcr Área de nombres

El método API actualiza las propiedades de metadatos de la jcr Área de nombres. Las actualizaciones realizadas con la IU táctil modifican las propiedades de metadatos de la dc Área de nombres. Para sincronizar los valores de metadatos entre dc y la jcr Área de nombres, puede crear un flujo de trabajo y configurar un Experience Manager para que ejecute el flujo de trabajo tras la edición de recursos. Utilice una secuencia de comandos ECMA para sincronizar las propiedades de metadatos necesarias. La siguiente secuencia de comandos 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();
}
}

Creación de una representación de recursos

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 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Actualización de una representación de recursos

Las actualizaciones reemplazan 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 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Añadir un comentario en un recurso

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 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Copiar una carpeta o un recurso

Copia una carpeta o un recurso disponible en la ruta proporcionada a un nuevo destino.

Encabezados de solicitud: Los parámetros son:

  • X-Destination - un nuevo URI de destino dentro del ámbito de la solución API al que copiar el recurso.
  • X-Depth - infinity o 0. Usar 0 sólo copia el recurso y sus propiedades, y no sus elementos secundarios.
  • X-Overwrite - Se utiliza F para evitar la sobrescritura de 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 - ERROR DE PRECONDICIÓN - si falta un encabezado de solicitud.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Mover una carpeta o un recurso

Mueve una carpeta o un recurso de la ruta dada a un nuevo destino.

Encabezados de solicitud: Los parámetros son:

  • X-Destination - un nuevo URI de destino dentro del ámbito de la solución API al que copiar el recurso.
  • X-Depth - infinity o 0. Usar 0 sólo copia el recurso y sus propiedades, y no sus elementos secundarios.
  • X-Overwrite - Utilice T para forzar la eliminación de recursos existentes o F para evitar la sobrescritura de recursos existentes.

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 - ERROR DE PRECONDICIÓN - si falta un encabezado de solicitud.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

Eliminación de una carpeta, un recurso o una representación

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 - Correcto: si la carpeta se ha eliminado correctamente.
  • 412 - ERROR DE PRECONDICIÓN: si no se encuentra la colección raíz o no se puede obtener acceso a ella.
  • 500 - ERROR DEL SERVIDOR INTERNO - si algo más sale mal.

En esta página