De rules-engine is het hart van Channable. Hier wordt je ruwe productdata omgevormd tot iets wat een kanaal accepteert en waardeert. Wie de engine echt doorgrondt, schrijft rules die voorspelbaar werken in plaats van te hopen dat het goed uitpakt. Deze gids legt uit hoe rule-volgorde, condities en transformaties samenwerken, zodat je begrijpt waarom een feed doet wat hij doet en je elke uitkomst kunt sturen.

Heb je de basis van rules nog niet scherp, lees dan eerst het blog Channable feed-rules voor beginners. Deze gids gaat dieper: niet wat rules zijn, maar hoe de engine ze precies verwerkt.

01. Het mentale model van de engine

Stel je de engine voor als een lopende band. Elk product gaat er één voor één overheen, en bij elke rule wordt gekeken: geldt deze voor dit product, en zo ja, wat doet hij ermee? Aan het einde van de band rolt een transformeerde versie van het product de export in. Dat beeld verklaart alles wat volgt.

De engine schrijft geen code maar werkt met visuele blokken. Onder de motorkap komt het er toch op neer: een reeks instructies die in vaste volgorde wordt afgewerkt. Je hoeft niet te programmeren, maar je denkt wel als iemand die een proces stap voor stap ontwerpt.

02. Volgorde: de rules draaien van boven naar beneden

Dit is het belangrijkste principe en de bron van de meeste verwarring. Rules worden van boven naar beneden toegepast en elke rule werkt op het resultaat van de vorige. Een rule die een titel opbouwt moet dus boven een rule staan die diezelfde titel afkapt. Draai je die om, dan kap je een lege waarde af.

// volgorde bepaalt de uitkomst
1. build_title   // stelt de titel samen
2. clean_title   // haalt dubbele spaties weg
3. truncate_title // kapt af op 150 tekens

Een logische standaardvolgorde is: eerst opbouwen, dan opschonen, dan filteren en uitsluiten. Houd je dat aan, dan voorkom je dat een latere rule het werk van een eerdere ongedaan maakt.

03. Condities: wanneer een rule grijpt

Een conditie is de poortwachter van een rule: hij bepaalt op welke producten de rule wordt toegepast. Een conditie kan simpel zijn, zoals "voorraad lager dan 1", of samengesteld, met meerdere voorwaarden gecombineerd via en/of. Hoe scherper je conditie, hoe minder onbedoelde neveneffecten.

// rule: clearance_label
if stock > 0 and margin < 5 and season == "end":
    custom_label_0 = "opruiming"

De valkuil is een conditie die te breed selecteert en producten meeneemt die je niet bedoelde. Test daarom op een enkel product. Meer over slim filteren staat in het blog Channable conditional rules.

04. Transformaties: wat er gebeurt

Als de conditie waar is, voert de transformatie zijn actie uit. Transformaties vallen ruwweg uiteen in een paar soorten: een veld samenstellen, een waarde opschonen, een waarde vervangen, of een product uitsluiten. De meeste feeds komen ver met een handvol van deze patronen.

Wil je de exacte syntax van veelgebruikte transformaties bij de hand, dan is het blog Channable rule-syntax cheatsheet een handig naslagwerk.

05. Rules debuggen

Werkt een rule niet zoals bedoeld, dan zit de oorzaak bijna altijd in de conditie of de volgorde. Selecteert de conditie wel de juiste producten? Draait de rule op het moment dat de waarde al bestaat? Een product door de hele rule-keten volgen onthult meestal direct waar het misgaat.

Pak fouten op type aan, niet per product. Honderd meldingen "titel te lang" is één probleem: een ontbrekende of verkeerd geplaatste afkap-rule. Een praktische werkwijze staat in het blog Channable rules debuggen. Voor de bredere context van hoe rules in de feed passen, helpt de gids over feed-architectuur.

06. Herbruikbare patronen

Naarmate je meer rules schrijft, herken je terugkerende patronen. Een prijs-floor, een voorraad-cap, een uitsluiting van incomplete producten: die heb je in vrijwel elke setup nodig. Bouw ze één keer goed en hergebruik de logica.

Geef rules een vaste naamgeving en groepeer ze per functie. Een set die er na een half jaar nog leesbaar uitziet, bespaart je tijd bij elke aanpassing en maakt een overdracht eenvoudig. Hoe je dat in een grotere structuur organiseert, lees je in de gids over projecten structureren.

07. Zelf doen of uitbesteden?

De meeste rules schrijf je prima zelf zodra je het mentale model van volgorde en condities te pakken hebt. De engine is bewust toegankelijk, en oefening op je eigen feed is de beste leerschool.

Loop je tegen een transformatie aan die net buiten de standaardpatronen valt, of moet een complexe conditie precies kloppen, dan kan een ervaren blik tijd schelen. Daarvoor bestaat de feed-rules dienst voor maatwerk. Twijfel je of een specifiek geval haalbaar is met rules? Leg het voor via contact en je krijgt een eerlijk antwoord.

08. Veelgestelde vragen

Omdat rules van boven naar beneden draaien en elke rule werkt op het resultaat van de vorige. Een rule die een titel afkapt op honderdvijftig tekens moet draaien nadat de rule die de titel opbouwt klaar is, anders kap je het verkeerde stuk weg of doe je het op een nog lege waarde. De volgorde bepaalt dus letterlijk de uitkomst.

Een conditie bepaalt of een rule wel of niet wordt toegepast op een product, bijvoorbeeld alleen als de voorraad lager is dan tien. Een transformatie is wat er dan gebeurt, bijvoorbeeld een veld aanpassen of het product uitsluiten. Vrijwel elke rule combineert beide: een voorwaarde die selecteert en een actie die uitvoert.

Door een vaste opbouw aan te houden: eerst rules die velden samenstellen, dan rules die opschonen, dan rules die filteren en uitsluiten. Test bij twijfel op een enkel product en kijk wat elke stap doet. Een rule die te breed selecteert, raakt vaak producten die je niet bedoelde; een scherpere conditie lost dat op.

Ja. Rules die over alle kanalen gelijk zijn, houd je in de gedeelde laag. Een afwijking voor één kanaal regel je met een conditie die op dat kanaal selecteert, of met een laatste stap in de export van dat kanaal. Zo blijft de gedeelde logica schoon en zit het kanaal-specifieke precies op de plek waar het hoort.


Verder in de kennisbank: De architectuur van een datafeed: de complete gids · Channable-projecten structureren: de complete gids · Feed-management: de complete gids