Betingelser i Shopify Flow

I Shopify Flow afgør betingelser, om en handling udføres eller ej, når en udløser starter et workflow. Når du angiver en betingelse, vælger du en værdi, der tages fra data i din butik, og en logisk operator, hvorefter du manuelt angiver en værdi, der skal kontrolleres i forhold til.

Datatyper, der bruges sammen med Flow

Den første værdi i enhver Flow-betingelser er data, der hentes i din butik og udtrækkes ved hjælp af GraphQL Admin API.

Flow understøtter følgende datatyper:

  • Overførsel: Overførselsværdier er tal med en decimalværdi, f.eks. 4,25.
  • Heltal: Heltalsværdier er hele tal, der ikke har en decimalværdi, f.eks. 42.
  • Dato: Datoværdier er en numerisk angivelse af datoen, f.eks. 01012021.
  • Streng: Strengværdier er tekst. Sammenligninger ved hjælp af strengværdier skelner ikke mellem store og små bogstaver.
  • Boolesk: Booleske værdier er enten sande eller falske.
  • Fasttekst: Fasttekstværdier er datasæt, der gør det muligt for en variabel at være et sæt foruddefinerede konstanter.

Logiske operatorer, der bruges i Flow

Logiske operatorer definerer, hvordan din betingelse anvendes. Betingelser kan kontrollere enkle egenskaber, som f.eks. om en ordres samlede beløb er over et bestemt beløb, eller om en kunde accepterer markedsføring. Logiske operatorer kan også kontrollere, om der er mere komplekse egenskaber.

Flow kan bruge følgende operatorer:

Er lig med

Er lig med sammenligner værdier for at se, om de er ens. I følgende eksempel hentes værdien for order.currentTotalDiscountsSet.shopMoney.amount fra dine butiksdata og sammenlignes med den anden værdi, 50.

Eksempel på et workflow, der bruger den logiske operator

Hvis den første værdi er lig med 50, er betingelsen sand. Ordren annulleres.

Er ikke lig med

Er ikke lig med sammenligner værdier for at se, om de ikke er ens. I følgende eksempel hentes værdien for order.currentTotalDiscountsSet.shopMoney.amount fra dine butiksdata og sammenlignes med den anden værdi, 50.

Eksempel på et workflow, der bruger den logiske operator

Hvis den første værdi er lig med 93, er betingelsen sand. Ordren annulleres.

Større end og Større end eller lig med

Større end og Større end eller lig med sammenligner værdier for at se, om den første værdi er større end, eller større end eller lig med, den anden værdi. I følgende eksempel hentes værdien for order.currentTotalDiscountsSet.shopMoney.amount fra dine butiksdata og sammenlignes med den anden værdi, 50.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der er hentet fra din butik, er 137, er betingelsen sand, da 137 er større end 50. Ordren annulleres. Ordren annulleres.

Mindre end og Mindre end eller lig med

Mindre end og Mindre end eller lig med sammenligner værdier for at se, om den første værdi er mindre end, eller mindre end eller lig med, den anden værdi. I følgende eksempel hentes værdien for order.currentTotalDiscountsSet.shopMoney.amount fra dine butiksdata og sammenlignes med den anden værdi, 50.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der er hentet fra din butik, er 47, er betingelsen sand, da 47 er mindre end 50. Ordren annulleres.

Enhver af

Enhver af sammenligner værdier i en matrix af data for at se, om det første værdiinput indeholder nogen af dataene i det andet værdiinput. De værdier, der skal kontrolleres, skal angives enkeltvist efterfulgt af Enter-tasten. Hvis du bruger Enhver af på en tom matrix, medfører det en falsk vurdering. I følgende eksempel hentes værdien for order.lineitem.product.title fra dine butiksdata og sammenlignes med det andet sæt værdier: ananas, guava, kiwi.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra din butik, er guava, er betingelsen sand, da guava er inkluderet i matrixen ananas, guava, kiwi. Ordren annulleres.

