Adobe Commerce only. Learn more

Using the data ingestion API

Use the data ingestion API to create and manage product data for your ecommerce catalog. Data includes products, product attribute metadata, prices books, and prices.

Base URL

Send all Data Ingestion API requests to the following base URL:

Copied to your clipboard
https://na1-sandbox.api.commerce.adobe.com/{tenantId}

The URL structure is:

https://{region}-{environment}.api.commerce.adobe.com/{tenantId}

  • region is the cloud region where your instance is deployed.
  • environment-type identifies non-production environments, for example, sandbox or staging.
  • tenantId is the unique identifier for your organization's specific instance within the Adobe Experience Cloud.

Get your tenant ID

Find your tenant ID in the access URLs for your Commerce Optimizer project in Cloud Manager.

  1. Log in to your Adobe Experience Cloud account.

  2. Under Quick access, click Commerce to open the Commerce Cloud Manager.

    The Commerce Cloud Manager displays a list of instances that are available in your Adobe IMS organization.

  3. To view the access URLs including the base URL for the REST and GraphQL APIs, click the information icon next to the instance name.

    Access URLs for Commerce Optimizer UI, REST, and GraphQL APIs {zoomable="yes"}

    If you don't have access to the Commerce Cloud Manager, contact your system administrator.

Authentication

Every API request must include a bearer token in the request header:

Authorization: Bearer {access token}

The bearer token is generated using the credentials from the Adobe developer project for the API integration. The token is valid for 24 hours. When it expires, use the Adobe developer project credentials to generate a new one.


Get credentials and bearer access tokens

To get API authentication credentials and tokens, create an Adobe developer project to enable communication between your Commerce project and Merchandising Services APIs.

  1. Log in to the Adobe Developer Console.

  2. Select the Experience Cloud Organization for the integration.

  3. Create an API project.

    1. Add the Adobe I/O Events for Adobe Commerce API to your project. Then, click Next.

    2. Configure the Client ID and Client Secret credentials by selecting the OAUTH Server to Server Authentication option.

    3. Click Save configured API.

  4. In the Connected Credentials section, view API configuration details by selecting OAUTH Server-to-Server.

    Adobe developer project - Credential Details

  5. Copy the Client ID and the Client Secret values to a secure location.

    • Use the Client ID and Client Secret to refresh expired bearer tokens [using curl].

    • Include the Client ID in the x-api-key header to authenticate API requests.

  6. Get the bearer access token.

    1. Select Generate Access Token.

    2. Save the bearer token to a secure location.

    The bearer token is valid for 24 hours. You can use the same bearer token for all API requests until it expires.

Generate a new access token

Once you have the required credentials for IMS authentication, use the following cURL request to generate a new bearer token after the current token expires:

Copied to your clipboard
curl --request POST \
--url 'https://ims-na1.adobelogin.com/ims/token/v3' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data 'grant_type=client_credentials' \
--data 'client_id={{client-id-value}}' \
--data 'client_secret={{client-secret-value}}' \
--data 'scope=adobeio_api,openid,AdobeID,read_organizations'

Replace the following placeholders with your credentials:

  • <client_id>: The client ID generated for your Adobe developer project
  • <client_secret>: The client secret generated for your Adobe developer project

You can get these credentials from the Adobe Developer Console project details page. If you don't have access to the developer console, contact your system administrator to get the credentials.

Header parameters

Include the following headers in REST API requests.

Header nameRequiredDescription
AC-Environment-Id
Yes
Specify the tenant ID for the Commerce cloud instance.
Content-Encoding
No
Use this header only if the payload is compressed with gzip. Accepted value: gzip.
Content-Type
Yes
Media type of the resource. Accepted value: application/json.
Authorization: Bearer {access token}
Yes
Bearer access token generated using credentials from the Adobe developer project for the API integration.

Request template

Use the following template to submit requests using curl replacing the placeholders as required.

Copied to your clipboard
curl --request POST \
--url https://na1-sandbox.api.commerce.adobe.com/{tenantId}/{endpoint} \
--header "Content-Type: application/json" \
--header "Authorization: Bearer {access token}" \
--data "{apiPayload}"
Placeholder nameDescription
endpoint
Endpoint for specific Data Ingestion API, for example: /v1/catalog/products/prices
accessToken
Bearer token generated from IMS credentials. See Authentication.
apiPayload
API payload see examples in the tutorial

For sample requests, see the tutorial.

Limitations

See Limits and boundaries in the Adobe Commerce Optimizer Guide.