
Een WooCommerce-bestelling kan meerdere producten bevatten, maar veel workflows hebben die producten afzonderlijk nodig. Misschien wil je één rij in een spreadsheet per artikel, één CRM-record per product, of schonere gegevens voor rapportage.
In plaats van in kaart te brengen regel_items[0], regel_items[1], enzovoort handmatig, kunt u door de volledige regel_items alle producten automatisch in een array plaatsen en verwerken. In deze handleiding wordt uitgelegd hoe je dat in Bit Flows kunt doen met behulp van een Iterator.
Breng de WooCommerce in kaart regel_items Voeg de array toe aan de Bit Flows-iterator en koppel vervolgens de actie die je daarna wilt uitvoeren.
De Iterator verwerkt elk regelitem afzonderlijk, zodat een bestelling met meerdere producten afzonderlijke Google Spreadsheets-rijen, CRM-records, berichten of andere acties kan aanmaken zonder handmatige toewijzing.
Het doorlopen van WooCommerce-bestelitems betekent dat je dezelfde actie één keer uitvoert voor elke afzonderlijke productrij in een bestelling. Een bestelling met twee T-shirts en één koffiemok heeft twee regelitems, dus de lus draait twee keer. De hoeveelheid van het T-shirt is 2, maar het blijft één rij, tenzij je bewust een extra op hoeveelheid gebaseerde lus toevoegt.
| Regelitem | Hoeveelheid | Iterator wordt uitgevoerd |
| T-shirt | 2 | 1 |
| Koffiemok | 1 | 1 |
| Totaal | 3 eenheden | 2 regelitemruns |
Dit onderscheid is belangrijk omdat een regelitem-lus de vraag beantwoordt: “Hoeveel verschillende productregels zijn er in de bestelling?” Het beantwoordt niet de vraag: “Hoeveel totale eenheden zijn er gekocht?” WooCommerce levert de hoeveelheid binnen elk item zodat de volgende actie nog steeds kan zien dat er twee T-shirts zijn besteld.
Bereid deze items voor voordat u de workflow bouwt:
De aanbevolen werkstroom gebruikt drie knooppunten: WooCommerce start de stroom, Iterator breekt de line_items-array op in huidige items, en Google Spreadsheet voegt één rij toe voor elk huidig item. Je hebt geen AI Agent, Router of JSON Parser nodig voor een normale gestructureerde WooCommerce-respons.

Maak in Bit Flows een nieuwe workflow aan en voeg WooCommerce toe als trigger. Kies vervolgens de optie ‘Bij het aanmaken van een nieuwe bestelling’. Hierdoor wordt de workflow gestart telkens wanneer WooCommerce een nieuwe bestelling aanmaakt.

Voordat je verder gaat, bepaal je wanneer de stroom moet worden uitgevoerd. 'Bij het aanmaken van een nieuwe bestelling' wordt geactiveerd zodra een bestelling wordt geplaatst, wat bij de meeste afrekenprocessen is terwijl de bestelling nog in afwachting is van betaling.
Open de trigger en klik Luister Reactie. Bit Flows blijft ongeveer drie minuten wachten op de volgende opdracht.

Terwijl het luistert, open je winkel in een apart tabblad en plaats een testbestelling. Voeg ten minste twee verschillende producten toe aan de winkelwagen, ga daarna verder met het afrekenen en voltooit de bestelling. Het gebruik van meerdere producten helpt je te zien hoe de lus meer dan één item binnen dezelfde bestelling afhandelt en verwerkt.

Zodra de bestelling binnenkomt, registreert Bit Flows het antwoord. Je ziet dan de bestelgegevens, waaronder de order_id en een orderobject dat de facturatiegegevens, totalen en de regel_items array.

Klik op het pluspictogram na de trigger en voeg de Iterator-tool toe. Wijs in het veld Array de order toe regel_items van de WooCommerce-trigger. Map line_items, niet line_items[0].

Na een testrun vouwt u de Iterator-uitvoer uit en ziet u de velden voor producten: product_id, product_naam, hoeveelheid, subtotaal, totaal, product_sku, product_eenheidsprijs, en nog meer. Dit zijn de velden die u naar de spreadsheet zendt. Gebruik de exact getoonde velden uit uw eigen opgeslagen reactie, aangezien deze per winkelinstelling kunnen variëren.

Maak in Google Spreadsheets een spreadsheet en voeg een koptekst toe. Gebruik hier de velden die u wilt bijhouden, zoals bestelgegevens, klantinformatie, productgegevens, betalingsinformatie en de bestelstatus.
Voeg na de Iterator Google Sheets toe en kies Rij toevoegen.
Om Google Sheets te koppelen aan Bit Flows, ga je naar Google cloudconsole, schakel de Google Drive API en de Google Sheets API in, configureer het OAuth-toestemmingsscherm en maak een OAuth-webapplicatie aan met behulp van de door Bit Flows verstrekte „Authorized JavaScript Origin“ en „Redirect URI“. Kopieer vervolgens de gegenereerde Client ID en Client Secret en plak deze in de verbindingsvelden van Bit Flows. Volg voor de volledige installatie de officiële Google Spreadsheets-integratiehandleiding.
Selecteer uw Google-verbinding, het spreadsheet en het tabblad. Wijs vervolgens elke kolom toe. Zorg ervoor dat de scheiding duidelijk is. Velden op orderniveau komen van de WooCommerce-trigger en velden op productniveau komen van de Iterator:

