In this post, we'll take a look at our favorite new features in the Communications Cloud Summer '23 release.
This latest update introduces a range of enhancements and updates that will elevate your experience with Communication Cloud. We'll explore key features such as Simultaneous Mapping of Object Type Version to Multiple Products in EPC, the powerful Standard Cart-Based APIs for improved performance and usability in CPQ, and the innovative "Relies On" attribute mapping and decomposition scope in Order Management. Join us as we delve into these exciting new enhancements and explore how they can transform your Communication Cloud implementations.
Enterprise Product Catalog (EPC)
Simultaneous Mapping of Object Type Version to Multiple Products
In the Product Designer, product designers now have the ability to change the object type version for multiple products at once, saving them from updating products one by one. This feature is relevant for customers using the Product Versioning feature, which has been GA since the Summer '21 release. With object type version mapping, if the selected products are in the "Released" state, new versions of the products will be created. However, if the selected products are in the "Draft" status, designers can either update existing product versions or create new ones. It's important to note that the map version feature is exclusively available in Vlocity Product Designer, not the legacy Product Console. This enhancement streamlines the process for product designers and allows for efficient management of object type versions across multiple products.
Configure Price Quote (CPQ)
In the Winter '23 release, Salesforce introduced the enhanced version of Digital Commerce (DC) APIs called Standard Digital Commerce APIs. These APIs utilize the Scale Cache for efficient product configuration and transaction processing. Building upon this principle, Salesforce has also introduced Standard Cart-Based APIs, which leverage the Scale Cache and optimized pricing/validation methods to minimize the number of SOQL queries and DML operations. These enhancements greatly improve the performance of the Cart-Based APIs, which can take 3-5 seconds or more, depending on the product model complexity and other factors. With the Summer '23 release, you have the option to enable the Standard Cart-Based APIs.
Standard Cart-Based APIs
Previously, the APIs were executed purely in Apex. However, with the Standard Cart-Based APIs, standard Salesforce Java libraries are used for processing logic, eliminating the performance overhead of Apex, and resulting in reduced response times.
The Standard Cart-Based APIs now utilize the Scale Cache to retrieve information for API calls. For example, when using the Add to Cart API, the product configuration of the bundle is pulled directly from the Scale Cache. It's important to note that the Scale Cache records are populated by running EPC compiled data jobs.
By reducing the need for multiple SOQL queries to fetch product-related information, the Standard Cart-Based APIs improve performance.
These enhancements in the Summer '23 release bring improved performance, increased efficiency, and a more user-friendly experience to the Salesforce Communication Cloud ecosystem.
Enable the Standard Cart Based APIs
In your sandbox org, go to the App Launcher, search for and click on "Vlocity CMT Administration", go to "Enable Features" on the left hand side, and next to "Standard Salesforce libraries and cache with the CPQ Cart-Based APIs" click on "Disabled" to enable the feature.
After enabling the Standard Cart-Based APIs you have to run the "Generate EPC Compile Data" job to get the product configuration into the Scale Cache, and if you are using Attribute Based Pricing (ABP), then don't forget to run Generate Compile Matrix Data.
It's important to note that enabling these APIs is not a straightforward process. Before migrating to these APIs, there are certain considerations that need to be taken into account.
Considerations
To use the optimized Cart-Based APIs, note the following considerations.
Enable JSONAttribute v2 Schema. If you are a new customer, you should already be on JSONAttribute v2. If you are not, read the following considerations of upgrading from v1 to v2.
These features and settings are not supported:
DeltaPricing CPQ Setting
DeltaValidate CPQ Setting
Adjustments
Discounts
Promotions
Usage pricing
Versioning
These CPQ configuration settings are supported:
CustomRuleMessageFieldName
DefaultPricingPlan
LevelBasedApproach
LevelBasedPageSize
LevelBasedPagination
MarginCalculationType
SingleFdoMode
UseAssetReferenceIdForParentAndRoot
Entity Filters on the Product, PriceBookEntry, and ProductChildItem objects are supported. However, on other objects such as Orders, Assets, Order Products, and so on, entity filters aren't supported. All advanced rules are supported.
In the addToCart API, the includeAttachment input parameter isn't supported. 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.
Order Management (OM)
In this release, Order Management brings a very interesting and useful feature called "Relies-On" to attribute mapping in decomposition mapping and decomposition scope to generate a single fulfillment request line for two commerce products which rely on each other.
Attribute mapping with Relies-On mapping
When a commercial product relies on another, you have the ability to map attribute and field values from both products to a single corresponding technical product (fulfillment request line) during decomposition.
Let's consider an example to illustrate this concept. Suppose you have a Roaming commercial product that depends on a Voice commercial product. By setting up the mapping, when the Roaming product undergoes decomposition, it can pass on attribute values not only from itself but also from the Voice product. This mapping relationship also applies to setting conditions for decomposition. Industries Order Management recognizes and respects the "Relies On" relationships when validating conditions.
In the catalog configuration, Roaming "Relies On" the Voice Product. An attribute from the Roaming commercial product (e.g., CostCode2 = 222) decomposes to the Billing Item technical product as well as another attribute from the Voice Product commercial product (e.g., CostCode1 = 111).
It's worth noting that the Voice product may or may not be decomposed into the Billing Item, but regardless, its attribute value will be mapped because Roaming "Relies On it. Do note that this requires both commercial products to be on the same Order - it will not work if they are coming from two separate Orders, or from an Order and an Asset.
This is how the design time from the above example is configured
Relies-On Decomposition Scope
Imagine that you have two independent commercial products that don't have a parent-child relationship, or even exist in the same bundle. Let's say that each of the commercial products is configured to decompose to a same Activation technical product.
The "Relies On" scope allows you to relate these products to each other even though they both are individual products. If both the products are in the same Order and the decomposition scope is set to "Relies-On" then they will decompose to a single technical product or fulfillment request line for "Activation".
In the following example, the catalog is set up with two independent commercial products that each have a decomposition relationship (DR) to the "Activation Spec". The "Activation Spec" has the scope "Relies On". Without using the "Relies On" scope, this scenario would result in two Activation Spec technical products or fulfillment request lines.
When creating the Order, the operator sets the Roaming service to "Rely On" the Voice service (remember that the "Activation Spec" already has the "Relies On" scope in the catalog). The result is that the two commercial products decompose to a single Activation Spec.
Amend Push Event
The "Amend Push Event" is a push event setting that transitions a "Running" push event to the "Amended" state when its preceding callout is amended via a supplemental Order.
This feature fixes a quite important gap in the partial cancellation scenario. Let's understand a bit more through an example.
Imagine you have a running orchestration plan with a callout and multiple push events like the example shown below. Let's understand what will happen when a amend order is raised for same order.
If you don't have the "Amend Push Event" setting enabled, the orchestration items which are affected will be marked as Amended except the Push Event and a new Amend Plan will be added with the amended callout after two push events, which is marked in blue in below example. The gap is that this new callout will never get executed because the push event it is linked to is not amended and still waiting for the response from external system. The wait occurs because Order Management expects the external system to respond to the now-outdated request before the new amended callout can be sent out.
The "Amend Push Event" setting will solve this problem by marking the push event as "Amended" so the next call out from the Amend Plan does not have to wait for the preceding push even to get completed.
Patches
There are a handful of patches providing bug fixes for targeted issues. If you are upgrading to the Summer '23 release, upgrade to the Summer '23 major release and the latest patch to get all the latest bug fixes. See the patch details here.
Closing Thoughts
The main item from the Communications Cloud Summer '23 release is the new and improved Standard Cart-Based APIs, improving performance across the board for the Cart-Based APIs. This brings the same performance magic behind the Standard Digital Commerce APIs from the Winter '23 release to the Cart-Based APIs. In EPC, we save a lot of clicks for product designers with simultaneous mapping of object type version to multiple products. In OM, we now have the long-awaited ability to decompose products through "Relies On" relationships, as well as amend push events.
Beyond these three items, there are other enhancements in most of the modules, including Enterprise Sales Management, Multiplay Subscription Management, B2C Agent Console, TM Forum APIs, and more.
Comments