Integration set up in SFCC

In order to set up a Dynamic Content SFCC integration, you will need to do some set up in SFCC.

  • In SFCC account manager create an API client. You'll add the client and secret to the fields in the Add integration screen.

  • In SFCC Business Manager configure your OCAPI settings to provide the integration with access to your SFCC instance. For a content asset integration you will need to include some additional settings.

In order to configure this integration you should be an experienced SFCC developer with knowledge of OCAPI and access to the official SFCC documentation.

Setting up an API client in SFCC

In order to allow Dynamic Content to integrate with your SFCC instance, you will need to set up a new API Client in the SFCC account manager. In order to create an API Client, you must log in to the SFCC account manager as an admin user and follow these steps:

  1. In the SFCC account manager, go to the API Client screen. The "Add API Client" screen is shown in the image below.

  2. Click Add API Client

  3. Enter a display name to identify the API Client, for example, "Amplience Dynamic Content"

  4. Enter a password. This will be your client secret.

    Note: leave the sections JWT and OpenID as their defaults

  5. From the "Token Endpoint Auth Method" menu choose "client_secret_basic"

  6. Click 'Add'

  7. Make a note of the API Client ID that is generated.

  8. Provide the API Client ID and the Password that you entered in step 4 to Amplience.

The Add API Client screen in SFCC Account Manager
The Add API Client screen in SFCC Account Manager

The newly created API Client will be shown in the list.

The new API Client ID is shown in the list
The new API Client ID is shown in the list

Open Commerce API settings

To enable the Dynamic Content integration to access OCAPI on your SFCC instance you will also need to configure your OCAPI settings.

  1. In SFCC Business Manager, go to Administration > Site Development > Open Commerce API Settings
  2. From the Select Type field, select ‘Data’
  3. From the Select Context field, select ‘Global’ Note: Most Data API resources are organization-specific, so they support only global client permissions.
  4. In the text field, paste in the following JSON:
{
    "_v": "18.7",
    "clients": [{
        "client_id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
        "resources": [{
            "resource_id": "/sites/{site_id}/slot_search",
            "methods": ["post"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }, {
            "resource_id": "/sites/{site_id}/slots",
            "methods": ["get"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }, {
            "resource_id": "/sites/{site_id}/slots/{slot_id}/slot_configurations/{configuration_id}",
            "methods": ["get", "put", "patch", "delete"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }, {
            "resource_id": "/sites/{site_id}/slot_configurations",
            "methods": ["get"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        },{
            "resource_id": "/sites/{site_id}/slot_configuration_search",
            "methods": ["post"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }, {
            "resource_id": "/sites/{site_id}/campaigns/{campaign_id}",
            "methods": ["get", "put", "patch", "delete"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }, {
            "resource_id": "/sites/{site_id}/campaigns/{campaign_id}/slot_configurations/{slot_id}/{slot_config_id}",
            "methods": ["put", "patch", "delete"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }, {
            "resource_id": "/sites/{site_id}/slot_configuration_campaign_assignment_search",
            "methods": ["post"],
            "read_attributes": "(**)",
            "write_attributes": "(**)"
        }]
    }]
}

Setting the API Client ID

Once you've added the JSON shown above, you must set the client_id property to the API Client ID you created for use with the integration. See Updating your OCAPI settings.
If you have other OCAPI settings that you need to keep, you will need to merge the data

Your OCAPI settings screen should look something like the following image:

OCAPI settings screen in Business Manager
OCAPI settings screen in Business Manager

If you're using content asset integration, you will need some additional OCAPI settings. See SFCC Content Assets for more details.

Updating your OCAPI settings

Once you've added the JSON, you will need to modify the values of the following properties.

Property                        Value
_v It is recommended to modify this to match the latest version of the configuration file structure. Please refer to the SFCC Documentation and search for "OCAPI Settings" for more details.
This property is independent of the OCAPI version itself and allows the configuration of resources in any OCAPI version.
client_id Change this to match your API Client ID.
This is required for staging, development and production instances. All sandboxes can use the default client id "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

When you've finished updating these values click "Save".

Additional OCAPI settings for a content asset integration

For the content asset integration, you will need to add the following to your Open Commerce API (OCAPI) settings. These settings are in addition to the OCAPI setup shown on the SFCC setup page.

{
    "resource_id": "/libraries/{library_id}/content/{content_id}",
    "methods": [
        "get",
        "put",
        "delete"
    ],
    "read_attributes": "(**)",
    "write_attributes": "(**)"
},
{
    "resource_id": "/libraries/{library_id}/content/{content_id}/folders",
    "methods": [
        "get"
    ],
    "read_attributes": "(**)",
    "write_attributes": "(**)"
},
{
    "resource_id": "/libraries/{library_id}/folders/{folder_id}",
    "methods": [
        "get",
        "put"
    ],
    "read_attributes": "(**)",
    "write_attributes": "(**)"
},
{
    "resource_id": "/libraries/{library_id}/folders/{folder_id}/content",
    "methods": [
        "get"
    ],
    "read_attributes": "(**)",
    "write_attributes": "(**)"
},
{
    "resource_id": "/libraries/{library_id}/folder_assignments/{content_id}/{folder_id}",
    "methods": [
        "get",
        "put",
        "delete"
    ],
    "read_attributes": "(**)",
    "write_attributes": "(**)"
},
{
    "resource_id": "/libraries/{library_id}/folders/{folder_id}/sub_folders",
    "methods": [
        "get"
    ],
    "read_attributes": "(**)",
    "write_attributes": "(**)"
}

Setting up a Dynamic Content SFCC integration

results matching ""

    No results matching ""