Introduction to brX GraphQL Service


GraphQL Commerce URLs have changed

If you are not already using, please update your implementation and the related configurations as described in the GraphQL Commerce URLs paragraph


GraphQL is getting more attention in modern application development as it tries to fulfil various data requirements with complex state management for distinct front-end clients. GraphQL provides benefits through its declarative model which helps developers create a consistent, predictable API across different clients and platforms.

Bloomreach Headless Experience Manager provides an optional GraphQL API set of commerce features for developers who want to take advantage of GraphQL technologies.

Architecture Overview

At a very high level, a simplified architectural overview can be depicted as follows:


An SPA (or any type of GraphQL client application) may retrieve or update data in the Commerce Backend Platforms through the brX GraphQL Service. While it retrieves the page model from the Delivery API's Pages endpoint in Bloomreach Headless Experience Manager to render pages and components, the SPA may read or update commerce related data from the brX GraphQL Service in commerce related components (e.g, Product Grid, Product Detail, Cart, etc.).

The brX GraphQL Service is comprised of multiple layers of components internally based on Apollo Server technologies:

  • Server and Resolvers: the Apollo Server and GraphQL resource resolvers implementation which invoke the corresponding DataSource operations
  • DataSource interfaces: Various commerce related abstractions such as CategoryDataSource, ItemsDataSource, CustomerDataSource, CartDataSource, OrderDataSource, etc. 
  • Commerce Backend specific DataSource implementations: DataSource implementations for each Commerce Backend Platform in a separate package

For further details, see the Further Reading section.

Further Reading