Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

Api integration

Avatar

Level 1

I have one API ( voice , mvb, accessories products ) I want to fetch the all the product details form api to aem & storage the product details in node level (Json format ) and creating product components process steps

1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

A few comments have been already made, but I want to give you my view on it.

 

In short: if it's possible avoid it. Because you will end up with topics like:

  • how do I structure that data in the repository, so it's not getting slow (too many siblings), and that you don't need search for all operations on it.
  • Witih your approach you are creating a cache. On product changes how long does it take to propagate changes from the backend to your AEM? Next consider that from end-to-end (changes in the PIM until a enduser can see the changed data), and calculate both the minimum and maximum delay. Is that acceptable?
  • What about deleting entries from this cache?

In many cases it might be best if you either bypass AEM when you need to display product information (and let the frontend reach out to the PIM directly). You can look at the current Commerce Integration Framework (CIF2) of Adobe; of course this is for a shopping solution, but also for a shop displaying products is a big topic.

 

Hope to give you some inspiration what to look for.

Jörg

 

View solution in original post

7 Replies

Avatar

Community Advisor

Hi @manojdandukumar , 

Yes it is possible to do. What is the query here? Please elaborate? 

Avatar

Community Advisor

You can write a servlet. , which can consume the API end point and parse the entire json and then for each product it can create a node in the JCR using various API.

 

It would be great if you share more details on how you want to create a product component.

 

 

Note: Rather create one node per product , you can also create one content per product . Also you can share an API in AEM which will create a product in AEM. And the logic of parsing the API end point can be out side AEM which can at-last call the AEM end point to store the products alone.

Avatar

Community Advisor

@manojdandukumar 

You can definitely fetch the product details from API and store it in node level.
You can get the response in JSON format by makunf REST call and create json files response at node level in AEM. Try using service user for accessing.

Thanks,
Nikhil

Avatar

Level 1
Okay ... But how to fetch from API to store into node level. Is there any documentation

Avatar

Community Advisor
You can make a REST call to the API end point.

Avatar

Community Advisor

Hi,

You can write a scheduler(if you want to pull the updated content on a regular basis) and a java service that will pull the data from REST endpoint and save it in JCR(you can use service user). Let us know what exactly are you looking for, some one from the community will definitely be able to help you.

Thanks, Bilal

Avatar

Correct answer by
Employee Advisor

A few comments have been already made, but I want to give you my view on it.

 

In short: if it's possible avoid it. Because you will end up with topics like:

  • how do I structure that data in the repository, so it's not getting slow (too many siblings), and that you don't need search for all operations on it.
  • Witih your approach you are creating a cache. On product changes how long does it take to propagate changes from the backend to your AEM? Next consider that from end-to-end (changes in the PIM until a enduser can see the changed data), and calculate both the minimum and maximum delay. Is that acceptable?
  • What about deleting entries from this cache?

In many cases it might be best if you either bypass AEM when you need to display product information (and let the frontend reach out to the PIM directly). You can look at the current Commerce Integration Framework (CIF2) of Adobe; of course this is for a shopping solution, but also for a shop displaying products is a big topic.

 

Hope to give you some inspiration what to look for.

Jörg