Vous consultez actuellement l'aide de la version:

Aperçu

L’API Assets HTTP fait partie de l’API Marketing Cloud générale. Pour en savoir plus, consultez la documentation utilisateur de l’API Marketing Cloud.

L’API Assets HTTP se trouve à l’adresse /api/assets. Elle permet d’effectuer des opérations CRUD (créer, lire, mettre à jour et supprimer) dans Assets, y compris sur les fichiers binaires, les métadonnées, les rendus et les commentaires.

Mise en œuvre actuelle

L’API Assets HTTP a été introduite dans Adobe Experience Manager (AEM) Assets 6.1.

Pour accéder à l’API, procédez comme suit :

  1. Démarrez AEM.

  2. Ouvrez le document du service API à l’adresse http://<Nom du serveur>:<Port>/api.json.

  3. Suivez le lien du service Assets.

Modèle de données

L’API Assets HTTP présente deux éléments principaux : des dossiers et des ressources.

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  -- Name of the folder. This is the same as the last segment in the URL path without the extension
title -- Optional title of the folder which can be displayed instead of its name

Liens

Les dossiers présentent trois liens :

self      -- Link to itself
parent    -- Link to the parent folder
thumbnail -- (Optional) link to a folder thumbnail image

Ressources

Les ressources sont en fait des éléments en plusieurs parties :

  • 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. Les rendus supplémentaires peuvent être des images de tailles différentes, différents codages vidéo ou des pages extraites de PDF ou InDesign.
  • Commentaires facultatifs

Les dossiers se composent des éléments suivants :

Entités

Les enfants des ressources sont ses rendus.

Propriétés

Liens

Fonctionnalités disponibles

L’API Assets HTTP offre les fonctionnalités suivantes :

  • Récupérer une liste de dossiers
  • Créer un dossier
  • Créer une ressource
  • Mettre à jour le fichier binaire d’une ressource
  • 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

Remarque :

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.

Conditions préalables
  • Rendez-vous sur http://<Serveur>:<Port>/system/console/configMgr.
  • Accédez à Filtre CSRF Adobe Granite.
  • Assurez-vous que la propriété Filter Methods (Méthodes de filtrage) comprend : POST, PUT, DELETE.

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

200 - OK - success
404 - NOT FOUND - folder does not exist or is not accessible
500 - INTERNAL SERVER ERROR - if something else goes wrong

Réponse

La classe de l’entité renvoyée est assets/folder (ressources/dossier).

Les propriétés des entités contenues représentent un sous-ensemble du jeu complet des 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é. Si un astérisque (*) est indiqué au lieu d’un nom de nœud, le servlet utilisera le nom du paramètre comme nom de nœud. 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.

L’opération échoue et un code de réponse 500 est renvoyé si le nœud parent du chemin d’accès indiqué n’existe pas. Si le fichier existe déjà, un code de réponse 409 est renvoyé.

Paramètres

name - Folder name

Demande

POST /api/assets/myFolder -H"Content-Type: application/json" -d '{"class":"assetFolder","properties":{"title":"My Folder"}}'

Ou

