Betingelser i Shopify Flow

I Shopify Flow avgjør betingelser hvorvidt en handling utføres eller ikke etter at en utløser starter en arbeidsflyt. Når du angir en betingelse velger du en verdi hentet fra data i butikken, en logisk operatør og manuelt angir en verdi det skal kontrolleres mot.

Datatyper som brukes med Flow

Den første verdien i en Flow-betingelse er data hentet fra butikken din, og hentes fra GraphQL Admin API.

Flow støtter følgende typer data:

  • Flyt: Flytverdier er tall med et desimalbeløp. For eksempel 4,25.
  • Integer: Heltallsverdier er heltall som ikke har desimaler. For eksempel 42.
  • Dato: Datoverdier er en numerisk representasjon av datoen. For eksempel 01012021.
  • Streng: Strengverdier er tekst. Sammenligninger som bruker strengverdier skiller ikke mellom små og store bokstaver.
  • Boolsk: En boolsk verdi er enten sann eller usann.
  • Enum: Enum-verdier er datasett som tillater at en variabel kan bestå av et sett forhåndsdefinerte konstanter.

Logiske operatører som brukes i Flow

Logiske operatører definerer hvordan betingelsen din brukes. Betingelser kan sjekke enkle egenskaper, for eksempel hvorvidt totalsummen for en bestilling er over et bestemt beløp, eller om en kunde godtar markedsføring. Logiske operatører kan også se etter mer kompliserte egenskaper.

Flow kan bruke følgende operatører:

Tilsvarer

Lik sammenligner verdier for å se om de er like. I det følgende eksempelet hentes verdien for order.currentTotalDiscountsSet.shopMoney.amount fra butikkdataene dine og sammenlignes med den andre verdien, 50.

Et eksempel på en arbeidsflyt som bruker lik-operatøren for å kansellere en bestilling hvis de hentede opplysningene er lik 50

Hvis den første verdien tilsvarer 50, er betingelsen sann. Bestillingen kanselleres.

Tilsvarer ikke

Tilsvarer ikke sammenligner verdier for å se om de er like eller ikke. I følgende eksempel hentes verdien order.currentTotalDiscountsSet.shopMoney.amount fra butikkdataene, og sammenlignes med den andre verdien 50.

Eksempel på en arbeidsflyt som bruker en ikke lik logisk operatør for å kansellere en bestilling hvis de hentede dataene ikke er lik 50

Hvis den første verdien tilsvarer 93, er betingelsen sann. Bestillingen kanselleres.

Større enn og Større enn eller lik

Større enn og Større enn eller lik sammenligner verdier for å se om den første verdien er større enn, eller større enn eller lik, den andre verdien. I følgende eksempel hentes verdien order.currentTotalDiscountsSet.shopMoney.amount fra butikkdataene, og sammenlignes med den andre verdien 50.

Eksempel på en arbeidsflyt som bruker den logiske operatøren større enn til å kansellere en bestilling hvis de hentede dataene er større enn 50

Hvis verdien som hentes fra butikken er 137, er betingelsen sann, fordi 137 er større enn 50. Bestillingen kanselleres.

Mindre enn og Mindre enn eller lik

Mindre enn og Mindre enn eller lik sammenligner verdier for å se om den første verdien er mindre enn, eller mindre enn eller lik, den andre verdien. I det følgende eksempelet hentes verdien for order.currentTotalDiscountsSet.shopMoney.amount fra butikkdataene dine og sammenlignes med den andre verdien, 50.

Et eksempel på en arbeidsflyt som bruker den logiske mindre enn eller lik-operatøren for å kansellere en bestilling hvis de hentede opplysningene er mindre enn eller lik 50

Hvis verdien som er hentet fra butikken din er 47, er betingelsen sann, fordi 47 er mindre enn eller lik 50. Bestillingen blir kansellert.

Hvilken som helst av

Hvilken som helst av sammenligner verdier i en matrise med data for å se om den første verdien inneholder noen av dataene i den andre verdien. Verdiene som skal kontrolleres må angis individuelt, og etterfølges av Enter-tasten. Hvis Hvilken som helst av brukes i en tom matrise fører det til en falsk evaluering. I følgende eksempel hentes verdien for order.lineitem.product.title fra butikkdataene, og sammenlignes med det andre settet med verdier: ananas, guava, kiwi.

Eksempel på en arbeidsflyt som bruker en logisk operatør for å kansellere en bestilling hvis de innhentede dataene inkluderer ananas, guava eller kiwi

