pimsysteem.nl
PIM implementatie

PIM koppelen aan Magento en Adobe Commerce

Kort antwoord

Bij een PIM-koppeling met Magento of Adobe Commerce zet het PIM-systeem productfamilies om naar attribute sets, varianten naar configurable products en talen naar store views. De koppeling schrijft via de REST API, voor grote volumes via de asynchrone en bulk-endpoints met een message queue. GraphQL dient vooral de storefront. Akeneo en Agence Dn'D onderhouden een open source connector voor Magento 2.4.7 en hoger.

Een PIM-koppeling met Magento Open Source of Adobe Commerce slaagt als het datamodel van het PIM-systeem rechtstreeks aansluit op dat van Magento: families worden attribute sets, variantmodellen worden configurable products en talen worden store views. De koppeling schrijft via de REST API, bij grote catalogi via de asynchrone en bulk-endpoints. Het PIM-systeem beheert de content, het ERP-systeem prijs en voorraad, en Magento de winkel, promoties en orders.

Magento Open Source en Adobe Commerce ondersteunen meerdere websites, stores en store views in één installatie. Die flexibiliteit maakt de koppeling krachtig, en het betekent ook dat u scope, store views en attribute sets bewust ontwerpt. De algemene architectuur staat in PIM-integraties: architectuur, API's en middleware.

Hoe ziet het productmodel van Magento eruit?

Magento werkt met een EAV-model (entity, attribute, value): attributen zijn losse definities, en een attribute set bepaalt welke attributen een product gebruikt en in welke groepen ze in de beheeromgeving staan. Via de REST API haalt u attribute sets op met /V1/eav/attribute-sets/list en de attributen van een set met /V1/products/attribute-sets/{id}/attributes.

Varianten bouwt u als configurable product. In de configurable-producttutorial van Adobe is de configurable product de container met de basisgegevens, en wordt per maat een simple product aangemaakt en gekoppeld. Het variantbepalende attribuut, in dat voorbeeld de maat, is een keuzelijst (select) met vaste opties.

Daarboven ligt een hiërarchie van scopes. Volgens Adobe heeft een installatie één of meer websites, elke website één of meer stores, en elke store één of meer store views. Instellingen gelden op het niveau global, website, store of store view.

Hoe richt u store views in voor Nederland en België?

Adobe beschrijft store views als de manier om een store aan klanten te tonen, en noemt extra store views expliciet als middel om talen te ondersteunen. Voor een Benelux-webshop is een gangbare opzet:

Website Store Store view Taal en gebruik
Benelux Hoofdcatalogus nl_nl Nederlands, Nederland
Benelux Hoofdcatalogus nl_be Nederlands, Vlaanderen
Benelux Hoofdcatalogus fr_be Frans, Wallonië en Brussel

Laat het PIM-systeem per locale schrijven naar de bijbehorende store view. Teksten zoals naam, beschrijving en SEO-velden krijgen een store-view-waarde; codes zoals de SKU houdt u in alle store views gelijk. Een aparte nl_be-view is alleen zinvol als u Vlaamse teksten werkelijk anders schrijft. Meer over taalbeheer leest u in meertalige productdata beheren.

Welk systeem beheert welke velden?

Gegeven Bronsysteem Doel in Magento
SKU, GTIN/EAN ERP-systeem, verrijkt in PIM sku en een barcode-attribuut
Familie en attribuutgroepen PIM-systeem Attribute set met groepen
Attribuutdefinities en opties PIM-systeem EAV-attributen met opties
Teksten per taal PIM-systeem Waarden per store view
Variantstructuur PIM-systeem Configurable product met simple products
Categorieboom PIM-systeem of Magento Categorieën per root category
Afbeeldingen PIM- of DAM-systeem Media gallery
Prijs, voorraad ERP-systeem Prijs en stock per bron of website
Promoties, catalogusprijsregels Magento Blijft in Magento
Orders, klanten Magento Naar ERP-systeem

Een helder familie- en attribuutmodel in het PIM-systeem voorkomt wildgroei aan attribute sets; zie een productdatamodel opzetten.

Welke integratiepatronen zijn er?

  1. Connector als Magento-module. De module haalt data uit het PIM-systeem en maakt attributen, attribute sets, categorieën en producten aan. Snel als uw model dicht bij de standaard blijft.
  2. iPaaS of middleware. Een tussenlaag mapt PIM-data naar Magento-payloads en verwerkt ook ERP-stromen. Zinvol bij meerdere webshops of systemen.
  3. Maatwerk op de REST API. Een eigen service roept de product-, attribuut- en configurable-endpoints aan. Volledige controle, met eigen beheer bij upgrades.

Asynchrone en bulk-endpoints

Voor grote volumes biedt Adobe Commerce asynchrone endpoints. Die schrijven elk verzoek naar de message queue en geven een UUID terug; een consumer verwerkt de berichten daarna. Op PaaS en on-premises start u die consumer met bin/magento queue:consumers:start async.operations.all, en de route krijgt het voorvoegsel /async, bijvoorbeeld /rest/{store-view-code}/async/V1/products.

Bulk-endpoints bundelen meerdere verzoeken van hetzelfde type in één array, bijvoorbeeld POST /rest/{store-view-code}/async/bulk/V1/products. De respons bevestigt per item dat het in de wachtrij staat, nog niet dat het verwerkt is. Op Adobe Commerce as a Cloud Service staat /async na V1 en geeft u de store code mee in de Store-header. Adobe noemt RabbitMQ de standaard message broker voor bulk-endpoints.

