Integration Architecture for B2B Stores (Aura)

Understand how the integration platform and the various components interact for a B2B store created with the Aura template.

In the Winter β€˜24 release, we introduced Commerce extensions for pricing, inventory, shipping, taxes, and other services. While the checkout integrations framework is still supported, we recommend extensions over integrations because they offer more targeted customizations for your B2B or B2C store. Plus, they’re available for more Commerce domains. See Get Started With Salesforce Commerce Extensions.

The diagram demonstrates how the B2B (Aura) components work together to form the integration engine.

Diagram showing the relationship between checkout flow components

  1. Checkout flow:β€” A managed checkout flow that processes cart shipping, inventory, pricing, and taxation integrations, and converts the cart to an order. Install and deploy the B2B checkout flow, then customize the flow in Experience Builder and optionally Flow Builder.
  2. Cart processing β€”A predefined set of steps that process cart shipping, inventory, pricing, and tax integrations. Cart processing is executed on select cart actions.
  3. Async Cart APIβ€” A cart service that accepts the processing requests for shipping, inventory, price, and tax integrations. This service executes tasks asynchronously and returns a jobId to the caller.
  4. Queue managerβ€” The Async Cart API offloads execution of cart integrations by placing a task on the message queue (MQ). The queue manager is responsible for scheduling the future task execution, which provides the cart service a thread pool for potentially longer running async tasks.
  5. Task handlerβ€”The task handler is implemented as an MQ handler and invoked by the queue manager when the integration task is picked up for processing. The integration handler is responsible for delegating the integration task to the integration implementation, which the store admin specifies when setting up the store.
  6. Handler factoryβ€”Responsible for creating an integration handler that maps to the implementation chosen by the store admin when setting up the store.
  7. Integration handlerβ€”Responsible for adapting the Java processing to Apex, managing the lifecycle, and customer code error handling.