Show Menu
SUJETS×

API HTTP Assets

Présentation

The Assets HTTP API allows for create-read-update-delete (CRUD) operations on digital assets, including on metadata, on renditions, and on comments, together with structured content using Experience Manager Content Fragments. Elle est exposée sous /api/assets et est implémentée en tant qu’API REST. Elle inclut la prise en charge des fragments de contenu .
Pour accéder à l’API, procédez comme suit :
  1. Ouvrez le document du service API à l’adresse https://[hostname]:[port]/api.json .
  2. Suivez le lien du service Assets pointant vers https://[hostname]:[server]/api/assets.json .
La réponse de l’API est un fichier JSON pour certains types MIME et un code de réponse pour tous les types MIME. La réponse JSON est facultative et peut ne pas être disponible, par exemple pour les fichiers PDF. Vous pouvez faire appel au code de réponse pour d’autres analyses ou actions.
After the Off Time, an asset and its renditions are not available via the Assets web interface and through the HTTP API. L’API renvoie un message d’erreur 404 si l’heure d’activation se situe dans le futur ou si l’heure de désactivation se situe dans le passé.
Tous les appels d’API liés au chargement ou à la mise à jour des ressources ou des fichiers binaires en général (tels que les rendus) sont obsolètes pour un déploiement d’AEM as a Cloud Service. Pour charger des fichiers binaires, utilisez plutôt des API de chargement binaire direct .

Fragments de contenu

Un fragment de contenu est un type de ressource spécial. Il permet d’accéder aux données structurées, telles que les textes, les nombres, les dates, etc. Comme il existe plusieurs différences de ressources standard (telles que les images ou les documents), certaines règles supplémentaires s’appliquent pour gérer les fragments de contenu.

Modèle de données

L’API HTTP Assets présente deux éléments principaux : des dossiers et des ressources (pour les ressources standard).
Il expose également des éléments plus détaillés pour les modèles de données personnalisés décrivant le contenu structuré dans les fragments de contenu. Pour plus d’informations, voir Modèles de données de fragments de contenu .

Dossiers

Les dossiers sont comparables aux répertoires des systèmes de fichiers traditionnels. Ils font office de conteneurs pour d’autres dossiers ou ressources. Les dossiers se composent des éléments suivants :
Entités  : les entités d’un dossier sont ses éléments enfants qui peuvent, à leur tour, être des dossiers et des ressources.
Propriétés  :
  • name est le nom du dossier. Il s’agit de la même chose que le dernier segment du chemin d’accès à l’URL sans l’extension.
  • title est un titre facultatif du dossier qui peut être affiché à la place de son nom.
Certaines propriétés de dossier ou de ressource sont associées à un préfixe différent. Le préfixe jcr de jcr:title , jcr:description et jcr:language est remplacé par le préfixe dc . Par conséquent, dans le JSON renvoyé, dc:title et dc:description contiennent respectivement les valeurs de jcr:title et jcr:description .
Les dossiers Liens présentent trois liens :
  • self  : lien vers lui-même.
  • parent : Lien vers le dossier parent.
  • thumbnail : (Facultatif) Lien vers une image miniature de dossier.

Ressources

In Experience Manager an asset contains the following elements:
  • Propriétés et métadonnées de la ressource.
  • Plusieurs rendus tels que le rendu d’origine (qui est la ressource transférée initialement), une vignette et divers autres rendus. D’autres rendus peuvent être des images de tailles différentes, des encodages vidéo différents ou des pages extraites de fichiers PDF ou Adobe InDesign.
  • Commentaires facultatifs.
For information about elements in Content Fragments see Content Fragments Support in Experience Manager Assets HTTP API .
In Experience Manager a folder has the following components:
  • Entités : Les enfants des actifs sont ses rendus.
  • Propriétés.
  • Liens.
L’API Assets HTTP offre les fonctionnalités suivantes :
  • Récupérer une liste de dossiers.
  • Créer un dossier.
  • Créez un fichier (obsolète).
  • Mettre à jour le fichier binaire d’une ressource (obsolète).
  • Mettre à jour les métadonnées d’une ressource.
  • Créer un rendu de ressource.
  • Mettre à jour un rendu de ressource.
  • Créer un commentaire de ressource.
  • Copier un dossier ou une ressource.
  • Déplacer un dossier ou une ressource.
  • Supprimer un dossier, une ressource ou un rendu.
Pour faciliter la lecture, la notation cURL complète n’est pas utilisée dans les exemples suivants. En fait, la notation est liée à Resty qui est un wrapper de script pour cURL .

Récupérer une liste de dossiers

Récupère une représentation Siren d’un dossier existant et de ses entités enfants (sous-dossiers ou ressources).
Demande : GET /api/assets/myFolder.json
Codes de réponse : Les codes de réponse sont les suivants :
  • 200 - OK - succès.
  • 404 - NON TROUVÉ - le dossier n'existe pas ou n'est pas accessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.
Réponse : La classe de l'entité renvoyée est une ressource ou un dossier. Les propriétés des entités contenues sont un sous-ensemble du jeu complet de propriétés de chaque entité. Pour obtenir une représentation complète de l’entité, les clients doivent récupérer le contenu de l’URL vers laquelle pointe le lien avec l’élément rel   self .

Créer un dossier

Crée un dossier sling  : OrderedFolder à l’emplacement indiqué. If a * is provided instead of a node name, the servlet uses the parameter name as node name. Cela est accepté dans la mesure où les données de la demande consistent en une représentation Siren du nouveau dossier ou un ensemble de paires nom-valeur, codé sous la forme application/www-form-urlencoded ou multipart / form - data , ce qui se révèle utile pour créer directement un dossier à partir d’un formulaire HTML. Les propriétés du dossier peuvent, en outre, être spécifiées en tant que paramètres de requête URL.
Un appel d’API échoue avec un code de 500 réponse si le noeud parent du chemin d’accès fourni n’existe pas. Un appel renvoie un code de réponse 409 si le dossier existe déjà.
Paramètres : name est le nom du dossier.
Demande
  • 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"
