Utilisation de REST avec des objets de contenu

You can use the Web Content Manager REST service to create, read, update, and delete content items.

Pour les versions HCL Digital Experience 9.5 CF_173, CF18 et ultérieures : Vous pouvez utiliser le service REST de Web Content Manager pour récupérer du contenu ou des composants avec des références à des ressources gérées en externe, à l'aide du plug-in du gestionnaire d'actifs numériques. Cette option est uniquement disponible pour les utilisateurs des versions HCL Digital Experience 8.5 et 9.0 CF18.

Prérequis : configurer le plug-in du service de gestionnaire d'actifs numériques. Voir la section Configuration du plug-in HCL Digital Experience Web Content Manager pour plus d'informations.

API de références Export DAM

Cette API prend en charge la récupération du contenu ou des composants avec des références à des ressources gérées en externe, à l'aide du plug-in du gestionnaire d'actifs numériques. Les résultats exposeront un lien vers un objet de contenu WCM ou un composant vers la ressource liée gérée en externe.

Les objets de contenu WCM ou composants gérés dans des ressources externes peuvent être récupérés à l'aide des formats de requête GET suivants :

Noeud final
Requête GET à Content :
http://host:port/wps/mycontenthandler/wcmrest/Content/<UUID of the content>
Modèle d'URL :
http://localhost:10039/wps/mycontenthandler/wcmrest/Content/5331114d-e07e-4d10-9091-f037e0f0a42f
Requête GET à ImageComponent :
http://host:port/wps/mycontenthandler/wcmrest/LibraryImageComponent/<UUID of the component>
Modèle d'URL :
http://localhost:10039/wps/mycontenthandler/wcmrest/LibraryImageComponent/5331114d-e07e-4d10-9091-f037e0f0a42f
Requête GET à FileComponent :
http://host:port/wps/mycontenthandler/wcmrest/LibraryFileComponent/<UUID of the component>
Modèle d'URL :
http://localhost:10039/wps/mycontenthandler/wcmrest/LibraryFileComponent/5331114d-e07e-4d10-9091-f037e0f0a42f
Corps attendu
Le corps du contenu peut avoir la structure WCM de base ou peut être vide :
<?xml version="1.0" encoding="UTF-8"?>
                    <feed xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
                    </feed>
En-têtes attendus
Jeton LTPA de l'utilisateur.
Corps Return
Remarque :
Exemple d'objet de contenu qui dispose d'un élément fichier et image renseigné par des références du gestionnaire d'actifs numériques (externe) :
<?xml version="1.0" encoding="UTF-8"?><entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm/8.0">
    <id>wcmrest:5331114d-e07e-4d10-9091-f037e0f0a42f</id>
    <title xml:lang="fr-fr">content</title>
    <summary xml:lang="fr-fr"></summary>
    <wcm:name>content</wcm:name>
    <wcm:type>Content</wcm:type>
    <updated>2020-03-12T19:16:06.934Z</updated>
    <wcm:created>2020-03-12T19:16:06.934Z</wcm:created>
    <author>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</
    wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/um/users/
    profiles/Z9eAeIHD63QC6N1P2MMS6J1C6JMG64JDEJM4CP9ECMMCCKHC83IHCK9P2JRKCN1</uri>
        <name>wpsadmin</name>
    </author>
    <wcm:owner>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/um/users/
    profiles/Z9eAeIHD63QC6N1P2MMS6J1C6JMG64JDEJM4CP9ECMMCCKHC83IHCK9P2JRKCN1</uri>
        <name>wpsadmin</name>
    </wcm:owner>
    <wcm:lastModifier>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/um/users/profiles/
    Z9eAeIHD63QC6N1P2MMS6J1C6JMG64JDEJM4CP9ECMMCCKHC83IHCK9P2JRKCN1</uri>
        <name>wpsadmin</name>
    </wcm:lastModifier>
    <wcm:creator>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/um/users/
    profiles/Z9eAeIHD63QC6N1P2MMS6J1C6JMG64JDEJM4CP9ECMMCCKHC83IHCK9P2JRKCN1</uri>
        <name>wpsadmin</name>
    </wcm:creator>
    <wcm:profile/>
    <link rel="self" href="/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/
