Skip to content

VirtoCommerce/vc-module-x-api

Repository files navigation

Experience API / X-Api

CI status Quality gate Reliability rating Security rating Sqale rating

The Experience API (XAPI) module is the core business API component, central to handling general API functions and integrations within the VirtoCommerce platform. As part of our transition to a more composable architecture, the XAPI module is designed to provide a robust and flexible foundation for business GraphQL / API interactions, ensuring seamless integration and efficient API management.

Architecture

The primary function of the Experience API (xAPI) module is to isolate high-performance ecommerce business logic from client applications and data providers. This approach involves the following architectural components:

  • Client Applications: Front-end interfaces, such as web or mobile applications, interact with the xAPI to request and manipulate ecommerce data.
  • xAPI Modules: Acts as an intermediary layer that encapsulates and exposes business logic through a set of well-defined APIs. It ensures that the business rules and processes are consistently applied across different clients.
  • Data Providers: Backend systems, including databases and third-party services, supply the necessary data to the xAPI. The module manages data retrieval, aggregation, and transformation, ensuring optimal performance and scalability.

By decoupling business logic from client applications and data sources, the xAPI module promotes a modular architecture that enhances maintainability, scalability, and flexibility. This design allows developers to update or replace components independently without disrupting the overall system, fostering a more resilient and adaptable ecommerce platform.

Features

  • X-API: Core business API module.
  • X-Catalog: Manages catalog-related operations.
  • X-Cart: Handles cart-related functionalities.
  • X-Orders: Manages order processing.
  • X-UserProfile: Handles My Customer and My Organization functionalities. and more ...

Modularity

To better support the growing business API with GraphQL, we are transitioning from a single VirtoCommerce.ExperienceApi module to a more composable architecture consisting of multiple new modules. This change aims to simplify business API development and the release cycle.

At this moment, The following new modules provide common XAPI functionality that is used from the Virto Commerce Frontend:

  • VirtoCommerce.Xapi: Core business API module.
  • VirtoCommerce.XCart: Handles cart-related functionalities.
  • VirtoCommerce.XCatalog: Manages catalog-related operations.
  • VirtoCommerce.XCMS: Content management system integration.
  • VirtoCommerce.XOrder: Manages order processing.
  • VirtoCommerce.ProfileExperienceApiModule
  • VirtoCommerce.PushMessages
  • VirtoCommerce.Quote

Other modules that add additional Xapi Scenarios:

  • VirtoCommerce.Contracts
  • VirtoCommerce.MarketingExperienceApi
  • VirtoCommerce.Quote
  • VirtoCommerce.CustomerReviews
  • VirtoCommerce.Skyflow
  • VirtoCommerce.TaskManagement
  • VirtoCommerce.FileExperienceApi
  • VirtoCommerce.WhiteLabeling

Documentation

References

License

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.