Administrar recursos digitales con la API HTTP Adobe Experience Manager Assets assets-http-api

Versión
Vínculo del artículo
AEM 6.5
Haga clic aquí
AEM as a Cloud Service
Este artículo

AEM Introducción a la API HTTP de Assets de la overview

AEM La API HTTP de Assets permite las operaciones CRUD (crear, leer, actualizar y eliminar) en recursos digitales a través de una interfaz REST disponible en /api/assets. Estas operaciones se aplican a los metadatos de recursos, las representaciones y los comentarios. Incluye compatibilidad con fragmentos de contenido.

NOTE
Hay disponible una implementación modernizada de OpenAPI de la API de administración de fragmentos de contenido. Para obtener documentación completa, consulte API de administración de fragmentos de contenido. Se recomienda utilizar la nueva implementación de OpenAPI. El uso existente de la API HTTP de Assets para fragmentos de contenido debe migrarse a la nueva API abierta de administración de fragmentos de contenido.

Para acceder a la API:

  1. Abra el documento de servicio de API en https://[hostname]:[port]/api.json.
  2. Seguir el vínculo de servicio Assets que lleva a https://[hostname]:[server]/api/assets.json.

La respuesta de la API es un archivo JSON para algunos tipos de MIME y un código de respuesta para todos los tipos de MIME. La respuesta JSON es opcional y es posible que no esté disponible, por ejemplo, para archivos de PDF. Confíe en el código de respuesta para realizar más análisis o acciones.

NOTE
Todas las llamadas de API relacionadas con la carga o actualización de recursos o binarios en general (como representaciones) están en desuso para Experience Manager como una implementación de Cloud Service. Para cargar binarios, usa API de carga binaria directa.

Administrar fragmentos de contenido content-fragments

Un fragmento de contenido es un recurso estructurado que almacena texto, números y fechas. Dado que existen varias diferencias entre los recursos de standard (como imágenes o documentos), algunas reglas adicionales se aplican al manejo de fragmentos de contenido.

Para obtener más información, consulte Compatibilidad con fragmentos de contenido en la Experience Manager Assets API HTTP.

NOTE
AEM Consulte API de para la administración y entrega de contenido estructurado para obtener una descripción general de las diversas API disponibles y una comparación de algunos de los conceptos involucrados.
Las OpenAPI de fragmento de contenido y modelo de fragmento de contenidos también están disponibles.

Examinar el modelo de datos data-model

La API HTTP Assets expone principalmente dos elementos: carpetas y recursos estándar. También proporciona elementos detallados para los modelos de datos personalizados utilizados en fragmentos de contenido. Para obtener más información, consulte Modelos de datos de fragmentos de contenido. Consulte Modelos de datos de fragmentos de contenido para obtener más información.

Administración de carpetas folders

Las carpetas son como los directorios, como en los sistemas de archivos tradicionales. Las carpetas pueden contener recursos, subcarpetas o ambos. Las carpetas tienen los siguientes componentes:

Entidades: las entidades de una carpeta son sus elementos secundarios, que pueden ser carpetas y recursos.

Propiedades:

  • name: el nombre de la carpeta (el último segmento de la ruta de acceso de la dirección URL, sin la extensión).
  • title: título opcional mostrado en lugar del nombre de la carpeta.
NOTE
Algunas propiedades de la carpeta o el recurso se asignan a un prefijo diferente. El prefijo jcr de jcr:title, jcr:description y jcr:language se reemplaza por el prefijo dc. Por lo tanto, en el JSON devuelto, dc:title y dc:description contienen los valores de jcr:title y jcr:description, respectivamente.

Vínculos Las carpetas muestran tres vínculos:

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

Administración de recursos assets

En Experience Manager, un recurso contiene los siguientes elementos:

  • Propiedades y metadatos: Información descriptiva sobre el recurso.
  • Archivo binario: El archivo cargado originalmente.
  • Representaciones: varias representaciones configuradas (como imágenes en varios tamaños, diferentes codificaciones de vídeo o páginas extraídas de archivos de Adobe InDesign o PDF).
  • Comentarios (opcional): Comentarios proporcionados por el usuario.

Para obtener información sobre los elementos de los fragmentos de contenido, consulte Compatibilidad con fragmentos de contenido en la API HTTP de Experience Manager Assets.

En Experience Manager, una carpeta tiene los siguientes componentes:

  • Entidades: las representaciones secundarias de los recursos.
  • Propiedades.
  • Vínculos.

Explorar operaciones de API disponibles available-features

La API HTTP Assets incluye las siguientes características:

NOTE
Para facilitar la legibilidad, los siguientes ejemplos omiten las notaciones cURL completas. La notación se correlaciona con Resty, que es un contenedor de scripts para cURL.

Recuperar una lista de carpetas retrieve-a-folder-listing