Codes de réponse : Les codes de réponse sont les suivants :
  • 201 - CRÉÉ - sur la création réussie.
  • 409 - CONFLIT - si un dossier existe déjà.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si la collection racine est introuvable ou est inaccessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Créer une ressource

Pour plus d’informations sur la création d’une ressource à l’aide d’API, voir Chargement de ressources . La création d’une ressource à l’aide de l’API HTTP est obsolète.

Mise à jour d’un fichier binaire de ressource

Pour plus d’informations sur la mise à jour de fichiers binaires de ressources à l’aide d’API, voir Chargement de ressources . La mise à jour d’un fichier binaire de ressource à l’aide de l’API HTTP est obsolète.

Mise à jour des métadonnées d’une ressource

Met à jour les propriétés de métadonnées d’une ressource. Si vous mettez à jour une propriété de l’ dc: espace de nommage, l’API met à jour la même propriété dans l’ jcr espace de nommage. L’API ne synchronise pas les propriétés sous les deux espaces de nommage.
Demande : PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'
Codes de réponse : Les codes de réponse sont les suivants :
  • 200 - OK - si la mise à jour de la ressource a réussi.
  • 404 - NON TROUVÉ - si le fichier n’a pas été trouvé ou n’a pas été accessible à l’URI fourni.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si la collection racine est introuvable ou est inaccessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Créer un rendu de ressource

Créez un rendu de ressource pour une ressource. Si le nom du paramètre de requête n’est pas fourni, le nom du fichier est utilisé comme nom du rendu.
Paramètres : Les paramètres servent name au nom du rendu et file à la référence du fichier.
Demande
  • 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 "
Codes de réponse
  • 201 - CRÉÉ - si le rendu a été créé avec succès.
  • 404 - NON TROUVÉ - si le fichier n’a pas été trouvé ou n’a pas été accessible à l’URI fourni.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si la collection racine est introuvable ou est inaccessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Mettre à jour un rendu de ressource

Met à jour et remplace le rendu d’une ressource par les nouvelles données binaires.
Demande : PUT /api/assets/myfolder/myasset.png/renditions/myRendition.png -H"Content-Type: image/png" --data-binary @myRendition.png
Codes de réponse : Les codes de réponse sont les suivants :
  • 200 - OK - si le rendu a été mis à jour avec succès.
  • 404 - NON TROUVÉ - si le fichier n’a pas été trouvé ou n’a pas été accessible à l’URI fourni.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si la collection racine est introuvable ou est inaccessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Ajouter un commentaire sur une ressource

Crée un commentaire de ressource.
Paramètres : Les paramètres concernent message le corps du message du commentaire et annotationData les données d’annotation au format JSON.
Demande : POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"
Codes de réponse : Les codes de réponse sont les suivants :
  • 201 - CRÉÉ - si le commentaire a été créé avec succès.
  • 404 - NON TROUVÉ - si le fichier n’a pas été trouvé ou n’a pas été accessible à l’URI fourni.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si la collection racine est introuvable ou est inaccessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Copier un dossier ou une ressource

Copie un dossier ou une ressource disponible à l’emplacement indiqué vers une nouvelle destination.
En-têtes de demande : Les paramètres sont les suivants :
  • X-Destination - un nouvel URI de destination dans la portée de la solution d'API pour copier la ressource.
  • X-Depth - soit infinity soit 0 . L'utilisation 0 de cette ressource copie uniquement la ressource et ses propriétés et non ses enfants.
  • X-Overwrite - Utilisation F pour empêcher le remplacement d'un fichier à la destination existante.
Demande : COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"
Codes de réponse : Les codes de réponse sont les suivants :
  • 201 - CRÉÉ - si le dossier/la ressource a été copié vers une destination non existante.
  • 204 - AUCUN CONTENU - si le dossier/fichier a été copié vers une destination existante.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si un en-tête de requête est manquant.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Déplacer un dossier ou une ressource

Déplace un dossier ou une ressource de l’emplacement indiqué vers une nouvelle destination.
En-têtes de requête : Les paramètres sont les suivants :
  • X-Destination - un nouvel URI de destination dans la portée de la solution d'API pour copier la ressource.
  • X-Depth - soit infinity soit 0 . L'utilisation 0 de cette ressource copie uniquement la ressource et ses propriétés et non ses enfants.
  • X-Overwrite - Utiliser soit T pour forcer la suppression d'une ressource existante, soit F pour empêcher le remplacement d'une ressource existante.
Demande : MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"
Codes de réponse : Les codes de réponse sont les suivants :
  • 201 - CRÉÉ - si le dossier/la ressource a été copié vers une destination non existante.
  • 204 - AUCUN CONTENU - si le dossier/fichier a été copié vers une destination existante.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si un en-tête de requête est manquant.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.

Supprimer un dossier, une ressource ou un rendu

Supprime une ressource (-tree) au chemin d'accès fourni.
Demande
  • DELETE /api/assets/myFolder
  • DELETE /api/assets/myFolder/myAsset.png
  • DELETE /api/assets/myFolder/myAsset.png/renditions/original
Codes de réponse : Les codes de réponse sont les suivants :
  • 200 - OK - si le dossier a été supprimé avec succès.
  • 412 - ÉCHEC DE LA PRÉCONDITION - si la collection racine est introuvable ou est inaccessible.
  • 500 - ERREUR DU SERVEUR INTERNE - si quelque chose d'autre ne va pas.