Villkor i Shopify Flow
I Shopify Flow avgör villkoren huruvida en åtgärd vidtas när en utlösare startar ett arbetsflöde. När du ställer in ett villkor väljer du ett värde som hämtas från data i din butik, en logisk operator, och ställer manuellt in ett värde att kontrollera mot.
Datatyper som används med Flow
Det första värdet i ett Flow-villkor är data som hämtats från din butik och bygger på GraphQL Admin API.
Flow stöder följande typer av data:
- Flyttal: Flyttalsvärden är nummer med ett decimaltal. Till exempel 4,25.
- Heltal: Heltalsvärden är heltal som inte har ett decimaltal. Till exempel 42.
- Datum: Datumvärden är en numerisk representation av datumet. Till exempel 01012021.
- Sträng: Strängvärden är text. Jämförelser med strängvärden är inte skiftlägeskänsliga.
- Boolean: Boolean-värden är antingen sanna eller falska.
- Enum: Enum-värden är datauppsättningar som gör det möjligt för en variabel att vara en uppsättning fördefinierade konstanter.
Logiska operatorer som används i Flow
Logiska operatorer definierar hur ditt villkor tillämpas. Villkor kan kontrollera enkla egenskaper, till exempel om en orders totalsumma är över ett visst belopp eller om en kund godkänner marknadsföring. Logiska operatorer kan också kontrollera mer komplexa egenskaper.
Flow kan använda följande operatorer:
- Lika med
- Inte lika med
- Större än och Större än eller lika med
- Mindre än och Mindre än eller lika med
- Någon av
- Inte något av
- Inkluderar
- Ingår inte
- Börjar med
- Börjar inte med
- Slutar med
- Slutar inte med
Lika med
Lika med jämför värden för att se om de är desamma. I följande exempel hämtas värdet för order.currentTotalDiscountsSet.shopMoney.amount
från dina butiksdata och jämförs med det andra värdet, 50.
Om det första värdet är lika med 50 är villkoret sant. Ordern annulleras.
Inte lika med
Inte lika med jämför värden för att avgöra om de inte är lika. I följande exempel hämtas värdet för order.currentTotalDiscountsSet.shopMoney.amount
från dina butiksdata och jämförs med det andra värdet, 50.
Om det första värdet är lika med 93 så stämmer villkoret. Ordern är annullerad.
Större än och Större än eller lika med
Större än och Större än eller lika med jämför värden för att se om det första värdet är större än eller större än eller lika med det andra värdet. I följande exempel hämtas värdet för order.currentTotalDiscountsSet.shopMoney.amount
från dina butiksdata och jämförs med det andra värdet, 50.
Om värdet som hämtas från din butik är 137 är villkoret sant, eftersom 137 är större än 50. Ordern annulleras.
Mindre än och Mindre än eller lika med
Mindre än och Mindre än eller lika med jämför värden för att se om det första värdet är mindre än, eller mindre än eller lika med, det andra värdet. I följande exempel hämtas värdet för order.currentTotalDiscountsSet.shopMoney.amount
från dina butiksdata och jämförs med det andra värdet, 50.
Om värdet som hämtas från din butik är 47 är villkoret sant, eftersom 47 är mindre än eller lika med 50. Ordern annulleras.
Någon av
Något av jämför värdena i en uppsättning data för att se om den första värdeinmatningen innehåller något av datan i den andra värdeinmatningen. De värden som ska kontrolleras måste anges individuellt och följas av ett mellanslag. Om du använder Något av för en tom uppsättning blir bedömningen felaktig. I följande exempel hämtas värdet för order.lineitem.product.title
från dina butiksdata och jämförs med den andra uppsättningen värden: ananas, guava, kiwi.
Om värdet som hämtas från din butik är guava är villkoret sant, eftersom guava ingår i uppsättningen ananas, guava, kiwi. Ordern annulleras.
Inte något av
Inte något av jämförelsevärdena i en datauppsättning för att se om den första värdeinmatningen inte innehåller några data i den andra värdeinmatningen. De värden som ska kontrolleras måste anges separat och följas av returtangenten. I följande exempel hämtas värdet för order.lineitem.product.title
från din butiksdata och jämförs med den andra värdeuppsättningen: ananas, guava, kiwi.
Om värdet som hämtas från din butik är hallon är villkoret sant, eftersom hallon inte ingår i uppsättningen ananas, guava, kiwi. Ordern annulleras.
Inkluderar
Inkluderar jämför värden för att avgöra om någon av de första värdeinmatningarna inkluderar data i den andra värdeinmatningen. I följande exempel hämtas värdet för order.lineitem.product.title
från dina butiksdata och jämförs med det andra värdet, skrot.
Om värdet som hämtas från din butiksdata är skyskrapa är villkoret sant, eftersom den exakta strängen skrapa ingår i strängen skyskrapa. Ordern annulleras.
Ingår inte
Inkluderar inte jämför värden för att se om någon av de första värdeinmatningarna inte inkluderar data i den andra värdeinmatningen. I följande exempel hämtas värdet för order.lineitem.product.title
från din butiksdata och jämförs med det andra värdet, skrapa.
Om värdet som hämtas från din butiksdata är metallskrot är villkoret sant, eftersom den exakta strängen för metallskrot inte ingår i strängen metallskrot. Ordern annulleras.
Börjar med
Börjar med jämför värden för att se om det första värdet börjar med data i det andra värdet. I följande exempel hämtas värdet för order.shippingAddress.country
från dina butiksdata och jämförs med det andra värdet, United.
Om värdet som hämtas från din butik är Storbritannien är villkoret sant eftersom strängen Stor inleder strängen Storbritannien. Ordern annulleras.
Börjar inte med
Börjar inte med jämför värden för att se om det första värdet inte börjar med data i det andra värdet. I följande exempel hämtas värdet för order.shippingAddress.country
från dina butiksdata och jämförs med det andra värdet, United.
Om värdet som hämtas från din butik är Kanada är villkoret sant, eftersom strängen Kanada inte inleder strängen Storbritannien. Ordern annulleras.
Slutar med
Slutar med jämför värden för att se om det första värdet slutar med data i det andra värdet. I följande exempel hämtas värdet för order.lineitems.product.title
från dina butiksdata och jämförs med det andra värdet, senast-tillgängligt.
Om värdet som hämtas från din butik är sportsockor – sista tillgängliga är villkoret sant, eftersom strängen sportsockor – sista tillgängliga slutar med strängen sista tillgängliga. Ordern annulleras.
Slutar inte med
Slutar inte med jämför värden för att se om det första värdet inte slutar med data i det andra värdet. I följande exempel hämtas värdet för order.lineitems.product.title
från dina butiksdata och jämförs med det andra värdet, sista tillgängliga.
Om värdet som hämtas från din butik är "sportsockor nya" är villkoret sant, eftersom strängen "sportsockor nya" inte slutar med strängen "sista tillgängliga". Ordern annulleras.
Beställningsvillkor
Du kan skapa arbetsflöden som har flera villkor, som vart och ett kan resultera i olika åtgärder. Ordningen på villkoren är viktig. Kontrollen av villkoren börjar i början av arbetsflödet och fortsätter systematiskt genom varje villkor. Kontrollen stoppas när ett villkor är uppfyllt.
Uppfyller flera villkor
När du ställer in ett villkor kan du ställa in flera kriterier och bestämma huruvida Flow ska betrakta villkoret som sant om alla villkor uppfylls eller om något av villkoren uppfylls.
Om alla villkor uppfylls
Om du väljer Om alla villkor uppfylls får du ett sant svar endast om alla de kriterier du ställer in är sanna.
Du skapar till exempel ett arbetsflöde för att tagga kunder som befinner sig i Kanada och spenderar mer än 500 USD på en enda order.
Arbetsflödet taggar endast kunden om denne befinner sig i Kanada och spenderar mer än 500 USD i ordern. Om något av dessa villkor är falskt taggas kunden inte.
Om något av villkoren uppfylls
Om du väljer Om något av villkoren uppfylls får du ett sant svar om någon av de kriterier du ställer in är sann.
Du skapar till exempel ett arbetsflöde för att tagga ordrar som anses ha hög eller medelhög risk.
Arbetsflödet taggar ordern om den har hög eller medelhög risk. Så länge ett av dessa villkor är sant taggas ordern.
Kombinera villkor och åtgärder
Du kan sätta samman villkor för att göra ett stort villkor. När villkoren är sammanslagna måste alla villkor vara uppfyllda för att hela villkoret ska gälla. Om ett villkor inte uppfylls är hela villkoret falskt. I följande exempel måste kunden acceptera marknadsföringsmaterial och det totala priset för ordern måste uppnå ett visst tröskelvärde.
På samma sätt kan du kombinera åtgärder så att flera åtgärder kan köras. I följande exempel används flera villkor för att kontrollera om en kund är berättigad till ett lojalitetsprogram baserat på det totala belopp som har spenderats i butiken. I exemplet ovan kontrolleras följande villkor i den ordning som de visas.
- Om det totala priset är högre än 1 000 USD och kunden går med på att acceptera marknadsföring, så taggar du dem med Guld-taggen.
- Om det totala priset är mindre än 1 000 USD men mer än 500 USD och kunden går med på att acceptera marknadsföring, så taggar du dem med Silver-taggen.
- Om kunden har spenderat mer än 200 USD och kunden går med på att acceptera marknadsföring, så taggar du dem med Brons-taggen.
Statiska och dynamiska data i villkor
Vanligtvis är det andra värdet i ett villkor ett statiskt, manuellt angivet värde. Detta värde förblir detsamma varje gång arbetsflödet körs.
Du kan även använda dynamiska värden om fältet för det andra värdet visar en </>
-symbol. Dynamiska värden hämtas från din butiksdata varje gång arbetsflödet körs. För att använda ett dynamiskt värde klickar du på </>
-symbolen och väljer det värde du vill kontrollera mot. Dynamiska värden är inte tillgängliga för alla fält.
Du skapar till exempel ett arbetsflöde som taggar en order om landet i orderns faktureringsadress matchar landet i dess leveransadress.
I det här exemplet hämtas både det första och det andra värdet från din butiksdata istället för att en statisk sträng anges manuellt och kontrolleras mot det andra värdet. Om landet i faktureringsadressen som angavs av kunden är detsamma som landet som kunden angav i leveransadressen är villkoret sant och ordern taggas.