Naar de inhoud
SyncMyShop

Akeneo en Magento

Akeneo Magento koppeling

Productdata uit Akeneo staat in Magento 2 op het juiste niveau: vertalingen per store view, families als attribute sets, productmodellen als configurable products en keuzewaarden als opties van jouw installatie. Alleen complete producten gaan door. Gebouwd op jouw families en store views, en daarna door ons gedraaid en bewaakt.

Wat je tussen Akeneo en Magento koppelt

De stroom loopt van Akeneo naar Magento. Akeneo is leidend voor wat een product is: teksten, attributen, varianten, afbeeldingen en categorieën. Magento toont het en verkoopt het. De koppeling leest via de REST API van Akeneo en schrijft via de REST API van Magento 2.

Uit Akeneo Endpoint in Akeneo In Magento Endpoint in Magento
Familie /families attribute set /V1/products/attribute-sets/{id}/attributes
Productmodel /product-models configurable product /V1/configurable-products/{sku}/options
Variantproduct /products-uuid simple product, gekoppeld /V1/configurable-products/{sku}/child
Waarden per locale values met locale waarden per store view /rest/{store_code}/V1/products
Keuzewaarden /attributes/{code}/options opties met een eigen ID options op het attribuut
Afbeeldingen /media-files/{code}/download media gallery /V1/products/{sku}/media

Producten worden aan elkaar gekoppeld op de SKU. In Akeneo is de identifier sinds november 2022 optioneel en is de uuid de sleutel. Een product zonder identifier heeft in Magento geen SKU, dus de koppeling slaat het over en zet het op de controlelijst. Hoe productdata in het algemeen loopt staat op productdata koppelen.

Welk systeem is leidend, per gegeven

Gegeven Leidend Richting Gedrag
Naam, omschrijving, attributen Akeneo naar Magento per store view, alleen complete producten
Attribute set en attributen Akeneo, de familie naar Magento sets en opties worden vooraf aangemaakt
Varianten en assen Akeneo, de family variant naar Magento configurable met gekoppelde simples
Afbeeldingen en volgorde Akeneo naar Magento alleen gewijzigde bestanden
Categorieën Akeneo, boom van het kanaal naar Magento op code, niet op naam
Prijs, tier prices, voorraad ERP niet uit Akeneo de koppeling raakt ze niet aan
URL-sleutel en SEO-velden per afspraak Akeneo of Magento vastgelegd per veld

Wat Akeneo en Magento anders bewaren

Locale en kanaal tegenover website, store en store view

Waarden van een Akeneo-product naar scopes en opties in Magento De Nederlandse en Duitse naam uit Akeneo gaan naar twee store views in Magento, elk met een eigen aanroep. De optiecode blue wordt via een opzoektabel optie-ID 168. De familie wordt attribute set 9. Een lengte als metric kan in Magento geen as van een configurable product zijn en moet eerst een keuzelijst worden. Akeneo Magento 2 name, nl_NL, ecommerce Werkjas Storm name, de_DE, ecommerce Arbeitsjacke Storm color blue as van de family variant family werkkleding length 82 CENTIMETER metric als as name in /rest/nl/ Werkjas Storm store view nl name in /rest/de/ Arbeitsjacke Storm store view de color 168 optie-ID, verschilt per installatie attribute_set_id 9 length geen keuzelijst as moet Dropdown of Swatch zijn opzoektabel eerst opties
Eén Akeneo-product, vijf waarden. Talen worden aanroepen per store view, codes worden optie-ID's van jouw installatie.

Akeneo bewaart een waarde per locale, per kanaal of allebei. Magento bewaart een waarde op het standaardniveau en daarnaast per store view, met een vinkje "Use Default Value" voor elke view die erft. De koppeling legt een tabel vast: kanaal ecommerce met nl_NL is store view nl, met de_DE is het store view de.

Magento schrijft per store view met een eigen aanroep: de store code staat in de URL. Een catalogus van 6.000 producten in 3 talen is per volledige ronde dus 6.000 aanroepen op het standaardniveau en 18.000 per store view, 24.000 in totaal. Daarom gaan in een gewone ronde alleen gewijzigde producten mee, en per store view alleen de velden die per taal verschillen. Een veld dat de koppeling per store view schrijft, erft daarna niet meer van het standaardniveau. Een prijs of status die per ongeluk op store-viewniveau wordt gezet, blijft dus hangen als het standaardniveau later verandert.

Optiecodes tegenover optie-ID's

Een keuzeattribuut bevat in Akeneo de code van de optie: blue. Magento slaat een keuze op als een optie-ID van die installatie, zoals 168. Dezelfde optie heeft op een testomgeving een ander ID dan op productie. De koppeling leest bij de start alle opties uit Magento, maakt ontbrekende opties aan met de labels per store view uit Akeneo, en bewaart de tabel van code naar ID per omgeving.

