Transforming the Future with the 23.9 Release and Custom SCAPI Endpoints

We are getting closer to the holiday period, and also one of the last releases of the year! This time we look at the September 2023 (23.9) release!

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

Custom SCAPI endpoints in 23.9

This update is truly a game-changer for Commerce Cloud customers! With the introduction of custom endpoints, we can fully customise Headless use cases, allowing for even more flexibility and control. AND without using a workaround!

Previously, hooks were the only way (through tweaking existing endpoints). But now, the possibilities are endless! And the best part? An open beta is available before the update freeze, so we can start exploring and testing this new feature immediately. 


sfcc custom endpoints

The development of custom endpoints will look a lot similar to how we build hooks:

  • A mapping file (like hooks.json)
  • A script file (Development is similar to controllers and hooks)
  • A service schema file (The contract)

Another big thing to mention is that, if you look carefully at the screenshot, you can easily version your services for backwards compatibility!

Roadmap (Forward Looking Statement)

The ability to create custom GET endpoints is released together with the documentation.

The feature is officially released and recommended by Salesforce to be used in Production use cases (long story short, wait untill the holiday period is over before releasing your production use cases).

Support is added for PUT, PATCH, POST and DELETE functions to support any headless use case.

Besides supporting more methods, some other features will be added:

  • Caching
  • Script API helper functions
  • Code generation for artefacts
  • AM OAuth

Paving the way for a Headless future

From a Headless perspective, Salesforce Commerce Cloud had much to catch up on compared to other platforms (which shall not be named 😎). But this area is rapidly evolving, and it was a necessary one. As customers interact with many different channels than just the storefront, other channels need to have a way of interacting with the platform – and usually that is through an API! 

Giving developers and customers the freedom to customise is powerful. It also simplifies third-party integrations with Composable Storefront, and I expect more movement to happen in that area after this release!

As a bystander, it is noticeable that all “the rest” is not getting much attention, looking at the release notes of the past two months. But, understandably, decisions of priority have to be made.


Improve Product Search Result in Japanese

You can now enable a new language analyzer for Japanese locales in B2C Commerce. The new analyzer supports advanced methods for search query tokenization. This enhancement provides more relevant search results for product searches in the Japanese language. It also reduces the merchandising effort to optimize storefront search for Japanese locales. For example, setting up additional synonyms and search dictionary entries.

How: To enable the new analyzer, in Business Manager, select site | Merchant Tools | Search | Search Indexes | Language Options. Select Japanese-Improved as the language analyzer for Japanese locales. An index rebuild is NOT required after this update. To change the analyzer setting requires the permission to update a Business Manager Search Indexes module

A screenshot of the Language Options in the Salesforce B2C Commerce Cloud Business Manager showing the new

A new and exciting addition for Japanese customers. It is important to find the right product to ensure good conversion rates and improve customer experience.

Business Manager

Improve Code Profiler Tracking

The Code Profiler Script API calls (shown as SCRIPT_API) are no longer measured when using Production Mode. This change improves code profiler tracking without causing performance issues.

A screenshot of the code profiler prior to the 23.9 release.

Having “Production Mode” with less impact on performance will positively affect the TTFB (Time To First Byte), though it is not stated anywhere how much this will affect the storefront percentage-wise.

You can still access this information in other modes within 23.9, which are more useful for performance debugging.


Custom Shopper Login IDPs (SLAS)

  • Default IDP configuration allows for SSO/OIDC configuration with other IDPs outside the list of SLAS supported IDPs. Configuration can be performed via the Admin API or Admin UI. For more information, see Configure a Default IDP.

  • Preferred IDP configuration cleanup and functionality added to Admin UI.

This a massive update to IDP support in SLAS and a very welcome one. Before, we were limited to integrating with IDPs officially supported by SLAS, but now it is possible to bring your own!

Shopper Login (SLAS)

  • Addressed a limitation in plugin_slas integration with SLAS around Merge Cart for Guest to Registered flow.

  • For the getSessionBridgeAccessToken endpoint, the returned TokenResponse now correctly includes the enc_user_id attribute.

  • As part of our efforts to scale the SLAS service for temporary holiday volume, registered shopper refresh tokens (new and existing) are valid for only 45 days beginning the week of August 7. This applies to shopping apps integrated with SLAS, and to shoppers who have not returned to the shopping app at least one time in the last 45 days. This temporary state ends on September 15. After September 15, registered shopper login tokens resume their full 90-day standard duration. Ideally, customers should be Shopper Guest sessions, and B2C Commerce basket retention is not affected in any way.

The SLAS sessions will be limited to 45 days until September 15th, which was also mentioned in last month’s release notes – and a very important one to take note of.

PWA Kit Nightly Builds

If you want to know what is cooking, check out the nightly builds that are now available!

Updated Cartridges & Tools

b2c-crm-sync (v3.0.3)

Salesforce B2C Commerce / CRM Sync is an enablement solution designed by Salesforce Architects to teach Salesforce's B2C Customer Data Strategy for multi-cloud use-cases. The solution demonstrates a contemporary approach to the integration between Salesforce B2C Commerce and the Cloud products running on the Salesforce Customer 360 Platform.

  • Rename lib/_common/request/_createOCAPIAUthRequestDef.js by @jbachelet in #235
  • Fix/173 by @jbachelet in #237
  • Change b2ccrm_syncResponseText from set-of-string to JSON to reduce the performance impact on high-scale brands by @jbachelet in #251
  • Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #250

sfra-webpack-builder (v3.4.5)

Webpack can be cumbersome to setup, especially in multicartridge projects for SFRA. This plugin let you bundle all your js, scss and jsx files out of the box.

  • configure release it bumber (becbeab)
  • chore: init release it (7816af8)
  • Fix: Deprecate node-sass in favor of sass (dart) Upgrade dependencies Fixes #96 (58de1a0)
  • Merge pull request #95 from SalesforceCommerceCloud/main (9c4a8f5)

Table of Contents