POST /api/assets/* -F"name=myfolder" -F"title=My Folder"

Codes de réponse

201 - CREATED - on successful creation
409 - CONFLICT - if folder already exist
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Créer une ressource

Crée une ressource DAM à l’emplacement indiqué avec le fichier spécifié. Si un astérisque (*) est indiqué au lieu d’un nom de nœud, le servlet utilisera le nom du paramètre ou du fichier comme nom de nœud.

Paramètres

name - Asset name
file - File reference

Demande

POST /api/assets/myFolder/myAsset.png -H"Content-Type: image/png" --data-binary "@myPicture.png"

ou

POST /api/assets/myFolder/* -F"name=myAsset.png" -F"file=@myPicture.png"

Codes de réponse

201 - CREATED - if Asset has been created successfully
409 - CONFLICT - if Asset already exist
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Mettre à jour le fichier binaire d’une ressource

Met à jour un fichier binaire de ressources (rendu avec le nom d’origine). Cela déclenchera le processus de ressources par défaut, à condition qu’il soit configuré.

Demande

PUT /api/assets/myfolder/myAsset.png -H"Content-Type: image/png" --data-binary @myPicture.png

Codes de réponse

200 - OK - if Asset has been updated successfully
404 - NOT FOUND - if Asset could not be found or accessed at the provided URI
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Mettre à jour les métadonnées d’une ressource

Met à jour les propriétés de métadonnées d’une ressource.

Demande

PUT /api/assets/myfolder/myAsset.png -H"Content-Type: application/json" -d '{"class":"asset", "properties":{"dc:title":"My Asset"}}'

Codes de réponse

200 - OK - if Asset has been updated successfully
404 - NOT FOUND - if Asset could not be found or accessed at the provided URI
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Créer un rendu de ressource

Crée un rendu pour une ressource. Si le nom de paramètre de requête n’est pas fourni, le nom de fichier est utilisé comme nom du rendu.

Paramètres

name - Rendition name
file - File reference

Demande

POST /api/assets/myfolder/myasset.png/renditions/web-rendition -H"Content-Type: image/png" --data-binary "@myRendition.png"

ou

POST /api/assets/myfolder/myasset.png/renditions/* -F"name=web-rendition" -F"file=@myRendition.png"

Codes de réponse

201 - CREATED - if Rendition has been created successfully
404 - NOT FOUND - if Asset could not be found or accessed at the provided URI
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

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

200 - OK - if Rendition has been updated successfully
404 - NOT FOUND - if Asset could not be found or accessed at the provided URI
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Créer un commentaire de ressource

Crée un commentaire de ressource.

Paramètres

message - Message
annotationData - Annotation data (JSON)

Demande

POST /api/assets/myfolder/myasset.png/comments/* -F"message=Hello World." -F"annotationData={}"

Codes de réponse

201 - CREATED - if Comment has been created successfully
404 - NOT FOUND - if Asset could not be found or accessed at the provided URI
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Copier un dossier ou une ressource

Copie un fichier ou une ressource de l’emplacement indiqué vers une nouvelle destination.

En-têtes de requête

X-Destination - a new destination URI within the API solution scope to copy the resource to
X-Depth - either 'infinity' or '0'. The value '0' only copies the resource and its properties, no children.
X-Overwrite - 'F' to prevent overwriting an existing destination

Demande

COPY /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-copy"

Codes de réponse

201 - CREATED - if folder/asset has been copied to a non-existing destination
204 - NO CONTENT - if the folder/asset has been copied to an existing destination
412 - PRECONDITION FAILED - if a request header is missing or
500 - INTERNAL SERVER ERROR - if something else goes wrong

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

X-Destination - a new destination URI within the API solution scope to copy the resource to
X-Depth - either 'infinity' or '0'. The value '0' only copies the resource and its properties, no children.
X-Overwrite - either 'T' to force deletion of existing resources or 'F' to prevent overwriting an existing resource.

Demande

MOVE /api/assets/myFolder -H"X-Destination: /api/assets/myFolder-moved"

Codes de réponse

201 - CREATED - if folder/asset has been copied to a non-existing destination
204 - NO CONTENT - if the folder/asset has been copied to an existing destination
412 - PRECONDITION FAILED - if a request header is missing or
500 - INTERNAL SERVER ERROR - if something else goes wrong

Supprimer un dossier, une ressource ou un rendu

Supprime une ressource (arborescence) à l’emplacement indiqué.

Demande

DELETE /api/assets/myFolder

ou

DELETE /api/assets/myFolder/myAsset.png

ou

DELETE /api/assets/myFolder/myAsset.png/renditions/original

Codes de réponse

200 - OK - if folder has been deleted successfully
412 - PRECONDITION FAILED - if root collection cannot be found or accessed
500 - INTERNAL SERVER ERROR - if something else goes wrong

Ce produit est distribué sous licence Creative Commons Attribution - Pas d’utilisation commerciale - Partage à l’identique 3.0 non transposé  Les publications Twitter™ et Facebook ne sont pas couvertes par les dispositions Creative Commons.

Mentions légales   |   Politique de confidentialité en ligne