Voor Klantnaam gebruikt u Gemengde Invoer zodat u twee velden in één kolom kunt combineren, zoals factuur_voornaam en factuur_achternaam. Menginvoer hiermee kun je statische tekst en meer dan één waarde in één doelveld plaatsen, terwijl een normale koppeling één waarde doorgeeft.
Wijs Besteltotaal toe aan het besteltotaal van de trigger, niet aan een regelitemtotaal. Elke rij van dezelfde bestelling toont dan de volledige bestelwaarde. Die waarde herhaalt zich op elke productrij volgens het ontwerp, dus behandel deze als een label, niet als een getal om op te tellen. Als u in plaats daarvan omzet per product wilt, voeg dan een kolom Regelstotaal toe en wijs deze toe aan het totaal van het huidige item uit de Iterator, die al rekening houdt met de hoeveelheid.
Voer de stroom uit en plaats vervolgens een testbestelling met verschillende producten om te bewijzen dat de lus werkt.
De Iterator verwerkt elk product in die bestelling, en Rij toevoegen schrijft één rij per product. Een bestelling met drie producten levert drie rijen op, elk met een eigen productnaam, hoeveelheid en prijs, terwijl de velden op bestellingsniveau hetzelfde blijven voor al die rijen.

Dat is precies het hele punt van de lus: één bestelling met meerdere producten verandert in afzonderlijke, bruikbare productrecords, zonder dat je ooit handmatig line_items[0], line_items[1], enzovoort hoeft te selecteren.
Het koppelen van line_items[0] in plaats van line_items. Dit stuurt alleen het eerste product naar de sheet. Koppel de volledige line_items-array aan de Iterator zodat elk product wordt verwerkt.
Er wordt één rij per eenheid verwacht. Een hoeveelheid van 3 is nog steeds één artikel en één rij. Als je echt één rij per eenheid nodig hebt, zou je een tweede lus moeten toevoegen op basis van de hoeveelheid, maar dat is voor de meeste winkels niet nodig.
Het totaalbedrag van de bestelling geeft een verkeerd bedrag weer. Als in de kolom ‘Totaalbedrag bestelling’ de prijs van het eerste product wordt weergegeven, of als in elke rij van een grote bestelling steeds dezelfde lage waarde staat, is deze gekoppeld aan het totaal van een afzonderlijke regel in plaats van aan het totaalbedrag van de bestelling. Koppel deze vanuit de trigger aan het totale orderbedrag. Voor omzet per product voegt u een kolom ‘Regeltotaal’ toe die is gekoppeld aan het totaal van het huidige artikel uit de Iterator.
Gebruik de aanmaaktrigger voor een overzicht van betaalde verkopen. De trigger ‘Nieuwe order aangemaakt’ wordt geactiveerd vóór de betaling, waardoor het overzicht ook bestellingen kan bevatten die nog in behandeling zijn of zijn geannuleerd. Gebruik de trigger ‘Orderstatus ingesteld op In behandeling of Voltooid’ als je alleen betaalde bestellingen wilt weergeven.
De Iterator is een hulpmiddel dat een lijst item voor item verwerkt. Je geeft de array met bestelregels als invoer, en het voert de volgende actie één keer uit voor elk product in die array. Omdat het de volgende stap product voor product doorgeeft, kun je de velden van dat product rechtstreeks toewijzen aan een rij in een spreadsheet.
Een verduidelijking om verwarring later te voorkomen: de Iterator wordt één keer per productrij uitgevoerd, niet één keer per eenheid. Als een klant drie exemplaren van dezelfde telefoon koopt, is dat nog steeds één artikelregel en één rij, met een hoeveelheid van 3. Er worden geen drie rijen aangemaakt.
Zodra de Iterator is gekoppeld aan WooCommerce regel_items array, wordt de rest van de workflow een stuk eenvoudiger te beheren. Je kunt elk product naar Google Sheets of een andere gekoppelde actie sturen, terwijl de bijbehorende bestelgegevens erbij blijven.
Dit is met name handig wanneer je automatisering gestructureerde productgegevens nodig heeft in plaats van één gebundelde WooCommerce-bestelling.
WooCommerce orderregelitems zijn de afzonderlijke productrijen in een bestelling, met velden zoals product-ID, variatie-ID, hoeveelheid, subtotaal, btw en totaal.
Gebruik Bit Flows: voeg een WooCommerce-trigger toe, geef de array met orderregels door aan een Iterator, voeg vervolgens een actie toe, en deze wordt één keer per product uitgevoerd zonder PHP.
Het maakt één rij per productlijn, niet per stuk, dus een hoeveelheid van drie is nog steeds één enkel regelitem met een aantalswaarde van drie.
Gebruik On New Order Create om elke bestelling bij het aanmaken vast te leggen, of Order Status Set to Processing of Completed wanneer u alleen betaalde bestellingen wilt registreren.
Ja, na de Iterator kun je elke Bit Flows-actie toevoegen, zodat dezelfde lus CRM-records kan aanmaken, e-mails kan versturen of berichten kan plaatsen, één per product.
Nee, wanneer line_items als een gestructureerde array binnenkomt, heb je alleen de Iterator nodig, aangezien JSON Parser voor ruwe JSON-tekst is en een AI Agent onnodig is voor een vaste mapping.
Ja, de WooCommerce-trigger, de Iterator en de Google Sheet-actie zijn allemaal inbegrepen in het gratis Bit Flows-abonnement, dus de workflow werkt zonder dat je een betaalde upgrade nodig hebt.
