Install the SFCC cartridge

Learn how to install and configure the Adobe Commerce Optimizer cartridge for a Salesforce Commerce Cloud instance. The video shows how to clone the code repository, set up the cartridge using VS Code and the Prophet extension, and activate a new code version. It explains how to enable the cartridge for a site, configure Delta Exports, and import custom object and job definitions. Learn how to verify job settings and test a custom API endpoint to confirm the installation and sync your catalog.

Who is this video for?

  • Commerce Solution Architect
  • Technical Marketing Engineers
  • eCommerce Platform Administrators

Video content

  • Install and configure the Adobe Commerce Optimizer cartridge using VS Code and the Prophet extension.
  • Create and activate a new code version in Business Manager and enable the cartridge for a specific site.
  • Set up Delta Exports to manage catalog and price book updates.
  • Import custom object and job definitions to support tracking and synchronization.
  • Test a custom API endpoint to confirm successful installation and prepare for catalog sync.
Transcript

Welcome back! In this video we will cover how to install and configure the Commerce Optimizer cartridge in an SOCC instance.

To get started, let’s head back over to our Starter Kit repo. In the readme file of this repository, you’ll notice an important callout. Installation of the custom ACO SFCC cartridge is required.

Clicking into the link will take us to our ACO SFCC cartridge repository.

This repository contains a readme with installation instructions. We want to follow the same process that is outlined in this readme file, so feel free to follow these instructions as well. First, we need to upload our cartridge to our SSCC instance. There are many ways to do this, such as using a webDAV client like CyberDoc, but in this example we will use the VS Code Profit extension.

So let’s clone this repository and get started.

I’m going to copy the clone URL and head over to my terminal.

In my terminal, I’m going to clone the repo using the git cli pasting in the URL of the repository. Okay, now that we have the repository cloned, let’s open it up in your favorite IDE. Next, let’s install the Profit extension. This extension will help us keep our custom cartridge in sync with our SFCC instance. I already have it installed here, so we’re ready to go.

Next, in Business Manager, let’s create a new code version.

Under the Administration section, let’s click Site Development and Code Deployment.

Next, we’re going to create a new code version that we’re going to upload our cartridge to. We can click Add, and we’ll just call this version 3. Click Apply. We’ll head back over to our IDE and configure the Profit extension to upload to this new code version. Once it’s uploaded, we can activate this version. Since we’re adding new SCAPI custom endpoints, we need to activate this new code version to register the new API schema.

So let’s head back to our IDE. In our newly cloned repository, we’ll notice a dw.json.dist file.

This has the configuration we need to communicate with our SFCC instance. So let’s copy this and paste it as a new file. Since it’s called dw.json. We’ll then populate this with our hostname for our SFCC instance, our username and password, and the code version we’re going to be uploading to. You’ll notice that we have our cartridge name already populated in the Cartridge and Cartridges Path fields.

We can kick off the synchronization process by typing Ctrl-Shift-P or Command-Shift-P on the Mac, and look for Profit, Clean Projects slash Upload All. We can check the output and see that our cartridge was uploaded successfully. Now that our cartridge is uploaded, let’s head back to Business Manager. Under the Site Development, Code Deployment section, let’s verify that version 3 now contains our new custom cartridge.

We see the Int Adobe Commerce Optimizer cartridge as part of this version 3. Let’s go back to Code Deployment and then activate that code version. Okay, now that’s the active version.

Let’s enable it for our sites. Under the Sites section, click Manage Sites, and then click into the site you would like to enable this cartridge for. In our case, it’s going to be the Carvelo site.

Click into the Site Settings tab, and then add the Int Adobe Commerce Optimizer cartridge to the Enable Cartridge list, and then click Apply. Next, we need to set up Delta Exports.

Under the Site Development, Delta Exports tab is where we’ll need to add our new configuration. If you do not have a Delta Exports tab, you may need to contact Salesforce Support to enable Delta Exports for your instance.

