Abstract
Goal
Use AEM as Offer Server where the offers (with text and images) are created by marketing team as XFs (Experience Fragments) in Authoring and Published to AEM Publish. XF editor provides an easy to use interface for creating html fragments. For personalizing the offers we use Adobe Target Activities and XF Offers. Finally render the Personalized offer in a Third-party website (not running in AEM Publish). The offer html and necessary images are accessed by the third party website from AEM Publish
Setup IMS in AEM for Target Integration
https://experienceleague.adobe.com/docs/experience-manager-65/administering/integration/integration-ims-adobe-io.html
Tools > Security > Adobe IMS Configurations
1. Create a Certificate in AEM...
2. Upload Certificate in https://console.adobe.io
3. Continue the IMS integration in AEM...
4. Provide the necessary permissions for Integration in Admin Console. Without this you might see the following error when exporting XFs to Target...
Caused by: com.day.cq.analytics.testandtarget.impl.service.WebServiceException: Unexpected response status code [403] for request [https://mc.adobe.io/ags959/target/offers/content?includeMarketingCloudMetadata=true].{"httpStatus":403,"requestId":"SKeC0FKYUiWHkDxi2D47KS33xMkRKpdy","requestTime":"2021-06-15T17:12:51.320578Z","errors":[{"errorCode":"Forbidden.Resource","message":"Access denied. To perform this operation, all of the following privileges are required \"[editor]\".","meta":{}}]}at com.day.cq.analytics.testandtarget.impl.service.WebServiceImpl.request(WebServiceImpl.java:610) [com.adobe.cq.cq-target-integration:1.4.30]... 163 common frames omitted
Create Target Integration using IMS
Tools > Cloud Services > Legacy Cloud Services > Adobe Target
Create XF Components in AEM
1) Create a Text component in AEM extending Core Text Component (sling:resourceSuperType="core/wcm/components/text/v2/text")
2) Create an Image component in AEM extending Core Image Component (sling:resourceSuperType="core/wcm/components/image/v2/image"), add the following render script in /apps/eaem-cs-at-json-offer/components/image/image.html
Image not set
3) Create the model apps.experienceaem.assets.core.filters.ImageModel with following code for the Image component render script (this is for generating the full image link using Externalizer)
Read Full Blog
Q&A
Please use this thread to ask the related questions.
Kautuk Sahni