Skip to main content

Akeneo PIM Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to an Akeneo PIM location.
akeneo_api.png

Akeneo PIM

Create an Akeneo PIM Destination

  1. Click the + icon on the Nexset that will be sent to the Akeneo PIM destination, and select the Send to Destination option from the menu.

  2. Select the Akeneo PIM connector from the list of available destination connectors. Then, select the credential that will be used to connect to the Akeneo PIM instance, and click Next; or, create a new Akeneo PIM credential for use in this flow.

  3. In Nexla, Akeneo PIM destinations can be created using pre-built endpoint templates, which expedite destination setup for common Akeneo PIM endpoints. Each template is designed specifically for the corresponding Akeneo PIM endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Akeneo PIM destinations can also be configured manually, allowing you to send data to Akeneo PIM endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Akeneo PIM endpoints. Each template is designed specifically for the corresponding Akeneo PIM endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.

    Create a new product

    This endpoint creates a new product in the Akeneo PIM using the UUID-based products API. Use it to programmatically introduce products into the catalog from an upstream system of record (such as an ERP or MDM).

    • The full upstream record is sent as the JSON body of the POST /api/rest/v1/products-uuid call. Each record must include the fields that Akeneo requires for a new product — typically uuid (a valid v4 UUID), family (the family code), and the values object containing channel-scoped, locale-aware attribute values.
    • Use the Nexla transform layer to shape upstream attributes into the structure that the Akeneo product payload expects. Each value in values is an array of objects with scope, locale, and data properties.

    This endpoint creates a product with a new UUID. To create or update a product idempotently based on a known UUID, use the Update/create a product endpoint instead. For full payload reference, see the Akeneo products UUID API documentation.

    Update/create a product

    This endpoint upserts a product by UUID — updating the product if it exists, or creating it if it does not. Use it to synchronize product records from a system of record where the same UUID is sent on every run.

    • Enter the product UUID in the Product UUID field. The default value substitutes the upstream record's uuid attribute into the URL, so the destination can be driven directly by a record stream that already carries Akeneo UUIDs.
    • The body of each PATCH call is the upstream record (as JSON). Akeneo merges the payload with the existing product — attributes not present in the payload are left untouched, and array values are replaced wholesale.

    Akeneo's PATCH semantics are partial-update at the top level only. Sending values for an attribute fully replaces the existing array for that attribute. To remove an attribute value, send an empty array.

    Create Product

    This endpoint creates a new product using the legacy code-based products API. Use it when upstream systems already track Akeneo product codes rather than UUIDs.

    • The full upstream record is sent as the JSON body of the POST /api/rest/v1/products call. Each record must include an identifier (the product code) and may include family, categories, enabled, and the values object.

    Akeneo recommends migrating to the UUID-based products API. New integrations should use the Create a new product or Update/create a product endpoints unless code-based identifiers are required.

    Upsert product

    This endpoint upserts a product by code using the legacy code-based products API. The product is updated if a product with the matching code exists, or created if it does not.

    • Enter the product code in the Product Code field. The default value substitutes the upstream record's identifier (or code) attribute into the URL.
    • The body of each PATCH call is the upstream record (as JSON). Akeneo merges the payload with the existing product using the same PATCH semantics as the UUID-based upsert endpoint.

    Create a new product model

    This endpoint creates a new product model in the Akeneo PIM. Product models are the parent records for variant products and define the attributes shared across all variants.

    • The full upstream record is sent as the JSON body of the POST /api/rest/v1/product-models call. Each record must include a code (the unique product model code), a family_variant (the family variant code), and may include parent, categories, and the values object for shared attributes.

    Product models cannot be created without a corresponding family variant. Use the Get a Family Variant source endpoint to confirm that the target family variant exists before activating this destination.

    Update/create a product model

    This endpoint upserts a product model by its code. The product model is updated if a model with the matching code exists, or created if it does not.

    • Enter the product model code in the Product Model Code field. The default value substitutes the upstream record's code attribute into the URL.
    • The body of each PATCH call is the upstream record (as JSON). Akeneo merges the payload with the existing product model using the same PATCH semantics as the products endpoints.

    Create Category

    This endpoint creates a new product category in the Akeneo PIM. Use it to bootstrap the category tree from an upstream merchandising system, or to add new categories programmatically as products require them.

    • The full upstream record is sent as the JSON body of the POST /api/rest/v1/categories call. Each record must include a code (the unique category code), and may include parent (the parent category code, omitted for root categories) and labels (a locale-keyed object of display labels).

    Categories form a tree, so a category with a parent can only be created after the parent already exists. Order the upstream Nexset by tree depth, or run a transform that creates parents in a prior step.

    Create Channel

    This endpoint creates a new sales channel in the Akeneo PIM. Channels define the locales, currencies, and category tree that products are projected onto when published.

    • The full upstream record is sent as the JSON body of the POST /api/rest/v1/channels call. Each record must include a code, locales (an array of locale codes), currencies (an array of currency codes), category_tree (the root category code for this channel), and labels.

    Channels reference locales, currencies, and a category tree that must already exist in the PIM. Confirm prerequisites with the List Channels and List Categories source endpoints before activating this destination.

    Create Catalog

    This endpoint creates a new Akeneo App catalog. App catalogs scope the subset of products that a Connected App is allowed to read from the PIM and are managed under the Connected App's settings.

    • The full upstream record is sent as the JSON body of the POST /api/rest/v1/catalogs call. Each record must include a name for the catalog and may include product selection criteria, value filters, and asset family filters.

    Akeneo App catalogs are a separate concept from the merchandising category tree. They control which products a Connected App can read, not how products are merchandised in the storefront.

