Comment mettre à jour votre contenu à l’aide des API AEM Assets update-your-content

Dans cette partie du parcours de développement AEM découplé, découvrez comment utiliser l’API REST pour accéder au contenu de vos fragments de contenu et le mettre à jour.

Un peu d’histoire… story-so-far

Dans le document précédent du parcours découplé AEM, Comment accéder à votre contenu à l’aide des API de diffusion AEM, vous avez appris à accéder à votre contenu en mode découplé via l’API AEM GraphQL et vous devriez maintenant :

  • Connaître GraphQL dans ses grandes lignes.
  • Comprendre le fonctionnement de l’API AEM GraphQL.
  • Connaître quelques exemples pratiques de requêtes.

Cet article s’appuie sur ces principes de base afin que vous compreniez comment accéder au contenu découplé existant dans AEM à l’aide de l’API AEM.

Objectif objective

  • Audience  : Niveau avancé

  • Objectif  : Découvrir comment utiliser l’API REST pour accéder au contenu de vos fragments de contenu et le mettre à jour :

    • Présentation de l’API HTTP d’AEM Assets.
    • Présentation et description de la prise en charge des fragments de contenu dans l’API.
    • Illustration de détails de l’API.

Pourquoi avez-vous besoin de l’API HTTP Assets pour le fragment de contenu why-http-api

À l’étape précédente du parcours en mode découplé, vous avez appris à utiliser l’API AEM GraphQL afin de récupérer votre contenu à l’aide de requêtes.

Alors pourquoi une autre API est-elle nécessaire ?

L’API HTTP Assets vous permet de Lire votre contenu, mais elle vous permet également de Créer, de Mettre à jour et de Supprimer le contenu, des actions qui sont impossibles avec l’API GraphQL.

L’API REST Assets est disponible pour chaque installation prête à l’emploi d’une version récente d’Adobe Experience Manager.

API HTTP Assets assets-http-api

L’API HTTP Assets englobe les éléments suivants :

  • API REST Assets
  • Prise en charge des fragments de contenu

L’implémentation actuelle de l’API HTTP Assets repose sur le style architectural REST et permet d’accéder au contenu (stocké dans AEM) via les opérations CRUD (Create, Read, Update, Delete) pour créer, lire, mettre à jour, supprimer.

Grâce à ces opérations, l’API permet d’utiliser Adobe Experience Manager en tant que système de gestion de contenu (CMS) découplé en fournissant Content Services à une application frontale JavaScript. Ou toute autre application pouvant exécuter des requêtes HTTP et gérer les réponses JSON. Par exemple, les applications monopages, basées sur la structure ou personnalisées, nécessitent du contenu fourni via l’API HTTP, souvent au format JSON.

API HTTP Assets et fragments de contenu assets-http-api-content-fragments

Les fragments de contenu sont utilisés pour une diffusion en mode découplé. Un fragment de contenu est un type spécial de ressource. Ils sont utilisés pour accéder à des données structurées, telles que des textes, des nombres, des dates, etc.

Utilisation de l’API REST Assets using-aem-assets-rest-api

Accès access

L’API REST Assets utilise le point d’entrée /api/assets et nécessite le chemin d’accès de la ressource pour y accéder (sans /content/dam en préfixe).

  • Cela signifie que pour accéder à la ressource à l’adresse suivante :
    • /content/dam/path/to/asset
  • Vous devez demander :
    • /api/assets/path/to/asset

Par exemple, pour accéder à /content/dam/wknd/en/adventures/cycling-tuscany, demandez /api/assets/wknd/en/adventures/cycling-tuscany.json

NOTE
Accès via :
  • /api/assets ne nécessite pas l’utilisation du sélecteur .model.
  • /content/path/to/page nécessite l’utilisation du sélecteur .model.

Opération operation

