Getting started

Integration & migration

Image & video API

DAM user guide

API overview

Account

Integrate Akeneo PIM with ImageKit.io

Connect Akeneo PIM as an external storage with ImageKit to get real-time image and video optimization and transformation capabilities in minutes.


Akeneo is a popular PIM used by several organizations to store, manage, and enrich information about their products.

With this powerful integration between ImageKit and Akeneo, you can now effortlessly access the images, videos, and other non-media files (PDFs, docs, etc.) stored in your PIM and deliver optimized and transformed versions of them in real time, enhancing your user experience.

ImageKit supports three kinds of media files from Akeneo.

  1. Product Media Files
  2. Asset Media Files
  3. Reference Entities Media Files

Before continuing, understand how external storage integration works, what is URL endpoint, and how to troubleshoot 404 errors.

Step 1: Create a connection in Akeneo

We need to create a connection in Akeneo that will give us values for client ID, secret, username and password. These values will then be used to connect Akeneo to ImageKit. You can find the latest instructions for creating a connection in different versions of Akeneo on their official documentation.

  1. The flow type will be "Destination connection" flow (data is flowing out of Akeneo).
  2. Ensure that you set the appropriate permissions for this connection as defined here. ImageKit only needs access to be able to get your media files, and to generate the necessary authentication token for the same.

Once the connection is created, you can copy the generated credentials. The password is only shown once after the connection is created, so make sure you save it somewhere.

Step 2: Adding Akeneo External Storage to ImageKit

Use the credentials generated in step 1 to add an external storage of type "Akeneo PIM" in the ImageKit dashboard.

  1. Go to the external storage section in your ImageKit.io dashboard, and under the Origins section, click on the "Add new" button.
  2. Choose Akeneo PIM from the origin type dropdown.
  3. Give your origin a name, it will appear in the list of origins you have added. For example - My Akeneo PIM.
  4. Provide the Base URL or the endpoint of the Akeneo PIM instance you want to access. Add the other credential values in the corresponding fields.
  5. Leave the advanced options as it is for now.
  6. Click on the Save button.

Step 3: Access the file through ImageKit.io URL endpoint

When you add your first external source (origin) in the dashboard, the origin is, by default, made accessible through the default URL endpoint of your ImageKit.io account. For subsequent origins, you can either create a separate URL endpoint or edit the existing URL endpoint (including default) and make this newly added origin accessible by editing the origin preference list.

Every media file in Akeneo has a data or a code value that looks like this f/d/1/d/fd1d_myimagefilename.png. To access a file, you need to create a URL using this data or code value, along with the media file type (media-file, asset-media-file, or reference-entities-media-file) and the URL endpoint. For example, for the above code, you can access the file as shown below.

You can transform any of the three media types above by adding the transformation string, as you usually do for any other origin.

Copy
            URL endpoint                transformation  media type     data or code
┌─────────────────────────────────────┐┌─────────────┐┌───────────┐┌───────────────────┐
https://ik.imagekit.io/your_imagekit_id/tr:w-300,h-300/media-files/rest-of-the-path.jpg

If you get a "Not found" error while accessing the file, check out this troubleshooting guide.

💡
Tip

You can also use a custom domain like static.example.com.

Step 3: Integrate and Go live

Start using ImageKit.io URLs in your application to deliver perfect images and videos.

Advanced options for Akeneo PIM origin

Include canonical response header

When enabled, the image response contains a Link header with the appropriate URL and rel=canonical. You must specify the base URL for the canonical header.

For example, if you set https://www.example.com as the base URL for the canonical header, then the image response for URL https://ik.imagekit.io/your_imagekit_id/rest-of-the-path.jpg will have a Link header like this:

Copy
Link: <https://www.example.com/rest-of-the-path.jpg>; rel="canonical"