[PaaS only]{class="badge informative" title="Applies to Adobe Commerce on Cloud projects (Adobe-managed PaaS infrastructure) and on-premises projects only."}

Install Adobe Commerce packages

This integration for Commerce enables synchronization of assets between Adobe Commerce and Adobe Experience Manager Assets (AEM Assets). The extension provides a set of tools and services to manage product image, video, and other media assets across both platforms.

Add this extension to the Commerce environment by installing the aem-assets-integration PHP extension. You also need to enable Adobe I/O Events for Commerce and generate the credentials required for communication and workflows between Adobe Commerce and Adobe Experience Manager Assets.

Access requirements

You need the following roles and permissions to enable the Commerce integration with AEM Assets.

TIP
Adobe Commerce can be configured to use Adobe IMS authentication.

Installation and configuration workflow

Install the Adobe Commerce package and prepare the Commerce environment by completing the following tasks:

  1. Install the AEM Assets Integration for Commerce extension (aem-assets-integration).

  2. Configure the Commerce Services Connector to connect your Adobe Commerce instance and with the services that enable data to be transmitted between Adobe Commerce and AEM Assets.

  3. Configure Adobe I/O Events for Commerce

  4. Get authentication credentials for API access

Install the aem-assets-integration extension

Install the latest version of the AEM Assets Integration extension (aem-assets-integration) on an Adobe Commerce instance with version Adobe Commerce 2.4.5+. The extension is delivered as a composer metapackage from the repo.magento.com repository.

Cloud infrastructure

Use this method to install the AEM Assets Integration extension on a Commerce Cloud instance.

  1. On your local workstation, change to the project directory for your Adobe Commerce on cloud infrastructure project.

    note note
    NOTE
    For information about managing Commerce project environments locally, see Managing branches with the CLI in the Adobe Commerce on Cloud Infrastructure User Guide.
  2. Check out the environment branch to update using the Adobe Commerce Cloud CLI.

    code language-shell
    magento-cloud environment:checkout <environment-id>
    
  3. Add the AEM Assets Integration for Commerce extension.

    code language-shell
    composer require "magento/aem-assets-integration" "<version-tbd>" --no-update
    
  4. Update package dependencies.

    code language-shell
    composer update "magento/aem-assets-integration"
    
  5. Commit and push code changes for the composer.json and composer.lock files.

  6. Add, commit, and push the code changes for the composer.json and composer.lock files to the cloud environment.

    code language-shell
    git add -A
    git commit -m "Install AEM Assets Integration extension for Adobe Commerce"
    git push origin <branch-name>
    

    Pushing the updates initiates the Commerce cloud deployment process to apply the changes. Check the deployment status from the deploy log.

On-premises

Use this method to install the AEM Assets Integration extension for an on-premises instance.

  1. Use Composer to add the AEM Assets Integration for Commerce extension to your project:

    code language-shell
    composer require "magento/aem-assets-integration" --no-update
    
  2. Update dependencies and install the extension:

    code language-shell
    composer update  "magento/aem-assets-integration"
    
  3. Upgrade Adobe Commerce:

    code language-shell
    bin/magento setup:upgrade
    
  4. Clear the cache:

    code language-shell
    bin/magento cache:clean
    
note tip
TIP
When deploying to production, consider not clearing compiled code to save time. Always back up your system before making changes.

Configure the Commerce Services Connector

NOTE
Commerce Services Connector setup is a one-time process required to use Adobe Commerce SaaS services. If you have already configured the connector for another service, you can view the existing configuration from the Commerce Admin by selecting Systems > Services > Commerce Services Connector.

To transmit data between your Adobe Commerce instance and the services that enable the AEM Assets Integration, configure the Commerce Services Connector from the Admin (System > Services > Commerce Services Connector).

SaaS project and data space ids for the AEM Assets integration {width="600" modal="regular"}

Provide the following values in the configuration

  • Production and sandbox API keys for authentication
  • Data space name (SaaS identifier) for secure cloud storage
  • IMS organization ID where your Commerce and AEM Assets environments are provisioned

For detailed instructions, watch the Commerce Services Connector configuration video, of see the Commerce Services Connector documentation.

When you save the configuration, the system generates the SaaS project and database IDs for your environment. These values are required to enable asset synchronization between Adobe Commerce and AEM Assets.

Configure Adobe I/O Events for Commerce

The AEM Assets Integration uses the Adobe I/O Events service to send custom event data between the Commerce instance and Experience Cloud. The event data is used to coordinate workflows for the AEM Assets integration.

