Salesforce B2C Commerce Cloud 23.1

Summer has arrived, and so has the next Salesforce B2C Commerce Cloud release! This time we look at the January 2023 (23.1) release!

Are you interested in last month’s release notes? Click here!

Migrate Deprecated Custom Jobs to Step-Based Jobs

Use the new migration tool to convert your deprecated custom jobs to step-based jobs. Previously, migrating deprecated custom jobs required long development times. To activate the migration tool, contact your support engineer.

A tool is now available to migrate your deprecated custom jobs to the step-based system. Since this needs to be activated by a support agent, I am unable to test this tool out myself (and I have no projects that need it)

Feel free to poke me on Slack with screenshots and feedback on this new tool!


Use a Unified URL for Your On-Demand Sandboxes

You can now access your on-demand sandboxes with a unified cluster-agnostic host name, so you no longer have to remember the cluster that your sandbox belongs to. The hostname matches the pattern, for example, It also matches the domain name of the B2C centralized admin API server,

A new set of URLs is introduced to make it easier to access sandboxes and not think about which cluster they are part of. For example:




There is already an automatic redirect in place to make this transition easier.

Data Retention Has New Limits

To comply with Salesforce Commerce Cloud data management and regulation standards, B2C Commerce is implementing a strict 180 days data retention for code and data replications. Replications after 180 days aren’t visible in the Business Manager replications module.

I don’t have much to say about this because it is a cleanup update. Making sure the platform works according to regulations, these updates are good for staying compliant.

One hundred eighty days is more than enough to see what and when replication was done in the job history.

Orders from Stored Information with Salesforce Payments

Each time an order is placed, you can reuse the payment details, payer’s stored payment credentials, or off-session tokens from a previous payment.

To create an order from a previous order, use the SalesforcePaymentsMgr.confirmPaymentIntent (order, paymentMethod, statementDescriptor) class and method from the B2C Commerce Script API. Data from the previous order is retrieved to create the order. No customer interaction is required.

Business Manager

Configure a Max-Age for HSTS

Add additional security to your B2C Commerce instance with the max-age for HSTS setting. Setting a max-age determines how long the HSTS settings will stay enabled..

A new option for us to configure the max-age ourselves for the HSTS setting. We could already do this in the eCDN, but now we can also do this in instances without it.

HSTS in the eCDN
hsts business manager sfcc
HSTS in the Business Manager


Property Selector Key Error Identifier

Beginning with OCAPI Version 23.1 a MalformedSelectorException is thrown if the selector key is incorrect. Previously, the property selection didn't work when the "select= key was incorrectly defined. For example, select%20=(price), resulted in the selector being skipped without any error message, and the normal response was returned.

This a minor update that will make sure that you don’t waste hours looking in places nothing is wrong. Making a typo (in a URL) happens far too often, and a clear error message to point you in the right direction is vital.

Basket Flash Validation Update

The property selection mechanism now works with all Shop API resources that return a basket or create an order. Previously, validation returned an error in most instances.

With property selection, you can control what fields are returned by the endpoint. This saves resources and bandwidth.

You can find out more about property selection and Basket Flash in the Info Center.

Use Selectors with Expressions

Selectors with expressions now work correctly when objects contain a property with markup text. Previously, when an object contained a property with markup text, selectors with expressions didn't work correctly.

Also an update to the Property Selection system to correctly handle markup in the values.

PWA Kit v2.4.0

Another month, another update hits the PWA Kit with quite an extensive changelog. The “spotlight” change is that the new commerce-sdk-react library includes ready-made React hooks for fetching data from B2C Commerce.

The full release notes are available here.

Updated Cartridges & Tools

b2c-tools (v0.14.1)

b2c-tools is a CLI tool and library for data migrations, import/export, scripting and other tasks with SFCC B2C instances and administrative APIs (SCAPI, ODS, etc). It is intended to be complimentary to other tools such as sfcc-ci for development and CI/CD scenarios.

  • adding code watch subcommand to watch and upload cartridges by @clavery in #93
  • adds finish feature lifecycle method by @clavery in #91
  • adding oauth scopes support to environment for implicit and client_credentials by @clavery in #92
  • adds custom preference support to instance info by @clavery in #95
  • adds parseConfig helper to get configuration in a headless/non-CLI environment (web, testing, other tools, etc)

sfcc-ci (v2.10.0)

The Salesforce Commerce Cloud CLI is a command line interface (CLI) for Salesforce Commerce Cloud. It can be used to facilitate deployment and continuous integration practices using Salesforce B2C Commerce.

  • Various SLAS related adjustments, documentation improvement, added callbackURIs (#318)
  • Add support for limiting and expanding results of org:list (#286)
  • Expose more org level properties through org:list (#287)
  • Remove default roles assigned to newly created users (#301)
  • Add support for Sandbox API gateway (#322)
  • Fix/rewrite staging hostnames (#324)
  • Add support for resetting user (#330)
  • Enhancements for managing uses (last login date, filter users by org) (#336)
  • Various dependency updates (#281#284#293#298#311#325#326#328)

Table of Contents