Configure Manually

Akeneo PIM destinations can be manually configured to send data to any valid Akeneo PIM API endpoint.

Using manual configuration, you can also configure Nexla to automatically send the response received from the Akeneo PIM API after each call to a new Nexla webhook data source — useful for capturing the per-record status that Akeneo returns from its batched product endpoints.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Akeneo PIM API from the Method pulldown menu. Akeneo write endpoints use POST (create new resource), PATCH (update or upsert resource), or, for bulk endpoints, PATCH with the application/vnd.akeneo.collection+json content type.

Data Format

  1. Select the format in which the Nexset data will be sent to the Akeneo PIM API from the Content Format pulldown menu. Akeneo endpoints expect JSON for single-resource calls (application/json) and the line-delimited JSON variant application/vnd.akeneo.collection+json for bulk product and product model calls. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the Akeneo PIM API endpoint to which you want to send the Nexset data in the URL field. All Akeneo PIM API URLs use your instance Base URL followed by /api/rest/v1/ and the resource path (for example, https://my-company.cloud.akeneo.com/api/rest/v1/products-uuid). For update/upsert operations, include the product UUID, product code, or other resource identifier at the end of the URL.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (for example, header1:value1,header2:value2).

    You do not need to include any headers already present in the credentials. The Authorization: Bearer header is added automatically based on your Akeneo PIM credential's OAuth access token. The most common reason to add a custom header is to override Content-Type to application/vnd.akeneo.collection+json for bulk endpoints.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Akeneo PIM destination, select the attributes from the Exclude Attributes pulldown menu. This is useful for stripping internal bookkeeping fields (such as ingestion timestamps or upstream system IDs) before the payload is sent to Akeneo.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching. Akeneo's bulk product and product model endpoints accept up to 100 items per call, so batching can significantly improve throughput when synchronizing large catalogs.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100, which matches the Akeneo bulk-endpoint limit.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings. Some algorithms require additional settings—click on an algorithm listed below to view instructions for configuring these settings.

Response Webhook

Optional

Nexla can automatically send the response received from the Akeneo PIM API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call — particularly useful for Akeneo's bulk endpoints, which return a per-line status payload identifying which records succeeded and which were rejected.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Akeneo PIM API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.

  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Akeneo PIM API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Akeneo PIM API using the current settings.

Save & Activate the Destination

  • Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to Akeneo PIM, open the destination resource menu, and select Activate.

    The Nexset data will not be sent to Akeneo PIM until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.