Productmodellen tegenover configurable products

Akeneo bouwt varianten op met een family variant van 1 of 2 niveaus en maximaal 10 assen per niveau. Een as mag in Akeneo een keuzelijst zijn, maar ook een maat met eenheid, een ja/nee-veld, een getal of tekst. Magento heeft één niveau: een configurable product met simple products eronder. Een as moet daar een attribuut zijn met scope Global, van het type Dropdown, Visual Swatch of Text Swatch, met een verplichte waarde.

Daaruit volgen twee regels. Een model met twee niveaus, kleur en dan maat, wordt in Magento één configurable met beide assen. De attributen die in Akeneo op het kleurniveau staan, zoals de afbeeldingen per kleur, zet de koppeling op elke simple van die kleur. En een as die geen keuzelijst is, zoals een lengte van 82 CENTIMETER, wordt in Magento eerst een optie. Zie varianten koppelen.

Familie tegenover attribute set

Een familie in Akeneo bepaalt welke attributen een product heeft en welke verplicht zijn per kanaal. Een attribute set in Magento bepaalt welke attributen op het product staan, ingedeeld in groepen. Het ID van een set, attribute_set_id, verschilt per installatie. De koppeling vergelijkt families en sets voor elke ronde. Een attribuut dat in Akeneo bij de familie hoort en in de set ontbreekt, wordt eerst aan de set toegevoegd of gemeld, en niet stil weggelaten.

De technische werkelijkheid van deze combinatie

Limiet Akeneo Magento 2
Tempo 100 verzoeken per seconde per PIM geen algemene limiet gedocumenteerd
Tegelijk 4 per connectie, 10 per PIM de server bepaalt het
Per verzoek 100 per pagina, 10 standaard invoerlimiet uit, aan: 20 synchroon, 5.000 asynchroon
Boven de grens 429 met Retry-After afhankelijk van de hosting
Toegang client ID, secret, token van 3.600 seconden OAuth 1.0a of een toegangstoken

De getallen zijn op 3 oktober 2026 nagelezen in de documentatie van Akeneo en Adobe Commerce.

Asynchroon schrijven. Magento heeft bulk-endpoints onder /async/bulk/V1/. Een aanroep met een lijst producten krijgt direct een bulk_uuid terug; de producten worden daarna verwerkt door een consumer via RabbitMQ. Per product is de status op te vragen: 1 is gelukt, 2 is mislukt en mag opnieuw, 3 is mislukt en vraagt eerst een correctie, 4 is nog open en 5 is geweigerd. Ook de bulkroute bevat de store code, dus ook hier telt elke store view apart. De 24.000 schrijfacties uit het voorbeeld zijn in blokken van 100 producten 240 aanroepen. Dat vraagt wel dat de consumers op de server draaien; staan ze uit, dan blijven de berichten in de wachtrij staan zonder foutmelding.

Lezen uit Akeneo. Paginering met een paginanummer stopt na het 10.000ste product. De koppeling gebruikt search_after en een filter op updated en op completeness voor het kanaal, zodat een product van 80% niet in Magento komt.

Afbeeldingen. Een afbeelding gaat naar Magento als base64 in content.base64_encoded_data, met types voor de rol: image, small_image, thumbnail. Akeneo levert een bestandscode, geen publieke URL. De koppeling downloadt het bestand en stuurt het mee. Een product wordt zonder het veld media_gallery_entries bijgewerkt: een lege lijst [] verwijdert volgens Adobe alle afbeeldingen uit alle store views. Meer over grote volumes in grote catalogus inladen.

Wat een standaardkoppeling hier niet doet

Akeneo levert zelf de Akeneo Connector for Adobe Commerce, een module die in Magento draait op cron. Op 3 oktober 2026 stond in de documentatie van Akeneo:

  • Eén richting. Van het PIM naar Adobe Commerce, niet terug.
  • Verwijderen gaat niet mee. Adobe Commerce blijft leidend voor verwijderen; een product dat uit Akeneo verdwijnt blijft in Magento staan.
  • Assen van het type meerkeuze, tekst of getal worden niet ondersteund.
  • Bestandsattributen komen alleen als tekstveld mee.
  • Versies. De Enterprise-connector vraagt Magento 2.4.4 of hoger en PHP 8.0 of hoger.

Omdat de module op de Magento-server draait, gebruikt hij de cron en de rekenkracht van de webshop. Een gebouwde koppeling draait buiten de webshop, volgt jouw families en assen, en legt vast wat er met een verwijderd product gebeurt.

