The CPQ X API is a set of services that enables you to add a high number of products to a Quote in a simple, performant, and scalable way. The CPQ X API is based on a new charge framework that was introduced in the Zuora Quotes 9.6 release.
Prior to Zuora Quotes 9.6, you could use zQuoteUtil methods to interact with quote products through the zChargeGroup Model. The CPQ X API provides models and utilities that you can use instead of the zChargeGroup Model to write Apex code and interact with the products added to a Quote.
The CPQ X API is a set of global classes that provide data models and utilities for creating Apex representations of the data in QuoteRatePlan, QuoteAmendment, QuoteRatePlanCharge, and QuoteChargeTier objects. You do not need to directly manage the states of these objects when using the CPQ X set of global classes.
Benefits of CPQ X
The CPQ X API has the following benefits when compared with the zChargeGroup Model:
- The performance is improved as it reduces the number of callouts needed to load data from Zuora. The CPQ X solution uses stored products in the Salesforce database.
- The CPQ X API provides a lightweight data model that is easy to use. You can program directly against the fields of records.
- The CPQ X API uses the same object model as in the zChargeGroup Model. This provides a convenient field reference for SObject. You do not need to change the object model when migrating to the CPQ X API.
- Quote product state is automatically managed. The CPQ X API provides methods that enable you to quickly remove or revert an amendment, track the save status, and update the amendment type.
- The CPQ X API provides Utility Methods that enable you to save products to and load products from a quote. A global method that builds a quote from the product catalog is also available.
- The CPQ X API is capable of handling higher volume charges in a Quote. CPQ X uses pagination for high volume quotes. Compared with the zChargeGroup Model, the CPQ X solution uses less space.
- Price recalculation is triggered automatically upon data changes on price related fields, such as discount, quantity, and so on. You do not need to call to request price recalculation.
- The data model is designed to be compatible with Salesforce Lightning components by simplifying object serialization.
- The CPQ X API provides field level security control. Manual user changes must be authorized.
- Store Existing Products must be enabled to use the CPQ X API.
- The submission limits on Quotes are constrained to the standard Zuora limits regardless of which API is used to store charges. Amendment limits are enforced as for previous set of APIs when sending a Quote to Zuora. You must enable Orders to exceed the standard limits for single transactions.
CPQ X API Global Classes
The CPQ X API global classes fall into two categories: CPQ X Models and CPQ X Utilities. The CPQ X Model classes are a set of data model classes that minimally represent the QuoteRatePlan, QuoteAmendment, QuoteRatePlanCharge, and QuoteChargeTier objects. The CPQ X Utility classes provide a set of APIs that enable you to build, read, and save the CPQ X objects.
See CPQ X API for the details of all the classes.