El Assets La API HTTP permite realizar operaciones de creación, lectura, actualización y eliminación (CRUD) en recursos digitales, incluidos metadatos, representaciones y comentarios, así como contenido estructurado mediante Experience Manager Fragmentos de contenido. Se expone en /api/assets
y se implementa como API de REST. Incluye compatibilidad con fragmentos de contenido.
Para acceder a la API:
https://[hostname]:[port]/api.json
.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.
Todas las llamadas de la API relacionadas con la carga o actualización de recursos o binarios en general (como representaciones) están en desuso para Experience Manager as a Cloud Service implementación. Para cargar binarios, utilice API de carga binaria directa en su lugar.
A Fragmento de contenido es un tipo especial de recurso. Se puede utilizar para acceder a datos estructurados, como textos, números, fechas, entre otros. Dado que existen varias diferencias con standard
Recursos (como imágenes o documentos), algunas reglas adicionales se aplican a la gestión de fragmentos de contenido.
Para obtener más información, consulte Compatibilidad con fragmentos de contenido en Experience Manager Assets API HTTP.
El Assets La API HTTP expone dos elementos principales, carpetas y recursos (para recursos estándar). Además, expone elementos más detallados para los modelos de datos personalizados que describen el contenido estructurado en Fragmentos de contenido. Consulte Modelos de datos de fragmentos de contenido para obtener más información.
Las carpetas son como los directorios, como en los sistemas de archivos tradicionales. La carpeta solo puede contener recursos, carpetas o carpetas y recursos. 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 igual 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.Algunas propiedades de la carpeta o el recurso se asignan a un prefijo diferente. El jcr
prefijo de jcr:title
, jcr:description
, y jcr:language
se han reemplazado 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 muestran 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.Entrada Experience Manager un recurso contiene los siguientes elementos:
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.
Entrada Experience Manager una carpeta tiene los siguientes componentes:
El Assets La API HTTP incluye las siguientes funciones:
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.
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:
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 una rel
de self
.
Crea un sling
: OrderedFolder
en la ruta determinada. If *
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:
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 falla con un 500
código de respuesta si el nodo principal de la ruta proporcionada no existe. Una llamada a devuelve un código de respuesta 409
si la carpeta 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:
Consulte carga de recursos para obtener información sobre cómo crear un recurso. No puede crear un recurso mediante la API HTTP.
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.
Actualiza las propiedades de los metadatos del recurso. Si actualiza cualquier propiedad en la variable dc:
, la API actualiza la misma propiedad en el jcr
namespace. 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:
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 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
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:
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:
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
- bien infinity
o 0
. Uso de 0
solo copia el recurso y sus propiedades y no sus elementos secundarios.X-Overwrite
- Uso F
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:
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
- bien infinity
o 0
. Uso de 0
solo copia el recurso y sus propiedades y no sus elementos secundarios.X-Overwrite
- Utilice una de estas opciones T
para eliminar por la fuerza recursos existentes 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:
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:
Después del Tiempo de inactividad, un recurso y sus representaciones no están disponibles a través del Assets y a través de la API HTTP. La API devuelve el mensaje de error 404 si la variable Tiempo de activación es en el futuro o Tiempo de inactividad está en el pasado.
La API HTTP de Assets no devuelve los metadatos completos. Las áreas de nombres están codificadas y solo se devuelven esas áreas de nombres. Para ver los metadatos completos, consulte la ruta del recurso /jcr_content/metadata.json
.
Algunas propiedades de la carpeta o el recurso se asignan a un prefijo diferente al actualizarse mediante las API. El jcr
prefijo de jcr:title
, jcr:description
, y jcr:language
se han reemplazado 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.