Kort antwoord
Bij een PIM-WooCommerce-koppeling beheert het PIM-systeem productcontent, attributen en variaties, het ERP-systeem prijs en voorraad en WooCommerce de winkel en orders. De koppeling werkt via de WooCommerce REST API v3, die per batchaanroep standaard maximaal 100 objecten verwerkt. Gebruik globale attributen voor filterbare kenmerken en plan de synchronisatie als delta, omdat grote catalogi de WordPress-database zwaar belasten.
Een PIM-WooCommerce-koppeling verdeelt het werk helder: het PIM-systeem levert productcontent, attributen, variaties en media, het ERP-systeem prijs en voorraad, en WooCommerce verzorgt de winkel, de checkout en de orders. De koppeling schrijft via de WooCommerce REST API v3. Het succes hangt vooral af van twee keuzes: globale attributen voor alles waarop klanten filteren, en een synchronisatie die alleen wijzigingen stuurt.
WooCommerce is een plug-in voor WordPress en daardoor populair bij het mkb in Nederland en België. Dat maakt de koppeling toegankelijk, en het maakt de prestaties afhankelijk van uw hosting en database. De algemene integratiearchitectuur staat in PIM-integraties: architectuur, API's en middleware.
Hoe ziet het productmodel van WooCommerce eruit?
WooCommerce kent producttypen zoals simple en variable. Een variable product is de container; de verkoopbare eenheden zijn variaties. Volgens de REST API-documentatie heeft elke variatie een eigen sku, regular_price en sale_price, eigen voorraadvelden (manage_stock, stock_quantity, stock_status) en één eigen afbeelding.
Kenmerken legt u vast als attributen. Een attribuut op een product heeft in de API de velden id, name, position, visible, variation en options. Met variation geeft u aan dat het attribuut variaties bepaalt, met visible dat het op het tabblad 'Extra informatie' verschijnt.
WooCommerce onderscheidt twee soorten attributen:
- Globale attributen: eenmalig aangemaakt via /products/attributes, met termen onder /products/attributes/{id}/terms. In een productaanroep verwijst u ernaar met het attribuut-ID.
- Lokale (aangepaste) attributen: alleen gedefinieerd op één product, met een naam en zonder ID.
Overige velden, zoals technische specificaties zonder filterfunctie, slaat u op als meta_data: sleutel-waardeparen op product- of variatieniveau.
Welk systeem beheert welke velden?
De verdeling hieronder past bij een organisatie met een ERP-systeem zoals Exact Online of AFAS Profit, een PIM-systeem en WooCommerce. Leg de verdeling vast in uw productdatamodel.
| Gegeven | Bronsysteem | Doel in WooCommerce |
|---|---|---|
| Artikelnummer, GTIN/EAN | ERP-systeem, verrijkt in PIM | sku (product en variatie), meta_data voor de GTIN |
| Naam, korte en lange beschrijving | PIM-systeem | name, short_description, description |
| Filterbare kenmerken (kleur, maat, materiaal) | PIM-systeem | Globale attributen met termen |
| Overige specificaties | PIM-systeem | meta_data of lokale attributen |
| Variantstructuur | PIM-systeem | Variable product met variaties |
| Productafbeeldingen | PIM- of DAM-systeem | images (product), image (variatie) |
| Categorieën | PIM-systeem | Productcategorieën |
| Prijs en voorraad | ERP-systeem | regular_price, stock_quantity |
| Thema, pagina's, menu's | WordPress | Blijft in WordPress |
| Orders en klanten | WooCommerce | Naar ERP-systeem |
Twijfelt u of een apart PIM-systeem nodig is naast de WooCommerce-catalogus, lees dan PIM of de productcatalogus van uw webshopplatform.
Welke integratiepatronen zijn er?
- Connector van de PIM-leverancier. De leverancier levert een plug-in of app die families en attributen naar WooCommerce vertaalt. Snel en voorspelbaar voor een standaardmodel.
- iPaaS of eigen middleware. Een tussenlaag verwerkt mapping, wachtrijen en foutafhandeling. Geschikt als ook ERP- en marktplaatsstromen via dezelfde laag lopen.
- Maatwerk op de REST API. Een eigen service roept de batchendpoints aan. Volledige controle, maar u beheert zelf updates van WooCommerce en WordPress.
- Bestandsimport. Een CSV-export uit het PIM-systeem met een importplug-in. Werkt bij kleine catalogi, maar geeft weinig foutterugkoppeling en geen delta-logica.
Wat de REST API technisch vraagt
De koppeling meldt zich aan met een consumer key en secret, aangemaakt onder WooCommerce, Instellingen, Geavanceerd, REST API, met lees- of schrijfrechten. Over HTTPS stuurt u die als HTTP Basic Auth; over HTTP vereist WooCommerce OAuth 1.0a.
Het batchendpoint verwerkt volgens de documentatie standaard maximaal 100 objecten per aanroep voor aanmaken, bijwerken en verwijderen samen. Dat geldt ook voor variaties onder /products/{id}/variations/batch. Lijstaanroepen zijn volgens de WordPress REST API begrensd op 100 records per pagina. Rekenvoorbeeld: 20.000 producten met gemiddeld 5 variaties betekent 200 productbatches plus 1.000 variatiebatches voor een volledige vulling.
Welke syncrichting en frequentie kiest u?
Content gaat van PIM naar WooCommerce. WooCommerce geeft alleen product- en variatie-ID's terug, die de koppeling bewaart als sleutel. Prijs en voorraad komen rechtstreeks of via de middleware uit het ERP-systeem, vaak elk kwartier of vaker. Orders gaan van WooCommerce naar het ERP-systeem.
Publiceer productcontent als delta zodra een product in het PIM-systeem is goedgekeurd. Plan volledige herlaadrondes alleen bij een datamigratie of na een wijziging in het datamodel, en voer ze buiten piekuren uit.
Hoe houdt u WooCommerce snel bij grote catalogi?
In WooCommerce is elke variatie een eigen object met een eigen ID, eigen SKU, prijs, voorraad en afbeelding. Een product met 40 variaties betekent voor de koppeling dus 41 objecten. Voor orders heeft WooCommerce met High-Performance Order Storage (HPOS) eigen databasetabellen ingevoerd, standaard aan voor nieuwe installaties sinds WooCommerce 8.2 (oktober 2023). Die wijziging betreft alleen orderdata.
Praktische maatregelen voor een koppeling met tienduizenden SKU's:
- Stuur alleen gewijzigde velden en producten, en vergelijk een hash van de payload voordat u schrijft.
- Maak globale attributen en termen eerst aan in een aparte stap, zodat productbatches alleen naar bestaande ID's verwijzen.
- Stuur afbeeldingen alleen mee als ze gewijzigd zijn, en vergelijk daarvoor een checksum in de middleware.
- Beperk het aantal parallelle batchaanroepen en meet de responstijd van uw hosting onder belasting.
- Houd het aantal variaties per product beheersbaar; een product met honderden variaties vertraagt beheer en productpagina.
Welke valkuilen ziet u in WooCommerce-koppelingen?
- Lokale attributen voor filterbare kenmerken. Filters en gelaagde navigatie werken alleen consistent met globale attributen en vaste termen.
- Termen met afwijkende schrijfwijze. 'Zwart', 'zwart' en 'ZWART' worden aparte termen. Normaliseer waardelijsten in het PIM-systeem.
- Plug-ins die productvelden overschrijven. SEO-, vertaal- en feedplug-ins schrijven soms in dezelfde metavelden. Leg per veld vast wie schrijft.
- Meertaligheid via plug-ins. Regelt u talen met een vertaalplug-in, dan bepaalt die plug-in hoe vertalingen worden opgeslagen en via welke API ze bereikbaar zijn. Stem de koppeling af op de gekozen plug-in.
- Geen foutafhandeling per object. Een batch kan gedeeltelijk slagen. Lees de respons per object uit en zet mislukte items opnieuw in de wachtrij.
Welke PIM-leveranciers hebben een WooCommerce-connector?
Volgens de geverifieerde integratiegegevens in de leveranciersprofielen noemen Plytix, Sales Layer, Ergonode, PIMworks, Catsy, 4ALLPORTAL, UnoPim en Kontainer WooCommerce als integratie. Vraag bij elke leverancier na of de connector globale attributen, variaties en meertalige plug-ins ondersteunt. Voor een kleinere organisatie helpt het artikel PIM voor het mkb bij de keuze. Het volledige overzicht staat bij de PIM-leveranciers.
Belangrijkste punten
- Laat het PIM-systeem content, attributen en variaties beheren en het ERP-systeem prijs en voorraad.
- Gebruik globale attributen met genormaliseerde termen voor alles waarop klanten filteren.
- Reken met batches van maximaal 100 objecten en pagina's van maximaal 100 records in de REST API.
- Synchroniseer als delta en plan volledige herlaadrondes buiten piekuren.
- Test prestaties met een realistische catalogus op de hosting die u in productie gebruikt.
Veelgestelde vragen
Welke API gebruikt een PIM-koppeling met WooCommerce?
De WooCommerce REST API, versie 3, bereikbaar onder /wp-json/wc/v3. U meldt de koppeling aan met een consumer key en consumer secret die u aanmaakt onder WooCommerce, Instellingen, Geavanceerd, REST API. Over HTTPS gaan die mee als HTTP Basic Auth. Producten, attributen, attribuuttermen en variaties hebben elk eigen endpoints, inclusief batchendpoints.
Wat is het verschil tussen globale en lokale attributen in WooCommerce?
Een globaal attribuut maakt u eenmalig aan onder /products/attributes, met vaste termen die u op veel producten hergebruikt. Een lokaal of aangepast attribuut bestaat alleen op één product en heeft geen ID. Voor filters, gelaagde navigatie en consistente data uit een PIM-systeem kiest u globale attributen.
Hoeveel producten kan de WooCommerce API per aanroep verwerken?
Het batchendpoint voor producten en variaties verwerkt volgens de WooCommerce-documentatie standaard maximaal 100 objecten per aanroep voor aanmaken, bijwerken en verwijderen samen. Lijstaanroepen geven per pagina maximaal 100 records terug via de parameter per_page. Een catalogus van 50.000 artikelen vraagt dus minstens 500 batchaanroepen voor een volledige vulling.
Is WooCommerce geschikt voor grote catalogi uit een PIM-systeem?
Dat kan, met de juiste hosting en een koppeling die alleen wijzigingen stuurt. Elke variatie is in WooCommerce een eigen object met een eigen ID, dus brede variantstructuren vermenigvuldigen het aantal objecten. Test de synchronisatie met een representatieve dataset, stel caching en achtergrondverwerking goed in en vermijd volledige herlaadrondes tijdens openingsuren van de webshop.