Hvis verdien som hentes fra butikken din er guava, er betingelsen sann, fordi guava er inkludert i matrisen ananas, guava, kiwi. Bestillingen blir kansellert.

Ingen av

Ingen av sammenligner verdier i en matrise med data for å se om den første verdien ikke inneholder noen av dataene i den andre verdien. Verdiene som skal kontrolleres må angis individuelt og etterfølges av Enter-tasten. I det følgende eksempelet hentes verdien for order.lineitem.product.title fra butikkdataene og sammenlignes med det andre settet med verdier: ananas, guava, kiwi.

Et eksempel på en arbeidsflyt som bruker den logiske ingen av-operatøren for å kansellere en bestilling hvis de hentede opplysningene ikke inneholder ananas, guava eller kiwi

Hvis verdien som hentes fra butikken er bringebær, er betingelsen sann, fordi bringebær ikke er inkludert i matrisen ananas, guava, kiwi. Bestillingen blir kansellert.

Inkluderer

Inkluderer sammenligner verdier for å se om noe av teksten i den første verdien inneholder teksten i den andre verdien. I følgende eksempel hentes verdien order.lineitem.product.title fra butikkdataene, og sammenlignes med den andre verdien, scrape.

Eksempel på en arbeidsflyt som bruker den logiske operatøren inkluderer til å kansellere en bestilling hvis de hentede dataene inkluderer strengens forvelgelse

Hvis verdien som hentes fra butikken er skyscraper, er betingelsen sann, fordi den nøyaktige strengen scrape er inkludert i strengen skyscraper. Bestillingen blir kansellert.

Inkluderer ikke

Inkluderer ikke sammenligner verdier for å se om noe av teksten i den første verdien ikke inneholder teksten i den andre verdien. I følgende eksempel hentes verdien for order.lineitem.product.title fra butikken, og sammenlignes mot den andre verdien, scrape.

Et eksempel på en arbeidsflyt som bruker den logiske inneholder ikke-operatøren for å kansellere en bestilling hvis de hentede opplysningene ikke inneholder strengen scrape

Hvis verdien som hentes fra butikkdataene er scrap-metal, er betingelsen sann, fordi den presise teksten scrape ikke er inkludert i strengen scrap-metal. Bestillingen blir kansellert.

Begynner med

Begynner med sammenligner verdier for å se om den første verdien starter med teksten fra den andre verdien. I følgende eksempel hentes verdien order.shippingAddress.country fra butikkdataene, og sammenlignes med den andre verdien, United.

Eksempel på en arbeidsflyt som bruker den logiske operatøren starter med for å kansellere en bestilling hvis de hentede dataene starter med strengen United

Hvis verdien som hentes fra butikken er United Kingdom, er betingelsen sann, fordi strengen United er begynnelsen på strengen United Kingdom. Bestillingen blir kansellert.

Begynner ikke med

Begynner ikke med sammenligner verdier for å se om den første verdien ikke starter med teksten i den andre verdien. I følgende eksempel hentes verdien order.shippingAddress.country fra butikkdataene, og sammenlignes med den andre verdien, United.

Et eksempel på en arbeidsflyt som bruker den logiske begynner ikke med-operatøren for å kansellere en bestilling hvis de hentede opplysningene ikke begynner med strengen United

Hvis verdien som hentes fra butikken er Canada, er betingelsen sann, fordi strengen Canada ikke er begynnelsen på strengen United Kingdom. Bestillingen blir kansellert.

Slutter med

Slutter med sammenligner verdier for å se om den første verdien slutter med teksten fra den andre verdien. I følgende eksempel hentes verdien order.lineitems.product.title fra butikkdataene, og sammenlignes med den andre verdien, last-available.

Et eksempel på en arbeidsflyt som bruker den logiske slutter med-operatøren for å kansellere en bestilling hvis de hentede opplysningene slutter med strengen last-available

Hvis verdien som hentes fra butikken er athletic socks last-available, er betingelsen sann, fordi strengen athletic socks last-available slutter med strengen last-available. Bestillingen blir kansellert.

Slutter ikke med

Slutter ikke med sammenligner verdier for å se om den første verdien ikke slutter med dataene i den andre verdien. I følgende eksempel hentes verdien order.lineitems.product.title fra butikkdataene, og sammenlignes mot den andre verdien, last-available.

Eksempel på en arbeidsflyt som bruker den logiske operatøren slutter ikke med for å kansellere en bestilling hvis de hentede dataene ikke slutter med strengen last-available