Before configuring Adobe I/O Events, verify the RabbitMQ and cron job configuration for your Commerce project:

NOTE
For projects on Commerce version 2.4.5, you must install the Adobe I/O modules. In Commerce version 2.4.6+, these modules are loaded automatically. For the AEM Assets integration for Commerce, you only need to install the modules. App Builder setup is not required.

Enable the Commerce Eventing framework

Enable the eventing framework from the Commerce Admin.

NOTE
App Builder setup is required only if you plan to use a custom matching strategy to synchronize assets between Commerce and AEM Assets.
  1. From the Admin, go to Stores > Settings > Configuration > Adobe Services > Adobe I/O Events.

  2. Expand Commerce events.

  3. Set Enabled to Yes.

    Adobe I/O Events Commerce Admin configuration - enable Commerce events {width="600" modal="regular"}

  4. Enter the merchant company name in the Merchant ID and the environment name in the Environment ID fields. Use only alphanumeric characters and underscores when setting these values.

recommendation-more-help

Configure Custom VCL for blocking requests

If you use a custom VCL snippet to block unknown incoming requests, you might need to include the HTTP header X-Ims-Org-Idheader to allow incoming connections from the AEM Assets Integration for Commerce service.

TIP
You can use the Fastly CDN module to create an Edge ACL with a list of IP addresses that you want to block.

The following custom VCL snippet code (JSON format) shows an example with a X-Ims-Org-Id request header.

{
  "name": "blockbyuseragent",
  "dynamic": "0",
  "type": "recv",
  "priority": "5",
  "content": "if ( req.http.X-ims-org ~ \"<YOUR-IMS-ORG>\" ) {error 405 \"Not allowed\";}"
}

Before creating a snippet based on this example, review the values to determine whether you need to make any changes:

  • name: Name for the VCL snippet. This example uses the name blockbyuseragent.

  • dynamic: Sets the snippet version. This example uses 0. See the Fastly VCL snippets for detailed data model information.

  • type: Specifies the type of VCL snippet, which determines the location of the snippet in the generated VCL code. This example uses recv. See the Fastly VCL snippet reference for the list of snippet types.

  • priority: Determines when the VCL snippet runs. This example uses priority 5 to run immediately and check whether an Admin request is coming from an allowed IP address.

  • content: The snippet of VCL code to run, which checks the client IP address. If the IP is in the Edge ACL, it is blocked from access with a 405 Not allowed error for the entire website. All other client IP addresses are allowed access.

For detailed information about using VCL snippets to block incoming requests, see Custom VCL for blocking requests in the Commerce on Cloud Infrastructure Guide.

Get authentication credentials for API access

The AEM Assets Integration for Commerce requires OAuth authentication credentials to allow API access to the Commerce instance. These credentials are required to authenticate API requests when managing assets using the AEM Assets integration.

You generate the credentials by adding the integration to the Commerce instance and activating it.

Add the integration to the Commerce environment

  1. From the Admin, go to System > Extensions > Integrations, then click Add New Integration.

  2. Enter information about the integration.

    In the General section, only specify the integration Name and Email. Use the email for an Adobe IMS account with access to the organization where Commerce and Experience Manager Assets are deployed.

    AEM Assets Integration for Commerce Admin configuration {width="600" modal="regular"}

  3. Verify your identity by clicking Confirm Identity.

    The system verifies your identity by authenticating to Experience Cloud with your Adobe Id.

  4. Configure API resources.

    1. From the left panel, click API.

    2. Select the external media resource Catalog > Inventory > Products > External Media.

      Admin Integration config for API resources {width="600" modal="regular"}

  5. Click Save.

Generate OAuth credentials

On the Integrations page, generate the OAuth authentication credentials by clicking Activate for the Assets integration. You need these credentials to register the Commerce project with the Assets Rule Engine service, and to submit API requests to manage assets between Adobe Commerce and AEM Assets.

  1. From the Integrations page, generate the credentials by clicking Activate.

    Activate Commerce configuration for Assets integration {width="600" modal="regular"}

  2. If you plan to use the API, save the credentials for the consumer key and access token to configure authentication in your API client.

    OAuth credentials to authenticate API requests {width="600" modal="regular"}

  3. Click Done.

NOTE
You can also generate authentication credentials using the Adobe Commerce APIs. For details about this process and more information about OAuth-based authentication for Adobe Commerce, see OAuth-based authentication in the Adobe Developer documentation.

Next step

62e3c486-e09f-42bb-be80-2058df1fc0e9