Ikke nogen af

Ikke nogen af sammenligner værdier i matrix af data for at se, om det første værdiinput ikke indeholder nogen af dataene i det andet værdiinput. De værdier, der skal kontrolleres, skal angives enkeltvist efterfulgt af Enter-tasten. I følgende eksempel hentes værdien for order.lineitem.product.title fra din butiksdata og sammenlignes med det andet sæt værdier: ananas, guava, kiwi.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra din butik, er hindbær, er betingelsen sand, da hindbær ikke er inkluderet i matrixen ananas, guava, kiwi. Ordren annulleres.

Inkluderer

Inkluderer sammenligner værdier for at se, om noget det første værdiinput inkluderer dataene i det andet værdiinput. I følgende eksempel hentes værdien for order.lineitem.product.title fra dine butiksdata og sammenlignes med den anden værdi, skrot.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra dine butiksdata, er "skrotbil", er betingelsen sand, da den præcise streng "skrot" er inkluderet i strengen "skrot" er inkluderet i strengen "skrotbil". Ordren annulleres.

Inkluderer ikke

Inkluderer ikke sammenligner værdier for at se, om det første værdiinput ikke inkluderer dataene i det andet værdiinput. I følgende eksempel hentes værdien for order.lineitem.product.title fra dine butiksdata og sammenlignes med den anden værdi, skrot.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der er hentet fra dine butiksdata, er skrotmetal, så er betingelsen sand, for den præcise streng “skrot” ikke er inkluderet i strengen “skrotmetal”. Ordren annulleres.

Starter med

Starter med sammenligner værdier for at se, om den første værdi starter med dataene i den anden værdi. I følgende eksempel hentes værdien for order.shippingAddress.country fra dine butiksdata og sammenlignes med den anden værdi, Stor.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra din butik, er "Storbritannien", er betingelsen sand, fordi strengen "Storbritannien" starter med strengen "Stor". Ordren annulleres.

Starter ikke med

Starter ikke med sammenligner værdier for at se, om den første værdi ikke starter med dataene i den anden værdi. I følgende eksempel hentes værdien for order.shippingAddress.country fra dine butiksdata og sammenlignes med den anden værdi, Stor.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra din butik, er "Canada", er betingelsen sand, fordi strengen "Canada" ikke starter med strengen "Storbritannien". Ordren annulleres.

Slutter med

Slutter med sammenligner værdier for at se, om den første værdi slutter med dataene i den anden værdi. I følgende eksempel hentes værdien for order.lineitems.product.title fra dine butiksdata og sammenlignes med den anden værdi, sidst tilgængelig.

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra din butik, er "sportsstrømper senest tilgængelig", er betingelsen sand, fordi strengen "sportsstrømper senest tilgængelig" slutter med strengen "senest tilgængelig". Ordren annulleres.

Slutter ikke med

Slutter ikke med sammenligner værdier for at se, om den første værdi ikke slutter med dataene i den anden værdi. I følgende eksempel hentes værdien for order.lineitems.product.title fra dine butiksdata og sammenlignes med den anden værdi, "senest tilgængelig".

Eksempel på et workflow, der bruger den logiske operator

Hvis den værdi, der hentes fra din butik, er “sportsstrømper nye”, er betingelsen sand, fordi strengen “sportsstrømper nye” ikke slutter med strengen “senest tilgængelig”. Ordren annulleres.

Betingelser for bestilling

Du kan oprette workflows med flere betingelser, og som hver især kan medføre forskellige handlinger. Rækkefølgen af betingelserne har betydning. Kontrollen af betingelser starter først i workflowet og fortsætter derefter systematisk gennem hver betingelse. Kontrollen stopper, når en betingelse er opfyldt.

Opfyldelse af flere betingelser