wcmrest/Content/5331114d-e07e-4d10-9091-f037e0f0a42f" xml:lang="fr-fr" label="Read"/>
    <link rel="edit" href="/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/
wcmrest/Content/5331114d-e07e-4d10-9091-f037e0f0a42f" xml:lang="fr-fr" label="Edit"/>
    <link rel="delete" href="/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/
wcmrest/Content/5331114d-e07e-4d10-9091-f037e0f0a42f" xml:lang="fr-fr" label="Delete"/>
    <link rel="create-draft" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/item/5331114d-e07e-4d10-9091-f037e0f0a42f/create-
draft" xml:lang="fr-fr" label="Create Draft"/>
    <link rel="change-to-draft" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/item/5331114d-e07e-4d10-9091-f037e0f0a42f/change-
to-draft" xml:lang="fr-fr" label="Change To Draft"/>
    <link rel="access-control" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/ac/
access:oid:Z6QReDeLPC6JO46H1D8MMKCGPDAMMG64BC0JM47G9E2JMOCGPCEJI166
3C26Q8663" xml:lang="fr-fr" label="Access Control"/>
    <link rel="library" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/Library/a2f8d947-0879-48ad-841f-e8c1c9df5bf1" 
xml:lang="fr-fr" label="Library"/>
    <link rel="parent" href="/wps/mycontenthandler/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/
wcmrest/SiteArea/289526f2-351d-4a21-9d81-e354d6d73bf1" xml:lang="fr-fr" label="Parent"/>
    <link rel="versions" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/item/5331114d-e07e-4d10-9091-f037e0f0a42f/
versions" xml:lang="fr-fr" label="Versions"/>
    <link rel="preview" href="/wps/poc/!ut/p/digest!9GRUk0MKduqatA7U-8CVEQ/wcm/oid:
5331114d-e07e-4d10-9091-f037e0f0a42f" xml:lang="fr-fr" label="Preview"/>
    <link rel="edit-media" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/Content/5331114d-e07e-4d10-9091-f037e0f0a42f" 
type="application/vnd.ibm.wcm+xml" xml:lang="fr-fr" label="Edit Media"/>
    <link rel="content-template" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/ContentTemplate/5f04d8ba-90b5-43db-
a0c4-781dcfb999d4" xml:lang="fr-fr" label="Content Template"/>
    <link rel="elements" href="/wps/mycontenthandler/!ut/p/digest!
9GRUk0MKduqatA7U-8CVEQ/wcmrest/Content/5331114d-e07e-4d10-9091-f037e0f0a42f/
elements" xml:lang="fr-fr" label="Elements"/>
    <category scheme="wcmrest:workflowState" term="PUBLISHED" label="Published" xml:lang="fr-fr"/>
    <category scheme="wcmrest:favorite" term="false" xml:lang="fr-fr"/>
    <content type="application/vnd.ibm.wcm+xml">
        <wcm:content xmlns="http://www.ibm.com/xmlns/wcm/8.0">
            <elements xmlns:atom="http://www.w3.org/2005/Atom">
                <element name="image">
                    <title xml:lang="fr-fr">image</title>
                    <type>ImageComponent</type>
                    <data type="application/vnd.ibm.wcm+xml">
                        <image>
                            <dimension height="" width="" border="0"/>
                            <altText></altText>
                            <tagName></tagName>
                            <fileName>IMG_0001.jpg</fileName>
                            <resourceUri type="image/jpeg">http://ml-latest.team-q-dev.com:3001/dx/api/
                        media-library/v0/collections/faab3654-20dd-4c01-8936-c272b992e6f9/items/
                        c074e9c8-4e22-4ed0-a82a-3c593d9d9577?binary=true</resourceUri>
                        </image>
                    </data>
                 </element>
                 <element name="file">
                    <title xml:lang="fr-fr">file</title>
                    <type>FileComponent</type>
                    <data type="application/vnd.ibm.wcm+xml">
                        <resourceUri type="application/pdf">http://ml-latest.team-q-dev.com:3001/dx/
                    api/media-library/v0/collections/faab3654-20dd-4c01-8936-c272b992e6f9/items/
                    18f580ed-967c-4c9c-8f0a-dab76e8f2113?binary=true</resourceUri>
                    </data>
                 </element>
                 <element name="text">
                    <title xml:lang="fr-fr">text</title>
                    <type>RichTextComponent</type>
                    <data type="text/html"/>
                 </element>
             </elements>
         </wcm:content>
     </content>
 </entry>

