The Virto Commerce CMS Experience API (xCMS) Module is a headless content delivery layer for Virto Commerce, focused on exposing CMS data via the Experience API (xAPI).
It provides a unified GraphQL interface for dynamic content, pages, and page builder experiences, optimized for storefronts and composable frontends.
The module is built on top of:
VirtoCommerce.ContentModule.Core– content storage and assetsVirtoCommerce.PageBuilderModule.Core– page builder blocks and layoutsVirtoCommerce.Pages.Core– pages and routingVirtoCommerce.Xapi.Core– Experience API infrastructure
Key architectural concepts:
- Headless content delivery: All content is accessed via xAPI (GraphQL) instead of direct CMS APIs.
- Store and culture aware: Content resolution is scoped by
StoreId,CultureName, and optionallyUserId/OrganizationId. - Search-based access: Pages and content are retrieved from search indexes (e.g.,
GetPageDocumentsQuery) for performance. - Extensibility: Module can be extended with custom GraphQL types, fields, and resolvers.
- API-first: Designed as an xAPI wrapper for CMS capabilities.
- Performance-oriented: Uses search indexes and paging (
Skip/Take) for scalable content delivery. - Multi-tenant and multi-language: Respects Virto Commerce store and language configuration.
- Non-intrusive: Does not replace core CMS modules, but augments them with Experience API endpoints.
- Page documents: Retrieve page documents from the search index for the current date and context.
- Dynamic content: Deliver CMS content personalized by user, organization, store, and culture.
- Routing support: Resolve pages and content based on requested URLs and store configuration.
- Search and filtering: Filter pages by keyword, culture, and other contextual attributes.
- xCMS module documentation
- Experience API Documentation
- Getting started
- How to use GraphiQL
- How to use Postman
- How to extend
- Virto Commerce Frontend architecture
- View on GitHub
Copyright (c) Virto Solutions LTD. All rights reserved.
Licensed under the Virto Commerce Open Software License (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://virtocommerce.com/opensourcelicense
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.