REST en GraphQL

Adobe positioneert GraphQL als basis voor headless storefronts en mobiele apps. Koppelingen die productdata schrijven, gebruiken daarom doorgaans REST. Bij een headless frontend leest de storefront via GraphQL wat het PIM-systeem eerder via REST heeft geschreven.

Welke syncrichting en frequentie kiest u?

Productcontent en catalogusstructuur gaan van PIM naar Magento. Prijs en voorraad komen uit het ERP-systeem, vaak via een eigen, snellere stroom. Orders gaan van Magento naar het ERP-systeem.

Synchroniseer content als delta na goedkeuring in het PIM-systeem. Wijzigingen in attribuutdefinities of attribute sets zijn structuurwijzigingen: voer ze gepland uit, vóór de productdata, omdat producten anders naar niet-bestaande attributen of opties verwijzen.

Welke valkuilen ziet u in Magento-koppelingen?

  1. Wachtrij zonder consumer. Asynchrone verzoeken worden geaccepteerd en blijven onverwerkt als de consumer niet draait. Bewaak de wachtrij en de bulkstatus.
  2. Verkeerde scope. Een tekst die op het verkeerde scopeniveau wordt geschreven, verschijnt niet in de bedoelde taal of overschrijft een andere taal. Test elke store view apart.
  3. Te veel attribute sets. Eén set per kleine productgroep maakt beheer en indexering zwaar. Bundel families waar de attributen grotendeels overlappen.
  4. Optiewaarden als vrije tekst. Configurable attributes vragen vaste opties. Normaliseer waardelijsten in het PIM-systeem en maak opties aan vóór de producten.
  5. Module achter op de Magento-versie. De Akeneo-connector koppelt versie 105 aan Magento 2.4.7 en hoger met PHP 8.2, oudere lijnen zijn end of life of krijgen alleen bugfixes. Neem connectorupgrades op in uw upgradeplan.

Welke PIM-leveranciers hebben een Magento- of Adobe Commerce-connector?

Akeneo publiceert met Agence Dn'D de Akeneo Connector for Adobe Commerce/Magento. Die synchroniseert categorieën, families, attributen, opties, productmodellen, family variants en producten, en is volgens de repository ontworpen voor Akeneo PIM Community Edition.

Volgens de geverifieerde integratiegegevens in de leveranciersprofielen noemen ook Pimcore, Struct, Ergonode, Plytix, Sales Layer, AtroPIM, UnoPim, Bluestone PIM, Perfion, Pimberly, Catsy, Contentserv, Goaland, Kontainer, PIMworks en THRON Adobe Commerce of Magento als integratie. Vraag per leverancier hoe de connector store views, attribute sets en configurable products behandelt. Het volledige overzicht staat bij de PIM-leveranciers.

Belangrijkste punten

  • Laat PIM-families één op één aansluiten op attribute sets en variantmodellen op configurable products.
  • Gebruik store views voor talen en schrijf teksten per store view, codes op globaal niveau.
  • Gebruik voor grote volumes de asynchrone en bulk-endpoints, en bewaak de consumer en de wachtrij.
  • Zet structuur (attributen, opties, sets) altijd vóór productdata klaar.
  • Controleer of de PIM-connector uw Magento-versie ondersteunt en neem upgrades mee in de planning.

Veelgestelde vragen

Hoe zet ik Nederlandse en Franse productteksten in Magento?

Maak per taal een store view aan, bijvoorbeeld nl_NL en fr_BE, onder dezelfde website en store. Volgens Adobe kunnen extra store views talen ondersteunen en kunnen instellingen op store-view-niveau per taal verschillen. De PIM-koppeling schrijft de vertaalde teksten per store view, via de store code in de REST-URL, bijvoorbeeld /rest/fr_be/V1/products.

Wat is het verschil tussen een attribute set en een PIM-familie?

Een attribute set in Magento bepaalt welke attributen een product heeft en hoe ze in de beheeromgeving gegroepeerd zijn. Een familie in een PIM-systeem doet hetzelfde voor de productdata. De meeste connectors zetten families één op één om naar attribute sets, dus een helder familiemodel in het PIM-systeem geeft een overzichtelijke Magento-catalogus.

Gebruikt een PIM-koppeling met Adobe Commerce REST of GraphQL?

Voor het schrijven van productdata gebruiken koppelingen de REST API, bij grote volumes via de asynchrone en bulk-endpoints. Adobe positioneert GraphQL als basis voor headless storefronts en mobiele apps, dus GraphQL is vooral de leeskant naar de klant. Een PIM-integratie met een headless frontend kan beide gebruiken: REST voor import, GraphQL voor de presentatie.

Is er een officiële Akeneo-connector voor Adobe Commerce?

Ja. Akeneo publiceert de Akeneo Connector for Adobe Commerce/Magento op GitHub, oorspronkelijk gebouwd door Gold Solution Partner Agence Dn'D, met wie Akeneo de connector nu samen onderhoudt. Versie 105 ondersteunt Magento 2.4.7 en hoger met PHP 8.2. De repository noemt zichzelf ontworpen voor Akeneo PIM Community Edition; Enterprise-functies zijn niet inbegrepen.

Begrippen in dit artikel

Verder lezen