Connecter votre PIM Akeneo à Magento

Comment importer vos informations produits Akeneo dans Magento2 ?

Dans cet article, nous allons présenter la marche à suivre pour connecter votre serveur Akeneo à votre site ecommerce Magento2.
Pour cela, nous allons principalement utiliser le module open source PIMGento 2 API.

Pimgento 2 Api
En août 2019, le module Pimgento initialement développé et maintenu par L'agence DnD, est devenu le connecteur officiel Akeneo pour M2.
Cette annonce fait suite à une acquisition par akeneo de l'API, conséquence, celui-ci fut renommé Akeneo Connector for Magento2
 


1- Configurer votre serveur akeneo

Avant de pouvoir synchroniser les informations vers Magento, il faut s'assurer d'avoir correctement configuré l'instance Akeneo :

  • S'assurer que les produits ont été suffisamment renseignés (remplir autant de champs que possible)

  • Activer les produits que l'on souhaite synchroniser

  • Vérifier que les produits activés sont bien présents dans le canal qu'on souhaite synchroniser (ex. Ecommerce)

  • Vérifier que la locale (la langue) correspond au site vers lequel on souhaite effectuer l'import. 

Vérification canal & produits 

  • Ensuite, il faut générer la clé api qui sera utilisée par le serveur Magento pour s'authentifier auprès d'Akeneo.

Api de connexion akeneo


2- Configurer votre serveur magento

Côté Magento, il faut commencer par installer et activer le module PIMGento 2 Api :

composer require agencednd/module-pimgento-2-api
php bin/magento module:enable Pimgento_Api
php bin/magento setup:upgrade
php bin/magento cache:flush

Afin de confirmer que le module a été correctement installé, il faut se rendre dans Boutique > Configuration > Catalogue > Pimgento (ou en anglais Store > Configuration > Catalog > import). C'est là que se trouvent les configurations Magento à renseigner afin d'initier une connexion avec le PIM.

Il faut configurer l'api en renseignant les identifiants apis crées précédemment sous akeneo. Ensuite, cliquez sur Test pour vérifier que tout fonctionne correctement. Les canaux akeneo devraient être automatiquement importés sous magento, si c'est le cas. Cela permettra de spécifier le canal à synchroniser par défaut, ainsi que de faire les liaisons entre les différents sites magento et les canaux akeneo. Dans notre exemple actuel, il n'y a qu'un seul site ecommerce côté magento, d'où la liaison avec ce dernier (base).

Configuration Api

Après la configuration api, il faudra configurer les filtres de base sur les produits, c'est assez intuitif (pas besoin de présenter ce point ici).

Attaquons plutôt le nerf de la guerre, la configuration des correspondances/mapping entre les attributs magento2 et Akeneo. De base lors de l'import, le module essaie de faire, tout seul,  la correspondance, au travers des codes attributs. Du coup, lorsqu'un attribut magento a le même code qu'un attribut qu'il essaie d'importer, il fait automatiquement la correspondance. Sinon, il créera un nouvel attribut sur magento qui sera mappé à l'attribut importé. 

Où trouver les codes  attributs ?
                                                                                            Sous Magento : Boutiques> Attributs >produits ( en anglais Stores>Attribut>product)
                                                                                            Sous Akeneo    : Paramètres>attributs


Cela peut, malheureusement, déboucher sur l'existence côté magento de deux attributs ayant la même fonction, mais juste des codes différents, d'où l'utilité du mapping afin d'éviter ce scénario.

Mapping des attributs produits

Sur l'image ci-dessus, on voit un mapping entre name et description. Comme mentionné plus haut, ces deux mappings sont inutiles, car ces deux attributs ont le même code, et donc sans action de notre part, il y a déjà une correspondance. On aurait donc pu se passer de ces deux mappings.
Par contre, la correspondance entre meta_description et short_description ici, est obligatoire, si on souhaite que la valeur du champ meta_description côté akeneo soit copiée dans le champ short_description de Magento2. Autrement, serait créée sous magento2 un attribut meta_description.
En conclusion, il est crucial de faire attention au code lors de la création des attributs sur les deux systèmes. Cela permettra de limiter le nombre de mapping et même de s'en passer dans certains cas.  
 La dernière section des configurations concerne les imports d'images. En effet, lorsqu'on souhaite importer les images d'Akeneo vers magento2, il faut là aussi faire un mapping.

Mapping des attributs images 

Sur l'exemple ci-dessus, nous avons mappé la plupart des images magento avec l'attribut image d'akeneo, exception faite des small_image qui correspondront aux images des variations sous akeneo (cas des produits configurables). Maintenant que toutes les configurations sont terminées, il ne reste plus qu'à sauvegarder et commencer l'import.



3- Lancer l'importation

Pour lancer l'importation des produits vers magento2, il faut se rendre dans Système > Pimgento Api > Import (System > Pimgento Api > Import) et lancer un à un tous les types d'import. Attention à effectuer les imports dans l'ordre, du moins, la première fois (Category> Family > Attribute > option etc...).

Import des produits dans magento 

Voilà, les produits et leurs informations seront importés dans magento. Se rendre dans catalogue > produits afin d'appliquer les dernières configurations (gestion du stock, etc...). Le module offre la possibilité de faire les imports par lignes de commande. Vous pourrez ainsi mettre en place des crons qui vous permettront de faire des imports périodiques afin de rafraîchir les données ou agrandir votre catalogue.