Uitleg over voorwaarden in Shopify Flow
Een voorwaarde is een stap in een workflow waarin een beslissing wordt genomen over hoe verder te gaan, op basis van of aan een reeks criteria is voldaan. Elke voorwaardestap heeft twee mogelijkheden: Waar, als aan de criteria is voldaan, en Onwaar als niet aan de criteria is voldaan. Als je geen volgende stap definieert voor een van de mogelijkheden door een andere voorwaarde of actie te kiezen, stopt de workflow-run.
Als je workflow bijvoorbeeld wordt getriggerd wanneer een bestelling wordt aangemaakt, kan een voorwaarde controleren of een specifieke kortingscode AFFILIATE10 is gebruikt voor de bestelling. Als dat zo is, kan de optie Waar leiden tot een actie die een e-mail naar de affiliate stuurt om te laten weten dat de code is gebruikt. Als dat niet zo is, kan de optie Onwaar leeg zijn, wat aangeeft dat er verder niets gebeurt en de workflow-run eindigt.
Een workflow kan een willekeurig aantal voorwaarden hebben, afhankelijk van de complexiteit van je workflow. Voorwaarden kunnen ook aan andere voorwaarden of acties worden gekoppeld, afhankelijk van wat je wilt dat de workflow doet. Voorwaarden kunnen worden ingesteld om na elkaar te worden gekoppeld (bijvoorbeeld: als voorwaarde A waar is, controleer dan voorwaarde B; als A onwaar is, controleer dan C), of je kunt ze instellen om tegelijkertijd als onderdeel van dezelfde stap te plaats te vinden (bijvoorbeeld: controleer of A of B of C waar is).
Op deze pagina
Voorwaarden voor je workflow opstellen
In tegenstelling tot een trigger of een actie, die je kunt selecteren uit een vooraf ingestelde lijst met beschikbare opties in Shopify Flow, worden voorwaarden van de grond af opgebouwd door variabelen, logische operatoren en waarden te selecteren om de voorwaardelijke verklaring te creëren:
- Een variabele is een tijdelijke aanduiding die de gegevens definieert die de voorwaarde gebruikt. Als een voorwaarde bijvoorbeeld een specifieke kortingscode voor een bestelling wil controleren, is de variabele
order.discountCode. Variabelen gebruiken GraphQL Admin API-puntnotatie. - Een logische operator geeft aan hoe de workflow moet bepalen of aan de voorwaarde is voldaan. Logische operatoren kunnen van toepassing zijn op het variabeleniveau, of wanneer meerdere variabelen zijn opgenomen als onderdeel van de algemene voorwaardecriteria:
- Opties op variabeleniveau zijn onder meer operatoren op veldniveau, zoals Groter dan of Begint met, of lijstoperatoren, zoals Ten minste één van of Alle van.
- Opties op voorwaardeniveau zijn onder meer AND, wat betekent dat alle variabelen waar moeten zijn om de voorwaarde als geheel als waar te beschouwen, of OR, wat betekent dat ten minste één variabele waar moet zijn om de voorwaarde als geheel als waar te beschouwen.
- Een waarde is de daadwerkelijke informatie waarnaar de variabele op zoek is. Als de specifieke
order.discountCodedie je door de workflow wilt laten controleren bijvoorbeeld AFFILIATE10 is, dan is dat de waarde die je als onderdeel van de voorwaarde moet opnemen.
Terwijl je je variabelen en operatoren selecteert, wordt de voorwaardestap op het Shopify Flow-canvas bijgewerkt om je voorwaardelijke verklaring in gewone taal weer te geven, zodat je kunt dubbelchecken of de voorwaarde die je bouwt correct is opgemaakt. Je kunt op Beschrijving toevoegen klikken om de standaard voorwaardelijke verklaring te overschrijven met je eigen geschreven beschrijving.
Meer gedetailleerde informatie over elementen van voorwaarden in Shopify Flow.
Uitleg over variabelen in voorwaarden
Bij het opstellen van een voorwaardestap in een workflow is de eerste stap die je wordt gevraagd te zetten Een variabele toevoegen. Maar wat is een variabele?
In Shopify Flow is een variabele een tijdelijke aanduiding die de gegevens aangeeft die door de voorwaarde in de workflow worden gebruikt. Wanneer een voorwaarde luidt ‘Als A groter is dan 10...’, is het A-gedeelte de variabele. Het kiezen van een variabele voor een voorwaarde is in wezen de voorwaarde specifiek vertellen welke gegevens moeten worden geëvalueerd.
Variabelen worden opgemaakt met de GraphQL Admin API-puntnotatie. Je hoeft niet vaardig te zijn met de API om workflows te maken met de Flow-app, maar een basiskennis van variabelenamen en hun definities kan je helpen de specifieke workflowlogica te bouwen die je wilt.
Houd rekening met de volgende informatie over variabelen om te begrijpen welke gegevens een variabele vertegenwoordigt:
- Hoe je de puntnotatie voor variabelen leest.
- Gegevensvereisten voor variabelen begrijpen.
- De juiste variabele vinden tijdens een zoekopdracht.
Tip: Hulp krijgen bij variabelen van de Dev Docs Assistant
Als je niet zeker weet welke variabele je moet selecteren bij het bouwen van je voorwaarde, overweeg dan om de Shopify Dev Docs Assistant om advies te vragen. De Dev Docs Assistant heeft toegang tot alle documentatie over de GraphQL Admin API en kan suggesties geven voor het opmaken van een voorwaarde in Shopify Flow:
- Ga naar Shopify Dev Docs.
- Klik op Assistent vragen om het chatpaneel te openen.
- Voer je aanvraag in het berichtenveld in, bijvoorbeeld: Welke variabele moet ik gebruiken in Shopify Flow als ik toegang wil tot de klanttaggegevens wanneer mijn trigger 'Bestelling aangemaakt' is?
- Druk op Enter of klik op
.
Puntnotatie van variabelen lezen
Wanneer je variabelen selecteert, zie je dat ze zijn opgemaakt als trefwoorden die worden gescheiden door punten, zoals order.customer.tag. Deze notatie geeft de stappen aan die de API neemt om bij de gegevens te komen die je wilt gebruiken. Elke ‘stap’ van een variabele wordt gescheiden door een punt en het pad naar de gegevens wordt van links naar rechts gelezen. Variabelen kunnen in lengte verschillen, afhankelijk van waar de gegevens in de API zijn opgeslagen en het pad dat de workflow neemt om er te komen.
Bijvoorbeeld:
order.email: controleert het e-mailadres dat is gekoppeld aan de klant van de bestelling. Dit is vergelijkbaar met hoe je op een bestelling kunt klikken en vervolgens het e-mailadres kunt controleren in de bestelgegevens.refunds_item.staffMember.name: controleert de bestelling op een terugbetaling van een artikel, gaat naar de gegevens van de medewerker die aan die terugbetaling is gekoppeld en controleert de volledige naam van die medewerker.
Bedenk bij het kiezen van een variabele hoe je in het Shopify-beheercentrum zou navigeren om de gewenste informatie te vinden. Het is waarschijnlijk dat de API een vergelijkbaar pad moet volgen, wat je kan helpen bepalen hoe je variabele wordt opgemaakt.
Als je bijvoorbeeld een nieuwe bestelling bekijkt en wilt weten in welke RFM-groep de klant van die bestelling zit, dan klik je misschien op de klantnaam in de bestelling om te worden doorgestuurd naar de klantgegevenspagina in het Shopify-beheercentrum. Vervolgens kun je het analytics-overzicht van de klant controleren om te zien welke waarde in de kolom RFM-groep wordt weergegeven.
De variabele die je zou gebruiken om dezelfde gegevens in Shopify Flow te retourneren, zou een vergelijkbaar pad gebruiken: order.customer.statistics.rfmGroup.
Gegevensvereisten voor variabelen
Variabelen hebben gegevens nodig. Als de juiste gegevens niet beschikbaar zijn voor de variabele, werkt de voorwaarde niet en mislukt de workflow. Afhankelijk van welke trigger je hebt geselecteerd als het begin van je workflow, veranderen de opties voor variabelen die je aan je voorwaarden kunt toevoegen, zodat ze de mogelijke opties op basis van de beschikbare gegevens weerspiegelen.
Als je workflow bijvoorbeeld begint met de trigger Product aangemaakt, dan zijn de voorwaarden die je op basis van die trigger aanmaakt beperkt tot de variabelen die beschikbaar zijn in de product-dataset. Daarom zijn variabelen zoals product.category.name, product.vendor en variants_item.displayName allemaal beschikbaar om als onderdeel van de voorwaarde te gebruiken. Variabelen zoals customer.verifiedEmail of subscriptionContracts_item.status worden daarentegen niet als opties weergegeven, omdat die niet aan de product-dataset zijn gekoppeld.
Dit betekent echter niet noodzakelijkerwijs dat gegevens in andere datasets volledig ontoegankelijk zijn. Sommige gegevens zijn toegankelijk via meerdere paden in de API, op dezelfde manier waarop je in het Shopify-beheercentrum via verschillende links kunt doorklikken om dezelfde pagina te bereiken. In de praktijk betekent dit dat verschillende triggers een verschillende notatie van variabelen vereisen om dezelfde informatie te retourneren.
Je wilt bijvoorbeeld dat je workflow de tags op het profiel van een klant controleert. Als je workflow begint met de trigger Bestelling aangemaakt, is de variabele order.customer.tags. De workflow begint namelijk met de bestelgegevens, controleert vervolgens de klantinformatie in de bestelling en controleert dan de tags van die klant. Als je workflow begint met de trigger Klant aangemaakt, is de variabele gewoon customer.tags, omdat de workflow begint met de klantgegevens en dus direct de tags op het klantprofiel kan controleren.
Het pad van een variabele controleren wanneer je zoekt op trefwoorden
Door de puntnotatie in Shopify Flow kan het zoeken naar variabelen voor een voorwaarde op trefwoorden meerdere resultaten opleveren. Het is belangrijk dat je begrijpt wat het pad van de variabele aangeeft om te bepalen welke variabele je kiest bij het opbouwen van je voorwaarde.
Je workflow gebruikt bijvoorbeeld de trigger Bestelling aangemaakt en je zoekt naar een variabele met het trefwoord tags. Je zoekopdracht kan de volgende resultaten opleveren, die verschillende informatie in de bestelling controleren:
order.tags: de tags die op de bestelling zelf zijn toegepast. Bijvoorbeeld #spoedbestelling of #cadeau.order.customer.tags: de tags die zijn toegepast op de klant die de bestelling heeft geplaatst. Bijvoorbeeld #VIP of #affiliate.order.lineItems.product.tags: de tags die zijn toegepast op de producten die in de bestelling zijn gekocht. Bijvoorbeeld #breekbaar of #IDverplicht.
Afhankelijk van het type tags waarop je de workflow wilt laten controleren, moet je de juiste variabele selecteren zodat je voorwaarde werkt zoals verwacht.
Uitleg van logische operatoren in voorwaarden
Logische operatoren bepalen hoe je voorwaarde wordt toegepast en zorgen ervoor dat een bewering 'waar' of 'onwaar' is. Wanneer een voorwaarde luidt: ‘Als A groter is dan 10...’, is het gedeelte is groter dan de logische operator. Door een logische operator voor een voorwaarde te kiezen, vertel je de voorwaarde in feite hoe de variabele geëvalueerd moet worden.
In Shopify Flow-workflows zijn er 3 soorten logische operatoren:
- Operatoren op veldniveau, zoals Groter dan of Begint met.
- Lijstoperatoren, zoals Minstens een van of Alle.
- Operatoren op voorwaardeniveau, zoals EN of OF.
Operatoren op veldniveau en lijstoperatoren zijn van toepassing op het variabeleniveau. Operatoren op voorwaardeniveau zijn van toepassing op de algehele voorwaarde en kunnen worden gebruikt om meerdere variabelen in één voorwaarde te combineren.
Operatoren op veldniveau zijn de meest voorkomende operatoren en worden in elk type variabele-instructie gebruikt. Met operatoren op veldniveau kun je voorwaardelijke instructies aanmaken zoals ‘Als A groter is dan 10, voer dan X uit’ of ‘Als B 'VIP' bevat, voer dan X uit’ om meer controle te hebben over welke waarden van een variabele een 'waar'-resultaat opleveren. Gelijk aan is de standaard logische operator.
Lijstoperatoren kunnen alleen worden toegepast op variabelen die een lijst met resultaten kunnen retourneren. De variabele lineItems_item.variant.price retourneert bijvoorbeeld de prijs voor een productvariant in de bestelling. Deze kan een lijst met resultaten retourneren wanneer de klant meerdere producten in dezelfde bestelling heeft gekocht. Dit betekent dat je een lijstoperator zoals Minstens een van kunt toepassen. Hierdoor wordt een voorwaardelijke instructie zoals ‘lineItems_item.variant.price is groter dan $ 10’ 'waar' als er minstens één productvariant in de bestelling meer dan $ 10 kost. Lijstoperatoren worden daarentegen niet weergegeven voor variabelen die maar één resultaat per keer kunnen retourneren. Er is bijvoorbeeld maar één mogelijke waarde voor een variabele zoals order.createdAt, omdat een bestelling maar één keer kan worden aangemaakt. Daarom worden lijstoperatoren niet als opties weergegeven om de instructie met die variabele aan te passen.
Met operatoren op voorwaardeniveau, zoals AND en OR, kun je meerdere variabelen in dezelfde voorwaarde opnemen. In plaats van een eenvoudige voorwaarde zoals ‘Als A gelijk is aan 5, doe dan X’, kun je bijvoorbeeld complexere voorwaarden opstellen zoals ‘Als A gelijk is aan 5 en B groter is dan 10, doe dan X’, waarbij zowel variabele A als B waar moet zijn. Of ‘Als A gelijk is aan 5 of B groter is dan 10 of C kleiner is dan 1, doe dan X’, waarbij het voldoende is als slechts één van de variabelen A, B of C waar is. Gebruik AND wanneer alles in een workflow waar moet zijn. Gebruik OR wanneer het voldoende is als aan één criterium wordt voldaan om de voorwaarde waar te laten zijn.
Waarom dit belangrijk is: Als je begrijpt hoe logische operatoren in voorwaarden werken, kun je workflows opstellen die precies de criteria controleren die jij wilt. Met de drie soorten logische operatoren kun je gedetailleerde en complexe voorwaarden opstellen om workflows aan te maken die controleren op zeer specifieke voorwaarden.
Meer gedetailleerde informatie over logische operatoren in voorwaarden.