La méthode HTTP détermine l’opération à exécuter :

  • GET  : pour récupérer une représentation JSON d’une ressource ou d’un dossier
  • POST  : pour créer des ressources ou des dossiers
  • PUT  : pour mettre à jour les propriétés d’une ressource ou d’un dossier
  • SUPPRIMER  - pour supprimer une ressource ou un dossier.
NOTE
Le corps de la requête et/ou les paramètres URL peuvent être utilisés pour configurer certaines de ces opérations ; par exemple, spécifier qu’un dossier ou une ressource doivent être créés par une requête POST.

Le format exact des requêtes prises en charge est défini dans la documentation Référence d’API.

L’utilisation peut varier selon que vous utilisez un environnement d’auteur ou de publication AEM dans votre cas d’utilisation spécifique.

  • Il est vivement recommandé de lier la création à une instance d’auteur (et il n’existe actuellement aucun moyen de répliquer un fragment pour publier à l’aide de cette API).

  • La diffusion est possible à partir des deux, car AEM diffuse le contenu demandé au format JSON uniquement.

    • Le stockage et la diffusion depuis une instance de création AEM doivent suffire pour les applications de bibliothèque de médias situées derrière le pare-feu.

    • Pour une diffusion web en direct, une instance de publication AEM est recommandée.

CAUTION
La configuration du Dispatcher sur les instances AEM peut bloquer l’accès à /api.
NOTE
Pour plus d’informations, voir la Référence d’API. En particulier, API Adobe Experience Manager Assets – Fragments de contenu.

Lecture/Diffusion read-delivery

Mode d’utilisation :

GET /{cfParentPath}/{cfName}.json

Par exemple :

http://<host>/api/assets/wknd/en/adventures/cycling-tuscany.json

La réponse est un JSON sérialisé avec le contenu structuré comme dans le fragment de contenu. Les références sont diffusées en tant qu’URL de référence.

Deux types d’opérations de lecture sont possibles :

  • Lecture d’un fragment de contenu spécifique par chemin, ce qui renvoie la représentation JSON du fragment de contenu.
  • Lecture d’un dossier de fragments de contenu par chemin : cela renvoie les représentations JSON de tous les fragments de contenu du dossier.

Créer create

Mode d’utilisation :

POST /{cfParentPath}/{cfName}

Le corps doit contenir une représentation JSON du fragment de contenu à créer, notamment tout contenu initial devant être défini sur les éléments de fragment de contenu. Il est obligatoire de définir la propriété cq:model, qui doit pointer vers un modèle de fragment de contenu valide. Sans cela, il se produira une erreur. Il est également nécessaire d’ajouter un en-tête Content-Type, défini sur application/json.

Mettre à jour update

Mode d’utilisation :

PUT /{cfParentPath}/{cfName}

Le corps doit contenir une représentation JSON de ce qui doit être mis à jour pour le fragment de contenu donné.

Il peut simplement s’agir du titre ou de la description d’un fragment de contenu, d’un élément unique ou de toutes les valeurs et/ou métadonnées d’un élément.

Supprimer delete

Mode d’utilisation :

DELETE /{cfParentPath}/{cfName}

Pour plus d’informations sur l’utilisation de l’API REST d’AEM Assets, vous pouvez accéder aux éléments suivants :

  • API HTTP Assets d’Adobe Experience Manager (ressources supplémentaires)
  • Prise en charge des fragments de contenu dans l’API HTTP AEM Assets (ressources supplémentaires)

Et après ? whats-next

Maintenant que vous avez terminé cette partie du parcours de développement découplé AEM, vous devriez pouvoir :

  • Comprendre les principes de base de l’API HTTP d’AEM Assets.
  • Comprendre comment les fragments de contenu sont pris en charge dans cette API.

Poursuivez votre parcours dans AEM découplé en consultant le document Comment mettre en ligne votre application en mode découplé dans lequel vous mettez en ligne votre projet AEM découplé.

Ressources supplémentaires additional-resources

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2