Recupera una representación de 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 - success.
  • 404 - NO ENCONTRADO: la carpeta no existe o no se puede acceder a ella.
  • 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 dirección URL a la que apunta el vínculo con un rel de self.

Crear una carpeta. create-a-folder

Crea un(a) 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. La solicitud acepta cualquiera de las siguientes opciones:

  • Una representación de sirena de la nueva carpeta
  • Un conjunto de pares nombre-valor, codificados como application/www-form-urlencoded o multipart/ form- data. Son útiles 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 produce un error con un código de respuesta 500 si el nodo principal de la ruta de acceso proporcionada no existe. Una llamada devuelve un código de respuesta 409 si la carpeta existe.

Parámetros: name es el nombre de la carpeta.

Petición

  • 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 creación correcta.
  • 409 - CONFLICTO - si existe la carpeta.
  • 412: ERROR DE CONDICIÓN PREVIA: si no se encuentra la colección raíz o no se puede acceder a ella.
  • 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.

Crear un recurso create-an-asset

La creación de recursos no es compatible con esta API HTTP. Para crear recursos, use la API carga de recursos.

Actualizar un binario de recursos update-asset-binary

Consulte carga de recursos para obtener información sobre cómo actualizar los binarios de recursos. No se puede actualizar un binario de recursos mediante la API HTTP.

Actualización de metadatos de un recurso update-asset-metadata

Esta operación actualiza los metadatos del recurso. Al actualizar propiedades en el espacio de nombres dc:, se actualiza la propiedad jcr: correspondiente. Sin embargo, la API no sincroniza las propiedades en las dos áreas de nombres.

Solicitud: PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc: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 el recurso o no se pudo acceder a él en el URI proporcionado.
  • 412: ERROR DE CONDICIÓN PREVIA: si no se encuentra la colección raíz o no se puede acceder a ella.
  • 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.

Crear una representación de recursos create-an-asset-rendition

Crear una representación para un recurso. Si no se proporciona el nombre del parámetro de solicitud, se utilizará el nombre de archivo como nombre de representación.

Parámetros: Los parámetros son:

name: para el nombre de representación.
file: archivo binario para la representación como referencia.

Petición

  • 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

  • 201: CREADO: si la representación se ha creado correctamente.
  • 404 - NO ENCONTRADO: si no se pudo encontrar el recurso o no se pudo acceder a él en el URI proporcionado.
  • 412: ERROR DE CONDICIÓN PREVIA: si no se encuentra la colección raíz o no se puede acceder a ella.
  • 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.

Actualizar una representación de recursos update-an-asset-rendition

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 el recurso o no se pudo acceder a él en el URI proporcionado.
  • 412: ERROR DE CONDICIÓN PREVIA: si no se encuentra la colección raíz o no se puede acceder a ella.
  • 500 - ERROR INTERNO DEL SERVIDOR - si algo más sale mal.

Agregar un comentario en un recurso create-an-asset-comment

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 el comentario se ha creado correctamente.
  • 404 - NO ENCONTRADO: si no se pudo encontrar el recurso o no se pudo acceder a él en el URI proporcionado.
  • 412: ERROR DE CONDICIÓN PREVIA: si no se encuentra la colección raíz o no se puede acceder a ella.
  • 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 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 en el que copiar el recurso.
  • X-Depth - infinity o 0. Al usar 0 solo se copia el recurso y sus propiedades, y no sus elementos secundarios.
  • X-Overwrite - Use F para evitar que se sobrescriba 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/recurso se ha copiado a un destino existente.
  • 412 - ERROR DE PRECONDICIÓN: 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 determinada 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 en el que copiar el recurso.
  • X-Depth - infinity o 0. Al usar 0 solo se copia el recurso y sus propiedades, y no sus elementos secundarios.
  • X-Overwrite - Use T para eliminar a la fuerza un recurso existente o F 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/recurso se ha copiado a un destino existente.
  • 412 - ERROR DE PRECONDICIÓN: 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.

Petición

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

Siga las prácticas recomendadas y anote las limitaciones tips-limitations

  • Assets y sus representaciones dejarán de estar disponibles a través de la interfaz web Assets y la API HTTP cuando se llegue al Tiempo de inactividad. La API devuelve un error 404 si el Tiempo de activación es futuro o el Tiempo de inactividad es anterior.

  • La API HTTP de Assets devuelve solo un subconjunto de metadatos. Las áreas de nombres están codificadas y solo se devuelven esas áreas de nombres. Para ver los metadatos completos, consulte la ruta de recursos /jcr_content/metadata.json.

  • Algunas propiedades de la carpeta o el recurso se asignan a un prefijo diferente al actualizarse mediante las API. El prefijo jcr de jcr:title, jcr:description y jcr:language se reemplaza por el prefijo dc. Por lo tanto, en el JSON devuelto, dc:title y dc:description contienen los valores de jcr:title y jcr:description, respectivamente.

Explorar recursos relacionados

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab