How to use REST with site areas | HCL Digital Experience
You can use the Web Content Manager REST service to create, read, update, and delete site areas.
Create
A site area can be created by sending
a POST request to the following URI with an Atom entry that represents
the site area:
/SiteArea
- A library or parent link relation must be specified. This tells the REST service the location of the hierarchical item being created.
- An authoring template must be specified. This tells the REST service what authoring template to use when creating the item.
- Template mappings can also be specified.
For example:
POST /wps/mycontenthandler/wcmrest/SiteArea HTTP/1.0
Content-type : application/atom+xml
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
<title>SampleSiteAreaTitle</title>
<link rel="parent" href="/wps/mycontenthandler/!ut/p/wcmrest/item/ae6a3632-a1b5-456a-866e-e9baab84fe29"/>
<wcm:name>SampleSiteAreaName</wcm:name>
<wcm:description>SampleSiteAreaDescription</wcm:description>
</entry>
HTTP/1.0 201 Created
Content-type : application/atom+xml; type=entry
Content-location: /wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
<id>18001a8c-2117-45d2-be1c-baea28a41769</id>
<title>SampleSiteAreaTitle</title>
<link rel="edit" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769"/>
<link rel="library" href="/wps/mycontenthandler/!ut/p/wcmrest/item/54a68ca2-c550-4385-966f-b0b612147547"/>
<link rel="parent" href="/wps/mycontenthandler/!ut/p/wcmrest/item/ae6a3632-a1b5-456a-866e-e9baab84fe29"/>
<link rel="create-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/create-draft"/>
<link rel="change-to-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/change-to-draft"/>
<link rel="versions" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/versions"/>
<link rel="default-content" href="/wps/mycontenthandler/!ut/p/wcmrest/Content/null"/>
<link rel="elements" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769/elements"/>
<updated>2011-05-30T06:01:56.330Z</updated>
<author>
<wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
<uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
<name>wpsadmin</name>
</author>
<wcm:owner>
<wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
<uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
<name>wpsadmin</name>
</wcm:owner>
<wcm:name>SampleSiteAreaName</wcm:name>
<wcm:description>SampleSiteAreaDescription</wcm:description>
<wcm:type>SiteArea</wcm:type>
<wcm:state>PUBLISHED</wcm:state>
<content type="application/vnd.ibm.wcm+xml">
<wcm:siteArea xmlns="http://www.ibm.com/xmlns/wcm">
<elements xmlns:atom="http://www.w3.org/2005/Atom"/>
<templateMap>
<templateMapping authoringTemplate="/wps/mycontenthandler/!ut/p/digest!One_9iWYnKogRRVx7BtBTA/wcmrest/ContentTemplate/d1dab663-4488-45e4-b63e-2f9339d50b57" presentationTemplate="/wps/mycontenthandler/!ut/p/digest!One_9iWYnKogRRVx7BtBTA/wcmrest/PresentationTemplate/3c304106-3c22-403c-8d62-1930749b0942"/>
</templateMap>
</wcm:siteArea>
</entry>
Create from a skeleton
A "skeleton" representation of a site area that is created from a site area template can be obtained to aid in the creation of site areas. This can be obtained by sending a GET request to the following URI. When the skeleton is obtained and completed a POST request can be made by using this data to create the item.
/SiteAreaTemplate/template-uuid/new-sitearea
For
example:
<?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:38188c20-44e4-4447-8a54-91d47ecfcc13</id>
<wcm:name></wcm:name>
<wcm:type>SiteArea</wcm:type>
<updated>2012-01-31T03:33:17.826Z</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="Sitearea Template" rel="sitearea-template" href="/wps/mycontenthandler/!ut/p/digest!PQo5Yhy68oeppWcEz2sddA/wcmrest/SiteArea/72456e6a-198c-47f3-8611-659b0ec6624c" lang="en"/>
<content type="application/vnd.ibm.wcm+xml">
<siteArea xmlns="http://www.ibm.com/xmlns/wcm">
<elements>
<element name="summary">
<title lang="en-US">Summary</title>
<type>TextComponent</type>
<data type="text/plain"><![CDATA[Text inside the element]]></data>
</element>
<element name="body">
<title lang="en-US">Body</title>
<type>HTMLComponent</type>
<data type="text/html"><![CDATA[<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
]]></data>
</element>
</elements>
</siteArea>
</content>
</entry>
Update
A site area can be updated by sending
a PUT request to the following URI with an Atom entry that includes
the fields on the item that need to be changed.
/SiteArea/item-uuid
For
example:
PUT /wps/mycontenthandler/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769 HTTP/1.0
Content-Type : application/atom+xml
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
<title>SampleSiteAreaTitleUpdated</title>
<wcm:name>SampleSiteAreaNameUpdated</wcm:name>
<wcm:description>SampleSiteAreaDescriptionUpdated</wcm:description>
</entry>
HTTP/1.0 200 OK
Content-type: application/atom+xml; type=entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
<id>18001a8c-2117-45d2-be1c-baea28a41769</id>
<title>SampleSiteAreaTitleUpdated</title>
<link rel="edit" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769"/>
<link rel="library" href="/wps/mycontenthandler/!ut/p/wcmrest/item/54a68ca2-c550-4385-966f-b0b612147547"/>
<link rel="parent" href="/wps/mycontenthandler/!ut/p/wcmrest/item/ae6a3632-a1b5-456a-866e-e9baab84fe29"/>
<link rel="create-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/create-draft"/>
<link rel="change-to-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/change-to-draft"/>
<link rel="versions" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/versions"/>
<link rel="default-content" href="/wps/mycontenthandler/!ut/p/wcmrest/Content/null"/>
<link rel="elements" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769/elements"/>
<updated>2011-05-30T06:04:25.741Z</updated>
<author>
<wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
<uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
<name>wpsadmin</name>
</author>
<wcm:owner>
<wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
<uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
<name>wpsadmin</name>
</wcm:owner>
<wcm:name>SampleSiteAreaNameUpdated</wcm:name>
<wcm:description>SampleSiteAreaDescriptionUpdated</wcm:description>
<wcm:type>SiteArea</wcm:type>
<wcm:state>PUBLISHED</wcm:state>
</entry>
Read
A site area can be read by sending
a GET request to the following URI:
/SiteArea/item-uuid
For
example:
GET /wps/mycontenthandler/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769 HTTP/1.0
HTTP/1.0 200 OK
Content-type: application/atom+xml; type=entry
<entry xmlns="http://www.w3.org/2005/Atom" xmlns:wcm="wcm/namespace">
<id>18001a8c-2117-45d2-be1c-baea28a41769</id>
<title>SampleSiteAreaTitleUpdated</title>
<link rel="edit" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769"/>
<link rel="library" href="/wps/mycontenthandler/!ut/p/wcmrest/item/54a68ca2-c550-4385-966f-b0b612147547"/>
<link rel="parent" href="/wps/mycontenthandler/!ut/p/wcmrest/item/ae6a3632-a1b5-456a-866e-e9baab84fe29"/>
<link rel="create-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/create-draft"/>
<link rel="change-to-draft" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/change-to-draft"/>
<link rel="versions" href="/wps/mycontenthandler/!ut/p/wcmrest/item/18001a8c-2117-45d2-be1c-baea28a41769/versions"/>
<link rel="default-content" href="/wps/mycontenthandler/!ut/p/wcmrest/Content/null"/>
<link rel="elements" href="/wps/mycontenthandler/!ut/p/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769/elements"/>
<updated>2011-05-30T06:04:25.741Z</updated>
<author>
<wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
<uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
<name>wpsadmin</name>
</author>
<wcm:owner>
<wcm:distinguishedName>uid=wpsadmin,o=defaultWIMFileBasedRealm</wcm:distinguishedName>
<uri>/wps/mycontenthandler/!ut/p/digest!6GVkh5Ul75Ln7DdEgvHm_g/um/users/profiles/Z9eAeH1C2JG561RC6JM47H9E4MMG6PHO6JM4C5JD0JMOC6BEEJS464JDG3I56K1</uri>
<name>wpsadmin</name>
</wcm:owner>
<wcm:name>SampleSiteAreaNameUpdated</wcm:name>
<wcm:description>SampleSiteAreaDescriptionUpdated</wcm:description>
<wcm:type>SiteArea</wcm:type>
<wcm:state>PUBLISHED</wcm:state>
</entry>
Delete
A site area can be deleted by sending
a DELETE request to the following URI:
/SiteArea/item-uuid
For
example:
DELETE /wps/mycontenthandler/wcmrest/SiteArea/18001a8c-2117-45d2-be1c-baea28a41769 HTTP/1.0
HTTP/1.0 200 OK