In this post, I will clarify different approaches for integrations with CMS.
1. Integration with Headless CMS
For this kind of CMS, you create integration by building and integrating Virto Commerce solution with Headless CMS APIs.
Examples of Headless CMS are Umbraco, Contentful.
Here two options are available:
- Real-time integration;
- Real-time synchronization;
A. Real-time integration
When a customer opens a page, the frontend application loads e-commerce data and CMS data via API, and render content.
Real-time integration, only if Headless CMS is high performance and has zero downtime.
Because if headless CMS is not available, the ecommerce solution is broken too.
To build the integration:
- Add Headless CMS API Client to frontend application
- Aggregate CMS Data into rendering process
B. Real-time synchronization
It’s different from the previous approach by excluding point to point connections between Headless CMS.
When a customer opens a page, the frontend application loads e-commerce data and CMS content from Virto Commerce, and render HTML content.
When Content Manager publishes the content, Headless CMS triggers the event, the module in Virto Commerce platform receives the event and actualize content.
This approach is good in that the availability of CMS, doesn’t affect ecommerce solution.
To build this integration:
- Create a new Virto Commerce module for integration with Headless CMS.
- Use Virto Commerce Content module as content storage.
Sample: VirtoCommerce/vc-module-contentful: Contentful Integration module (github.com)
2. Integration with Traditional CMS
When you use Traditional CMS, Traditional CMS plays a frontend application role. For Traditional CMS, you create integration by building and integrating real-time and high-performance Virto Commerce API with CMS.
When a customer opens a page, the CMS loads ecommerce data from Virto Commerce API, and render HTML content.
Example of Traditional CMS is Sitecore.
To build the integration:
- Need to use native CMS tools to build web components and calls Virto Commerce API