An Adobe Commerce Optimizer (ACO) integration cartridge for Salesforce Commerce Cloud (SFCC) that provides custom SCAPI endpoints for accessing price books and product data.
This custom SFCC Cartridge is required to enable functionality in the ACO SFCC Starter Kit.
This cartridge (int_adobe_commerce_optimizer) creates custom REST API endpoints using the Salesforce Commerce API (SCAPI) framework:
- Site Catalog API - Retrieve information about the catalog assigned to the given site.
- Price Books API - Retrieve price book information (including hierarchy) for a site.
- Products API - Retrieve detailed product and price (per price book) information by product IDs.
- ACO Tracked Changes API - Retrieve information about product, price book, and price information that has recently been changed in SFCC.
- Visual Studio Code
- Valid SFCC sandbox instance
- SFCC Account Manager access
NOTE: SFCC registers new custom SCAPI endpoints during the code activation process. It is recommended to create a new code version, upload the int_adobe_commerce_optimizer cartridge to the new code version and then Activate it.
-
Install Prophet Debugger Extension
- Open VS Code
- Go to Extensions (Ctrl+Shift+X)
- Search for the Prophet Debugger extension.
- Install the extension
-
Create a new code version
- Log into Business Manager
- Navigate to Administration > Sites > Manage Sites
- Create a new code version (ie.
version2)
-
Configure Cartridge Upload
- Copy
dw.json.disttodw.json - Update the configuration with your sandbox details:
{ "hostname": "{short-code}.dx.commercecloud.salesforce.com", "username": "your-username", "password": "your-password", "version": "version2", "cartridge": ["int_adobe_commerce_optimizer"], "cartridgesPath": "int_adobe_commerce_optimizer" }
- Copy
-
Upload Cartridge
- Open VS Code in the project root directory
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type "Prophet" and select "Prophet: Clean Project/Upload all"
- The extension will upload the cartridge to your sandbox
-
Configure Cartridge Path
- Log into Business Manager
- Navigate to Administration > Sites > Manage Sites
- Select your site
- Go to Settings tab
- Add
int_adobe_commerce_optimizerto the cartridge path - Save the configuration
If you prefer manual installation without Prophet:
-
Create Archive
cd int_adobe_commerce_optimizer zip -r int_adobe_commerce_optimizer.zip cartridge/ -
Upload via WebDAV
- Go to Administration > Site Development > Code Deployment
- Create a new code version (ie.
version2) - Select the new code version
- Find the WebDAV URL
- Upload the
int_adobe_commerce_optimizer.zipfile via a WebDAV client - Activate the new code version
The API endpoints require OAuth2 authentication with the c_aco, sfcc.products, and the sfcc.catalogs scopes:
-
Create OAuth Client
- In Account Manager, create an API client
- Add the
c_aco,sfcc.products, and thesfcc.catalogsscopes to the client permissions - Note the client ID and secret
-
Configure Permissions
- Ensure the client has access to the SCAPI endpoints
- Grant necessary permissions for price book and product data access
- In Business Manager, Navigate to Administration -> Sites -> Manage Sites.
- Click the Site that will be synchronized with Adobe Commerce Optimizer.
- Click the Settings tab.
- Add
int_adobe_commerce_optimizerto the list of enabled Cartridges.
Important Note: Delta Exports functionality is required to be enabled in order for ACO to pick up changes made to SFCC entities. You may need to contact Salesforce support to enabled Delta Exports on your instance if it is not already.
- Check the Delta Exports configuration
- Navigate to Administration -> Site Development -> Delta Exports
- Click the New button.
- Name the export
aco_delta_exports. - Click Create to continue.
- In the Consumers box, enter
aco. - Select
aco_delta_exports - Ensure both
CatalogsandPrice Booksare selected for delta exports. - If the box
Export Full Base Productsis checked, you may uncheck it. - Click Apply to save this tab.
- Click the Schedule tab.
- Ensure the schedule is Enabled and set to run at a normal cadence such as every day or every hour. Align this with the AdobeCommerceOptimizerTrackedChanges job and ACO SFCC Starter Kit App Builder delta-sync action cron schedules.
- Click Apply to save the export configuration.
- Navigate to Administration -> Site Development -> Delta Exports
- Import the
custom-objecttype-definitions.xmlfile in Business Manager found in themetadata/metadirectory.- Navigate to Administration -> Site Development -> Import & Export and click Upload under the Import & Export Files section.
- Validate and upload the
custom-objecttype-definitions.xmlfile. - Click Import under the Meta Data section.
- Import the custom object type definitions file.
- Import the
jobs.xmlfile in Business Manager found in themetadatadirectory.- Navigate to Administration -> Operations -> Import & Export and click Upload under the Import & Export Files section.
- Validate and upload the
jobs.xmlfile. - Click Import under the Jobs section.
- Import the uploaded jobs file.
- Configure the AdobeCommerceOptimizerTrackedChanges job
- Navigate to Administration -> Operations -> Jobs and select the AdobeCommerceOptimizerTrackedChanges job.
- Click the Job Steps tab.
- Click Job Parameters.
- Confirm the
consumeranddeltaExportJobNamematch the details defined in the Delta Exports configured above. - Click the Scope badge.
- Select the desired Sites to define the job execution scope.
- Click the Schedule and History tab
- Ensure the schedule is Enabled and set to run at a normal cadence such as every day or every hour. Align this with your Delta Exports and ACO SFCC Starter Kit App Builder delta-sync action cron schedules.
See the README.md in the int_adobe_commerce_optimizer directory.



