Available Extensions
This page lists all the extensions that are available for Salesforce Commerce. New extensions are added as they become available.
To create an extension provider, you must know which base Apex class to extend and the extension point name for mapping. Both the the base Apex class name and extension point name are listed for each extension.
This page lists two types of extensions: domain and endpoint.
Domain extensions extend functional domains, such as cart calculation. In contrast, endpoint extensions extend selected Connect API endpoints.
The release status and availability varies from extension to extension. This page is updated to reflect the latest release status of each extension.
Important
Domain Extensions for Buyer Group
The extension listed in this section is used for Buyer Group.
Buyer Groups Extensibility Service
Dynamically assign users to buyer groups by executing custom Apex business logic.
- Base Apex class: CommerceBuyGrp.BuyerGroupEvaluationService
- Extension point name: Commerce_Domain_BuyerGroup_EvaluationService
- Namespace:
CommerceBuyGrp. See Buyer Group Reference.
Domain Extensions for Cart Calculate API
The extensions listed in this section are all functionally related, and they all support cart calculations, including cart calculations that occur during checkout. These extensions comprise the Cart Calculate API.
Cart Calculate
Orchestrates multiple calculators to summarize the total cost in a cart. See Orchestrators and Calculators.
Each calculator is a separate extension that you can customize separately.
- Base Apex class: CartExtension.CartCalculate
- Extension point name: Commerce_Domain_Cart_Calculate
- Namespace:
CartExtension. See Cart Reference.
CartCalculate currently supports the following set of cart and checkout operations:
- AddItemToCart
- EditCartItem
- DeleteCartItem
- AddCoupon
- DeleteCoupon
- StartCheckout
- PatchCheckout (address, set delivery method)
Inventory Cart Calculator
Calculates inventory for cart and checkout based on the inventory service.
- Base Apex class: CartExtension.InventoryCartCalculator
- Extension point name: Commerce_Domain_Inventory_CartCalculator
- Namespace:
CartExtension. See Cart Reference.
Inventory Service
Reserves and tracks available inventory. By default, this extension uses the Omnichannel Inventory (OCI) system for inventory data.
- Base Apex class: commerce_inventory.CommerceInventoryService
- Extension point name: Commerce_Domain_Inventory_Service
- Namespace:
commerce_inventory. See Inventory Reference.
Pricing Cart Calculator
Calculates pricing for cart and checkout based on the pricing service.
- Base Apex class: CartExtension.PricingCartCalculator
- Extension point name: Commerce_Domain_Pricing_CartCalculator
- Namespace:
CartExtension. See Cart Reference.
Pricing Service
Tracks how products and services are priced. By default, this extension uses Salesforce price books for pricing data. If your store uses Faster Add-to-Cart, make sure that all products have an entry in a store price book before implementing the pricing service extension.
- Base Apex class: commercestorepricing.PricingService
- Extension point name: Commerce_Domain_Pricing_Service
- Namespace:
commercestorepricing. See Pricing Reference.
Promotions Cart Calculator
Calculates promotions for cart and checkout. By default, this extension uses the Salesforce promotions service to perform its calculations.
- Base Apex class: CartExtension.PromotionsCartCalculator
- Extension point name: Commerce_Domain_Promotions_CartCalculator
- Namespace:
CartExtension. See Cart Reference.
Shipping Cart Calculator
Calculates shipping costs. By default, there’s no charge for shipping, so you must extend the base Apex class to see any effect.
- Base Apex class: CartExtension.ShippingCartCalculator
- Extension point name: Commerce_Domain_Shipping_CartCalculator
- Namespace:
CartExtension. See Cart Reference.
Tax Cart Calculator
Calculates taxes for cart and checkout. By default, this extension uses the Salesforce tax service to perform its calculations.
- Base Apex class: CartExtension.TaxCartCalculator
- Extension point name: Commerce_Domain_Tax_CartCalculator
- Namespace:
CartExtension. See Cart Reference.
Tax Service
Applies taxes to products in the cart.
- Base Apex class: commercestoretax.TaxService
- Extension point name: Commerce_Domain_Tax_Service
- Namespace:
commercestoretax. See Tax Reference.
Domain Extensions for Checkout
The extensions listed in this section are used for checkout but don’t affect cart calculations, so they aren’t part of the Cart Calculate API.
CreateOrder Service
During checkout, this extension creates an order using information from the cart.
- Base Apex class: CartExtension.CheckoutCreateOrder
- Extension point name: Commerce_Domain_Checkout_CreateOrder
- Namespace:
CartExtension. See Cart Reference.
SplitShipment Service
During checkout, this extension arranges cart items across delivery groups. To implement custom Item Arrangement logic, extend the base Apex class and override the arrangeItems method.
- Base Apex class: CartExtension.SplitShipmentService
- Extension point name: Commerce_Domain_Shipping_SplitShipment
- Namespace:
CartExtension. See Cart Reference.
Domain Extensions for Order Management
The extension listed in this section is used for Order Management.
ProductExpand Service
Expands product information by adding return reasons.
- Base Apex class: commerce_ordermanagement.ProductExpandService
- Extension point name: Commerce_Domain_OrderManagement_Product
- Namespace:
commerce_ordermanagement. See commerce_ordermanagement.
Endpoint Extensions
Extends selected Connect API endpoints, allowing you to modify the endpoints request payload before the endpoint is called, or to modify the response after the endpoint is called, or both.
Unlike domain extensions, endpoint extensions extend the same base class.
-
Base Apex class: connectapi.BaseEndpointExtension
-
Namespace:
connectapi. See connectapi.
Account
- Extension point name:
Commerce_Endpoint_Account_Addresses– extends the Commerce Webstore Account Addresses endpoint. - Extension point name:
Commerce_Endpoint_Account_Address– extends the Commerce Webstore Account Address endpoint.
Product Catalog
- Extension point name:
Commerce_Endpoint_Catalog_Products– extends the Commerce Webstore Products endpoint. - Extension point name:
Commerce_Endpoint_Catalog_Product– extends the Commerce Webstore Product endpoint.
Cart
- Extension point name:
Commerce_Endpoint_Cart_Item– extends the Commerce Webstore Cart Item endpoint. Available in version 62.0 and later. - Extension point name:
Commerce_Endpoint_Cart_ItemCollection– extends the Commerce Webstore Cart Items endpoint. Available in version 62.0 and later.
Product Search
- Extension point name:
Commerce_Endpoint_Search_Products– extends the Commerce Webstore Search Products endpoint. - Extension point name:
Commerce_Endpoint_Search_ProductSearch– extends the Commerce Webstore Product Search endpoint.
Product Suggestions
- Extension point name:
Commerce_Endpoint_Search_Suggestions– extends the Commerce Webstore Product Search Suggestions endpoint. Available in version 67.0 and later.
See Also
- B2B Commerce Developer Guide: Register and Map Extension Class
- B2B Commerce Developer Guide: Extension Provider Examples