Alright, let’s create a new Delta Exports configuration. We’re going to name it ACO Delta Exports, and then click Create. Under the Consumers field, we’re going to add ACO as a consumer name, and then we’re going to select Catalogs and Pricebooks to be part of the Delta Exports functionality, and then click Apply.

Under the Schedule tab, we can control when and how often the Delta Export job runs. Right now, we have our job set to run once every hour. You may want to configure this depending on how often you would like this export job to surface changes in your catalog that ACO can consume, and taking into consideration performance impacts on your SOCC instance. Next, we need to import our custom object definition for our ACO Track Changes object. Navigate to the Import and Export tab, still under the Site Development section. Click the Upload button, and then we’re going to choose our file to upload.

You can drag and drop, or click Choose File, and then find your ACO SOCC Cartridges directory.

This file will be under Metadata, and then Meta, and then custom object type definitions.xml. Next, simply click Upload. Going back, now we need to run the import on the metadata. Click the Import link under the Metadata section, find our new type, click Next.

This will run a quick XML schema validation and make sure the file is correct. You can click Refresh, see that we have no issues here, and then click Import. We can see under the Status section here, if we refresh, that our import was successful. Next, we need to upload our custom job definition. Let’s go to the Operations section, and then the Import and Export under this section. Similar to before, we’re going to click the Upload link under the Import and Export File section.

Choose our file, this time under the metadata directory, we’re going to upload the jobs.xml file. And then click Upload. Heading back, we’ll go to the Import section under the Jobs tab. Select our XML, click Next. See that our schema validation is fine, click Next.

Next, we’ll need to select the import mode. Here, we want to keep replace, which will delete any conflicts that may have a similar job name and recreate these objects. Click Import.

Similar to before, you can see the process here. Click Refresh to update the status, and we can see that it’s imported successfully. We can verify this by going to the Jobs tab. And we can see our new Adobe Commerce Optimizer Track Changes job here. Let’s click in. We can enable a custom schedule to where this job runs at a set interval.

Maybe we want to run it every hour. This is up to you and your configuration to best meet your needs. Under the Jobs tabs, let’s verify our job parameters.

We want to match the consumer and the Delta export job name with what we created in a previous step. Our consumer should be ACO, and our Delta export job name should be ACO underscore Delta underscore Exports. Next, let’s verify our job runs under the correct scope. Right now, my default is configured to run on the reference architecture site. We want to change that to run on our site.

So we’re going to select Carvelo demo. Alright, now our ACO Track Changes job should be configured and ready to go.

Alright, everything on the SOCC side should be configured. Let’s test out our API. But first, let’s ensure our API client has our new custom scope.

If you drill into the cartridge directory under the REST APIs slash ACO section, this is where our new custom Scapi endpoints are defined. If we go into our schema.yml file, we can see under the security scheme, we have a scope here, C underscore ACO. We want to be sure when we’re creating an API client to interact with Scapi that we include this scope in the client configuration. We will need this to obtain an access token that allows for this scope. Alright, let’s test out one of our custom endpoints to be sure everything is installed correctly. We can access these via the custom API family. So you have your base SOCC URL slash custom slash ACO slash V1 slash organizations, then your organization ID slash products. This is the products API we’ve created that we want to test out. It takes two parameters in the URL site ID and locale, which we’ve defined here to be Carvelo demo, which is our site and then en dash us.

This specific API is a post request. So in the body, we’re going to provide it a list of product IDs.

Taking one as an example.

We’ll make this API call and we’ll see we get back our product data.

This is one of the APIs that will be consumed by our starter kit to synchronize your SOCC catalog into commerce optimizer. In the next video, we’ll see how to install and configure the app builder side of our commerce optimizer SOCC connector.

Thanks for watching.

recommendation-more-help
3a5f7e19-f383-4af8-8983-d01154c1402f