Créer

Vous pouvez créer un objet de contenu en envoyant une demande POST à l'URI suivant avec une entrée Atom utilisée pour représenter l'objet de contenu :
/Content
  • Une relation de lien parent ou bibliothèque doit être utilisée pour définir l'emplacement de l'élément hiérarchique en cours de création.
  • Un modèle de création doit être spécifié pour définir le modèle de création à utiliser lors de la création de l'objet.
Par exemple:
POST
HTTP/1.1 POST 
http://host:port/wps/mycontenthandler/wcmrest/Content/
Content-Type: application/atom+xml
		<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
			<wcm:name>Content Name</wcm:name>
			<atom:title>Content Title</atom:title>
			<atom:link atom:rel="parent" atom:href="/wps/
            mycontenthandler/wcmrest/item/49f4ed95-a99f-434c-a415-77c341fa4893"/>
			<atom:link atom:rel="workflow" atom:href="/wps/
            mycontenthandler/wcmrest/item/abae799b-4cca-47ae-aad8-b3d8204deefb"/>
			<atom:link atom:rel="content-template" atom:href="/wps/
            mycontenthandler/wcmrest/item/588127d0-a4f8-44b5-87a4-5fe3f7bd3da7"/>
		</atom:entry>
Réponse :
201 Created

Création d'un squelette

Une représentation en "squelette" d'un objet de contenu créé à partir d'un modèle de contenu peut être obtenue pour faciliter la création d'objets de contenu. Pour cela, envoyez une demande GET à l'URI ci-après. Une fois le squelette obtenu et rempli, il est possible de créer une demande POST à l'aide de ces données pour créer l'objet.

/ContentTemplate/template-uuid/new-content
Par exemple:
HTTP/1.1 GET http://host:port/wps/mycontenthandler/wcmrest/ContentTemplate/b7b8b3fb-8fa1-4eb3-915e-ce7514f7067f/new-content

Response 
200 OK

<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="http://www.ibm.com/xmlns/wcm">
    <id>wcmrest:6bab48c6-1f24-454e-9bab-ae1be4cf3a0a</id>
    <title lang="en"></title>
    <summary lang="en"></summary>
    <wcm:name></wcm:name>
    <wcm:type>Content</wcm:type>
    <updated>2012-01-31T03:28:08.118Z</updated>
    <author>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</
    wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!7K1PhYjxBw0jzCDqHCwg2w/um/
    users/profiles/Z9eAeHPCAJG963RD2MMG6P9O6MMG66BD6MM47IHP4MMS6M1DAJQ4C1BCAMID653</uri>
        <name>wpsadmin</name>
    </author>
    <wcm:owner>
        <wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
        <uri>/wps/mycontenthandler/!ut/p/digest!7K1PhYjxBw0jzCDqHCwg2w/um/
    users/profiles/Z9eAeHPCAJG963RD2MMG6P9O6MMG66BD6MM47IHP4MMS6M1DAJQ4C1BCAMID653</uri>
        <name>wpsadmin</name>
    </wcm:owner>
    <link label="Library" rel="library" href="/wps/mycontenthandler/!ut/p/