Hvis verdien som hentes fra butikken er athletic socks new, er betingelsen sann fordi strengen athletic socks new ikke slutter med strengen last-available. Bestillingen blir kansellert.

Bestillingsbetingelser

Du kan opprette arbeidsflyter med flere betingelser, og hver av dem kan resultere i ulike handlinger. Rekkefølgen på betingelsene er viktig. Kontrollen for betingelser starter i begynnelsen av arbeidsflyten, og fortsetter systematisk gjennom hver betingelse. Kontrollen stopper når en betingelse oppfylles.

Oppfylle flere betingelser

Når du angir en betingelse kan du angi flere kriterier, og avgjøre om Flow skal vurdere betingelsen som sann hvis alle betingelsene er oppfylt, eller hvis noen av betingelsene er oppfylt.

Hvis alle betingelser er oppfylt

Hvis du velger Hvis alle betingelser er oppfylt får du bare et sant svar hvis alle betingelser som er angitt er sanne.

Du oppretter for eksempel en arbeidsflyt som tagger kunder som er lokalisert i Canada og bruker mer enn 500 USD på en enkeltbestilling.

Et eksempel på en arbeidsflyt som bruker og-betingelsen

Arbeidsflyten tagger bare kunden hvis kunden er lokalisert i Canada og bruker mer enn 500 USD i en bestilling. Hvis noen av disse betingelsene er usanne, tagges ikke kunden.

Hvis noen av betingelsene er oppfylt

Hvis du velger Hvis noen av betingelsene er oppfylt, fører det til en sann respons hvis noen av betingelsene du angir er sanne.

Du oppretter for eksempel en arbeidsflyt for å tagge bestillinger som vurderes som høy eller middels risiko.

Eksempel på en arbeidsflyt som bruker betingelsen eller

Arbeidsflyten tagger bestillingen hvis den er enten høy eller medium risiko. Så lenge en av disse betingelsene er sanne, blir bestillingen tagget.

Kombinere betingelser og handlinger

Du kan kombinere betingelser for å skape én stor betingelse. Når betingelser kombineres må alle betingelsene være oppfylt for at hele betingelsen skal være sann. Hvis noen av betingelsene ikke er oppfylt, er hele betingelsen usann. I følgende eksempelet må kunden godta markedsføringsmateriell, og totalprisen for bestillingen må være større enn en gitt terskel.

Et eksempel på en arbeidsflyt som sjekker en kundes totalforbruk og legger til tagger

På samme måte kan du kombinere handlinger slik at du kan kjøre flere handlinger samtidig. Dette eksemplet bruker flere betingelser for å sjekke om en kunde er kvalifisert for et lojalitetsprogram basert på det totale beløpet de har brukt i butikken. I eksempelet ovenfor kontrolleres følgende betingelser i den rekkefølgen de vises:

  1. Hvis totalsummen er større enn 1000 USD og kunden godtar markedsføring, gir du dem Gold-taggen.
  2. Hvis totalbeløpet er under 1000 USD, men mer enn 500 USD og kunden godtar markedsføring, gir du dem Silver-taggen.
  3. Hvis kunden har brukt mer enn 200 USD og godtar markedsføring, gir du dem Bronze-taggen.

Statiske og dynamiske data i betingelser

Vanligvis er den andre verdien i en betingelse en statisk, manuelt angitt verdi. Denne verdien forblir den samme hver gang arbeidsflyten kjører.

Du kan også bruke dynamiske verdier hvis feltet for den andre verdien viser et </>-symbol. Dynamiske verdier kommer fra butikkdataene dine hver gang arbeidsflyten kjører. For å bruke en dynamisk verdi klikker du </>, og velger verdien du vil sjekke mot. Dynamiske verdier er ikke tilgjengelig for alle felt.

Du oppretter for eksempel en arbeidsflyt som tagger en bestilling dersom landet i bestillingens fakturaadresse samsvarer med landet i leveringsadressen.

Eksempel på en arbeidsflyt som tagger en bestilling med RHS-data for å sjekke at en kundes fakturerings- og leveringsland er det samme.

I dette eksempelet trekkes både den første og den andre verdien fra butikkens data, i stedet for å manuelt spesifisere en statisk streng som skal sjekkes mot den andre verdien. Hvis landet i fakturaadressen som er oppgitt av kunden er det samme som landet kunden har oppgitt i leveringsadressen, er betingelsen sann og bestillingen blir tagget.

Er du klar til å begynne å selge med Shopify?

Prøv det gratis