How to set-up and use the connector

Summary

In the PIM: Add a Connection

1. Via Connector

From the client’s PIM > CONNECT > Connection settings

  • Create a new connection

SETTINGS

  • Give a name
  • The flow type should be Data Source
  • Track in Data flows dashboard (useful to have analytics on how many products were sent into the PIM)

CREDENTIALS

  • Make sure to note the credentials somewhere safe as it will be encrypted once you SAVE your connection.

PERMISSIONS

  • SDM should have the right to EDIT the PIM, Role and Group need to ensure this.

2. Via App Store

From the client’s PIM > CONNECT > AppStore

  • CONNECT the Unifai App
  • AUTHORIZATIONS: This means that the client accepts directly the right level of authorization SDM needs to create the connection.
  • PERMISSIONS (Own / Edit / View) - The PIM client’s can select the level of permissions he wants the App to have access to.
  • Category trees (Own/Edit/ view possible) - If you want your app to be able to modify your products without using PIM proposals, choose the Own level. Otherwise, choose the Edit level.

 

  • Locales (Edit/View possible) - If you want your app to be able to edit your products in all languages, choose the All option in the Edit level. Otherwise, select only the languages that your app will be able to see or modify according to the level.
  • Attribute Groups (Edit/View possible) - If you want your app to be able to modify all your product data, choose the All option in the Edit level. Otherwise, select only the attribute groups that your app will be able to see or modify according to the level.
  • VALIDATE: A project is automatically created. From the SDM > Admin a direct marketplace connection has been created, then click on “create steps” to launch the sync.

You're done! A new project is created on the SDM client's interface, the connector is fetching the PIM Akeneo elements.

In the SDM: Connector Set-Up

You need to have access to SDM Admin

 

1. Add a Connection

From Home > Connectors >Akeneo direct connections:

  1. Create a new “direct connection”
  2. Base URL: PIM url
  3. Organization: Name of organisation
  4. is config active: check it
  5. Config params: nothing to do
  6. Push config: nothing to do
  7. Config frequency: Cron sync parameter to decide

Report from PIM Connector connection (cf above)

  1. Client secret
  2. Client id
  3. Username
  4. Password

2. SDM Admin Configuration

Here are all the options associated with an Akeneo Connector once the PIM configuration has been fetched:

  • use_locales used to select only a subset of the locales used in the PIM. This is used both for labels and for generating attributes.
  • use_uuid_push, use_uuid_memory, uuid_memory_reference_base and uuid_memory_keys : used when pushing to the UUID endpoint, more info here.
  • added_fields is used to create attributes not present in the PIM. This is for instance used to add fields targeting the ERP instead of the PIM. All added fields have to go through there because, as stated in the beginning, doing changes directly in the project configuration will mean they'll be lost during the next sync.
  • added_groups same as above but for groups
  • override_fields allow user to override specific attributes. The name and groups are both required and the groups can be left to null to override ALL definitions of an attribute regardless of its group.
  • variants_active is used to activate variants in the project. See the Variant doc for more info.
  • include|exclude_families|channels|attributes : used to make the connector target only specific families, channels or attributes All of them can be combined. Targeting only a subset of families will mean that attributes no associated with none of the families actually used will be ignored and not even appear in the project.
  • split_categories is used to have one hierarchy per category tree vs a single tree. See details above.
  • source_attributes: Default attributes that are set as “source ” for the categorisations and the extractions. Those attributes are marked as mandatory for the mapping steps.
  • max_rows_per_table is used to control the number of attributes created for table attributes.
  • max_requirement_level can take the values optional, important or required. It is the same behavior as for steps but for all the attributes generated by the connector. Some mandatory attributes (the sku for instance) will remain required to make sure we can actually push the products to the PIM.
  • multiple_value_separator legacy option used for customers who don't want us to push directly to the PIM, this controls the separator used for attributes with multiple values.
  • allow_categorisation_intermediary_node_selection used to control whether the user will be allowed to select non-terminal nodes when categorizing a product.
  • exclude_parents_attributes_for_step: only relevant for the variant module if variants_active is True.
  • exclude_children_attributes_for_step: only relevant for the variant module if variants_active is True.

Note that if a Credential Error occurs during a Fetch action, the system will deactivate the configuration and send a message to our Team.

 

Exemple configuration

{
  "use_locales": [
    "fr_FR"
  ],
  "added_fields": [
    {
      "name": "unifai_image_url",
      "type": "image_url",
      "label": {},
      "rules": [],
      "multiple": true,
      "separator": ";",
      "description": {},
      "requirement_level": "optional",
      "authorized_extensions": [
        ".jpg",
        ".jpeg",
        ".png",
        ".gif"
      ]
    },
    {
      "name": "code_modele",
      "type": "string",
      "label": {},
      "rules": [],
      "description": {},
      "requirement_level": "optional"
    },
    {
      "name": "REF_Drawer",
      "type": "string",
      "label": {},
      "rules": [],
      "description": {},
      "requirement_level": "optional"
    },

    {
      "name": "product_supplier_reference",
      "type": "string",
      "label": {
        "fr-FR": "Référence fournisseur"
      },
      "rules": [
        {
          "name": "max_length",
          "negate": false,
          "strict": false,
          "threshold": 32
        }
      ],
      "groups": [
        "fam_other_products"
      ],
      "description": {},
      "transformations": [
        {
          "name": "trim_whitespaces",
          "multiple": false
        }
      ],
      "requirement_level": "required"
    }
  ],
  "use_uuid_push": true,
  "boolean_values": {
    "true": "true",
    "false": "false"
  },
  "override_fields": [
    {
      "name": "parcel-fr_FR_row0_product_to_stick",
      "groups": null,
      "default": false
    },
    {
      "name": "parcel-fr_FR_row0_parcel",
      "groups": null,
      "default": "Colis_1"
    },
    {
      "name": "product_step_of_publication",
      "groups": null,
      "default": "product_publication_step_1"
    },
    {
      "name": "product_model_name-fr_FR",
      "groups": null,
      "requirement_level": "required"
    },
    {
      "name": "product_supplier_id",
      "groups": null,
      "requirement_level": "required"
    },
    {
      "name": "product_supplier_reference",
      "groups": null,
      "requirement_level": "required"
    }
  ],
  "use_uuid_memory": true,
  "variants_active": true,
  "exclude_channels": [],
  "exclude_families": [
    "fam_spare_parts",
    "fam_samples"
  ],
  "split_categories": false,
  "uuid_memory_keys": [
    "product_supplier_id",
    "product_supplier_reference"
  ],
  "source_attributes": [
    "product_model_name",
    "product_origin_name",
    "product_origin_description",
    "product_brand"
  ],
  "exclude_attributes": [
    "product_maintenance_advice",
    "product_name",
    "product_long_name",
    "product_variant_full_name d'unifai",
    "SKU",
    "product_mother",
    "product_summary",
    "product_description",
    "product_description_instruction",
    "product_keywords",
    "product_main_points",
  ],
  "max_rows_per_table": 5,
  "max_requirement_level": "important",
  "multiple_value_separator": ",",
  "uuid_memory_reference_base": "drawer_staging_uuid",
  "exclude_parents_attributes_for_step": [],
  "exclude_children_attributes_for_step": [],
  "allow_categorisation_intermediary_node_selection": false
}

Limitations and Known Issues

Locales

Our system uses locales to display labels in the preferred language of the user. However, this can create challenges in collaborative environments. For example, if a user selects French as their locale for ease of use, the entire interface will be translated into French, which may cause difficulties for English-speaking colleagues who share the same workspace.