digest!PQo5Yhy68oeppWcEz2sddA/wcmrest/item/a423287f-b0ce-4ee3-9c95-aa0939382228" lang="en"/>
    <link label="Content Template" rel="content-template" href="/wps/
mycontenthandler/!ut/p/digest!PQo5Yhy68oeppWcEz2sddA/wcmrest/Content/b7b8b3fb-8fa1-4eb3-915e-ce7514f7067f" lang="en"/>
    <content type="application/vnd.ibm.wcm+xml">
        <content xmlns="http://www.ibm.com/xmlns/wcm">
            <elements>
                <element name="Body">
                    <title lang="en">Body</title>
                    <type>RichTextComponent</type>
                    <data type="text/html"></data>
                </element>
            </elements>
        </content>
    </content>
</entry>

Mettre à jour

Vous pouvez mettre à jour un objet de contenu en envoyant une demande PUT à l'URI suivant avec une entrée Atom spécifiant les zones de l'objet qui doivent être modifiées.
/Content/item-uuid
Par exemple:
PUT
HTTP/1.1 PUT
http://host:port/wps/mycontenthandler/wcmrest/Content/abae799b-4cca-47ae-aad8-b3d8204deefb
Content-Type: application/atom+xml
<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
    <wcm:name>Updated Content Name</wcm:name>
    <atom:title>Updated Content Title</atom:title>
</atom:entry>
Réponse :
200 OK

Lire

Vous pouvez lire un objet de contenu en envoyant une demande GET à l'URI suivant :
/Content/item-uuid
Par exemple:
GET
HTTP/1.1 GET
http://host:port/wps/mycontenthandler/wcmrest/Content/fa2bfd32-7b2f-4394-a5ab-2e150c5ed8aa

<atom:entry xmlns:atom="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
    <atom:id>fa2bfd32-7b2f-4394-a5ab-2e150c5ed8aa</atom:id>
    <wcm:name>content name145805586</wcm:name>
    <atom:title>content title145805586</atom:title>
    <wcm:type>Content</wcm:type>
    <atom:updated>2011-04-27T04:06:32.643Z</atom:updated>
    <atom:link atom:rel="edit" atom:href="/wps/mycontenthandler/
wcmrest/Content/fa2bfd32-7b2f-4394-a5ab-2e150c5ed8aa"/>
    <atom:link atom:rel="library" atom:href="/wps/mycontenthandler/
wcmrest/item/957a67f2-9d70-469f-9d43-f63f78508e48"/>
    <atom:link atom:rel="parent" atom:href="/wps/mycontenthandler/
wcmrest/item/49f4ed95-a99f-434c-a415-77c341fa4893"/>
    <atom:link atom:rel="workflow-stage" atom:href="/wps/
mycontenthandler/wcmrest/item/f659d3af-7d45-4fc0-ad37-86e407caf2b6"/>
    <atom:link atom:rel="workflow" atom:href="/wps/mycontenthandler/
wcmrest/item/abae799b-4cca-47ae-aad8-b3d8204deefb"/>
    <atom:link atom:rel="versions" atom:href="/wps/mycontenthandler/
wcmrest/item/fa2bfd32-7b2f-4394-a5ab-2e150c5ed8aa/versions"/>
    <atom:link atom:rel="content-template" atom:href="/wps/mycontenthandler/
wcmrest/item/588127d0-a4f8-44b5-87a4-5fe3f7bd3da7"/>
    <atom:link atom:rel="elements" atom:href="/wps/mycontenthandler/
wcmrest/Content/fa2bfd32-7b2f-4394-a5ab-2e150c5ed8aa/elements"/>
</atom:entry>
Réponse :
200 OK

Supprimer

Vous pouvez supprimer un objet de contenu en envoyant une demande DELETE à l'URI suivant :
/Content/item-uuid
Par exemple:
DELETE
HTTP/1.1 DELETE
http://host:port/wps/mycontenthandler/wcmrest/Content/fa2bfd32-7b2f-4394-a5ab-2e150c5ed8aa/
Réponse :
200 OK