Når du angiver en betingelse, kan du angive flere kriterier og bestemme, om Flow skal anse betingelsen for at være sand, hvis alle betingelser er opfyldt, eller hvis blot nogen af betingelserne er opfyldt.

Hvis alle betingelser er opfyldt

Hvis du vælger Hvis alle betingelser er opfyldt, resulterer det kun i et sandt svar, hvis alle kriterier, du har angivet, er sande.

Du kan f.eks. oprette et workflow, der tagger kunder, som befinder sig i Canada og bruger mere end 500 USD på en enkelt ordre.

Eksempel på et workflow, der bruger

Workflowet tagger kun kunden, hvis denne befinder sig i Canada og bruger mere end 500 USD på ordren. Hvis en af disse betingelser er falsk, tagges kunden ikke.

Hvis nogen betingelser er opfyldt

Hvis du vælger Hvis nogen betingelser er opfyldt, resulterer det i et sandt svar, hvis hvis et hvilket som helst af de kriterier, du har angivet, er sandt.

Du kan f.eks. oprette et workflow, der tagger ordrer, som anses for at have høj eller medium risiko.

Eksempel på et workflow, der bruger

Workflowet tagger ordren, hvis den enten har høj eller medium risiko. Ordren tagges, hvis én af disse betingelser er sand.

Sådan kombinerer du betingelser og handlinger

Du kan kombinere betingelser for at skabe én stor betingelse. Når du kombinerer betingelser, skal alle betingelser være opfyldt, for at hele betingelsen kan være sand. Hvis én af betingelserne ikke er opfyldt, er hele betingelsen falsk. I følgende eksempel skal kunden acceptere markedsføringsmateriale, og den samlede pris for ordren skal opfylde en bestemt grænse.

Eksempel på et workflow, der kontrollerer en kundes samlede forbrugsbeløb og tilføjer tags

På samme måde kan du kombinere handlinger, så der kan køre flere handlinger. Dette eksempel bruger flere betingelser til at kontrollere, om en kunde er berettiget til et loyalitetsprogram ud fra på det samlede beløb, som kunden har købt for i butikken. I eksemplet ovenfor kontrolleres følgende betingelser i den rækkefølge, de vises:

  1. Du skal tagge kunden med tagget i guld, hvis den samlede pris er over 1.000 USD, og kunden accepterer at modtage markedsføring.
  2. Du skal tagge kunden med tagget i sølv, hvis den samlede pris er under 1.000 USD men over 500 USD, og kunden accepterer at modtage markedsføring.
  3. Du skal tagge kunden med tagget i bronze, hvis kunden har købt for over 200 USD, og kunden accepterer at modtage markedsføring.

Statiske og dynamiske data i betingelser

Normalt er den anden værdi i en betingelse en statisk, manuelt indtastet værdi. Denne værdi forbliver den samme, hver gange workflowet køres.

Du kan også bruge dynamiske værdier, hvis feltet for den anden værdi viser symbolet </>. Dynamiske værdier hentes fra dine butiksdata, hver gang workflowet kører. Hvis du vil bruge en dynamisk værdi, skal du klikke på symbolet </> og vælge den værdi, du vil kontrollere i forhold til. Dynamiske værdier er ikke tilgængelige for alle felter.

Du kan f.eks. oprette et workflow, der tagger en ordre, hvis landet i ordrens faktureringsadresse matcher landet i leveringsadressen.

Eksempel på et workflow, der tagger en ordre ved hjælp af RHS-data for at kontrollere, at en kundes fakturerings- og leveringsland er det samme.

I dette eksempel hentes både den første og den anden værdi fra din butiks data, i stedet for at der manuelt angives en statisk streng, der skal kontrolleres i forhold til, for den anden værdi. Hvis landet i den faktureringsadresse, som kunden har angivet, er det samme som det land, kunden har angivet i leveringsadressen, er betingelsen sand, og ordren tagges.

Er du klar til at begynde at sælge med Shopify?

Prøv det gratis