Als het misgaat

Wat er misgaat Wat de koppeling doet Wat je ziet
Akeneo antwoordt 429 wacht het aantal seconden uit Retry-After niets, tenzij het aanhoudt
Bulkoperatie met status 2 het product gaat opnieuw mee niets, tenzij het aanhoudt
Bulkoperatie met status 3 of 5 het product op de controlelijst het product en de melding van Magento
Bulkoperatie blijft op status 4 melding na een vaste wachttijd consumers op de server draaien niet
Optiecode zonder optie in Magento optie aanmaken met de labels per store view een regel in het logboek
Attribuut niet in de attribute set het product gaat niet door de familie, de set en het attribuut
Product zonder identifier in Akeneo overgeslagen het product en de uuid

Een product dat blijft falen bewaart de koppeling met de oorspronkelijke inhoud, en na een correctie in Akeneo gaat het opnieuw mee. Voor livegang draait de koppeling als dry run tegen de testomgeving: hij laat per product en per store view zien wat hij in Magento zou aanmaken of wijzigen.

Wij hosten en bewaken de koppeling en passen hem aan als Akeneo of Magento een interface wijzigt, zoals bij een nieuwe Magento-versie. De systeemkant staat op Akeneo koppeling, de platformkant op Magento koppeling, en alle stromen op koppelingen. Verwante combinaties: Akeneo Shopify koppeling en Akeneo WooCommerce koppeling. Vertel hoeveel producten, families en store views je hebt.

Veelgestelde vragen

Werkt de koppeling met Magento Open Source en met Adobe Commerce?

Ja. Beide hebben dezelfde REST API voor producten, attributen, opties en afbeeldingen, en daar schrijft de koppeling naar. Het verschil zit in extra modules van Adobe Commerce, zoals B2B en events. Voor productdata uit Akeneo is dat niet nodig. Wel telt de versie: regulier support voor 2.4.6 is op 11 augustus 2026 gestopt.

Hoe gaan meerdere talen uit Akeneo naar Magento?

Elke locale hoort bij een store view. De koppeling schrijft de waarden per taal met een aanroep op de store code van die view, bijvoorbeeld /rest/nl/V1/products en /rest/de/V1/products. Alleen velden die per taal verschillen gaan per store view mee. Waarden zonder locale staan op het standaardniveau, zodat Magento ze overal erft.

Wat gebeurt er met een product dat we in Akeneo verwijderen?

Dat leg je vooraf vast. De gebruikelijke keuze is uitschakelen in Magento en niet wissen. De bestelhistorie blijft dan aan het product hangen. De koppeling ziet een verwijdering door de lijst producten in Akeneo te vergelijken met de producten die hij in Magento heeft aangemaakt.

Ons productmodel heeft een maat als getal. Wordt dat een configurable product?

Ja, maar niet rechtstreeks. Akeneo staat een getal of een maat met eenheid toe als as. Magento accepteert als as alleen een attribuut van het type Dropdown, Visual Swatch of Text Swatch met scope Global. De koppeling maakt van elke waarde, zoals 82 cm, een optie in Magento en gebruikt die als as.

Komen prijzen en voorraad ook uit Akeneo?

Meestal niet. Akeneo kan een prijsattribuut hebben met een bedrag per valuta, maar in de meeste landschappen is het ERP leidend voor prijs en voorraad. De koppeling uit Akeneo laat price, tier prices en de voorraad in Magento dan ongemoeid. Zie Magento Business Central koppeling voor de ERP-kant.

Hoe snel staat een wijziging uit Akeneo in Magento?

Met het Event Platform van Akeneo, op de SaaS-edities Enterprise en Growth, meldt Akeneo een gewijzigd product direct en verwerkt de koppeling het binnen enkele minuten. Op de Community Edition of PaaS vraagt de koppeling op een vast interval op welke producten sinds de vorige ronde zijn gewijzigd, bijvoorbeeld elk kwartier.

Vertel wat je nodig hebt

Vertel welke systemen je gebruikt en wat je wilt verbeteren. Je krijgt binnen één werkdag een persoonlijk antwoord. We helpen je de werkzaamheden helder te krijgen en spreken de prijs en planning af voordat je iets toezegt.

  • Je weet de prijs en de doorlooptijd voordat je iets toezegt
  • Wij zoeken uit welke koppeling het werk uit handen neemt
  • Wij verzorgen de bouw, hosting, bewaking en het onderhoud
  • Je team krijgt minder overtypwerk en minder uitzoekwerk

Leveranciers, producten, orders per dag, een ruwe schatting is prima.

Of mail direct: carsten@syncmyshop.com