Check Feature Compatibility

Following table lists features which are compatible with standard cart APIs. If you're using features that are not supported, we recommend that you do not enable the standard cart APIs.

Feature / Capability Compatibility with Standard Cart API
Asset-Based Ordering Compatible
Manual Pricing Adjustments Changes in the Cart Compatible
Promotions in the Cart Compatible
Price Adjustments and Overrides Compatible
Attribute-Based Pricing Compatible
Multi-Site Quote and Order Capture Compatible
Context Rules and Advanced Rules Frameworks Compatible
Create Qualification Rule Sets Compatible
Advanced Rules (Entity Filters, Evaluations) Compatible
Offer Specification Compatible
Product Versioning Compatible
Discounts in Industries CPQ Compatible
Change of Plans in Industries CPQ Compatible for single-asset change of plan. Bulk Change of Plan is not compatible.
Bulk Change and Bulk Update Not compatible. These operations fail when Standard Cart APIs are enabled.
Usage Pricing for Industries CPQ Compatible
Functions for Context Rules Compatible. See Working Example
Product Relationships Compatible. See Working Example
Salesforce Pricing with CME Compatible
Transformation of Multiplay Offers Compatible with limitations. replaceOffers does not support complex multi-play transformations. See Known Limitations.
Multi-Edit Cart Items Compatible
Incremental Caching Compatible

note: - To enable the Product Versioning feature, customers must contact their Account Executives (AEs). Starting with the Winter'26 release, any new customer attempting to enable this feature will receive an error message instructing them to contact their AE.

Usage Considerations

Review the following considerations before using the standard cart APIs.

  • Entity filters on the orders, assets, orderlineitems, Product, PriceBookentry, and ProductChildItem objects are supported. All advanced rules are supported.

  • Entity filters and advanced rules may not work as expected if the formula field is modified in the transaction. To rerun the advanced rules once the formula field is updated, execute getCartsItems API call with validate = true.

  • In the addToCart API, the includeAttachment input parameter is not supported. Standard Cart APIs and LWC Cart (FlexCard-based and Enhanced) do not return or display product attachments on cart line items. Hybrid Cart continues to support attachments. If you require attachments, stay on Hybrid Cart or, for FlexCard Cart only, build a custom component that queries ContentDocumentLink records.

  • For better performance when you use this API to add a child bundle with a parent as a virtual line item, pass rootLineItemId in the items object.

    Following is an example payload.

{
  "methodName": "postCartsItems",
  "items": [
    {
      "quantity": {Quantity of child product to add},
      "parentId": {Parent cart item Id},
      "rootLineItemId": {Pass in case of child add of virtual parent for better performance}
      "parentHierarchyPath": {Hierarchy path of parent},
      "itemId": {comma seperated pricebook entry ids of child products to add},
      "parentRecord": {
        "records": [
          {Parent item record object}
        ]
      }
    }
  ],
  "cartId": {cart_ID},
  "price": true,
  "validate": true,
  "includeAttachment": true,
  "pagesize": 10,
  "lastRecordId": null,
  "hierarchy": -1,
  "query": null
}
  • The nameResult node is not be present in response (like attributeCategories, productAttributes) for all the standard cart APIs. The data nodes are directly present.
  • The structure of response for all the standard cart APIs, when called using Apex Remote Service (CpqAppHandler), is as follows:
{
   "CpqNext1b": true,
   "result": response (String)
}
  • Set price to false in getCartsItems if you don't need to run a pricing engine for the API call. This can improve performance.
  • For priceCart API, setting limitScopeToPassedItem no longer required to be separately passed, just pass items in the items parameters.
  • The replaceOffers API does not support complex transformations. For example, Multi-play offers. Change of Plans is otherwise compatible for single-asset operations. See Known Limitations.
  • Bulk Change and Bulk Update, including bulk disconnect of assets, are not compatible with Standard Cart APIs. Do not enable Standard Cart APIs if you use these features. This is separate from Multi-Edit Cart Items, which remains compatible.
  • Using Field Settings to add custom fields to the cart response is supported only for getCarts and GetCartsItems. For other Standard Cart APIs, pass any custom field with the fields parameter of the request URL or body. If you need many fields, add them in a PreInvoke hook instead of Field Settings.
  • The ProductSelector interface is not supported with Standard Cart APIs. Use the sortBy parameter on getCartsProducts.
  • The following API parameters have Standard Cart API support starting in 258. Behavior can still differ from Classic:
    • noResponseNeeded is supported for Add, Update, and Delete Standard Cart APIs. Multi-item add defaults to noResponseNeeded=true and does not return the records node unless you pass false.
    • maintainAssetPrice is supported from 258.
  • Starting in the Winter'27 release, the Classic cloneItems API supports noResponseNeeded. When true, the API does not return the records node.

For a full list of Classic-only APIs and remaining behavior differences, see Known Limitations.

AssetToOrder

  • There are two invocations that can be used upon calling AssetToOrder API. Upon calling OmniFDOWrapper, the classic flow is invoked. The standard flow is invoked upon calling REST API.

  • The following CPQConfiguration settings are not currently supported for AssetToOrder. While we offer the functionality, there is no specific configuration available to control the API behavior for these settings:

    • UsingPromotions
    • DeltaPrice
    • IsCachingEnabledForAssetToOrder