Om betingelser i Shopify Flow
En betingelse er et trin i et workflow, hvor der træffes en beslutning om, hvordan der skal fortsættes, baseret på om et sæt kriterier er blevet opfyldt. Hvert betingelsestrin har to muligheder: Sand, når kriterierne er opfyldt, og Falsk, når kriterierne ikke er opfyldt. Hvis du ikke definerer et næste trin for en af mulighederne ved at vælge en anden betingelse eller handling, stopper workflowkørslen.
Hvis dit workflow f.eks. udløses, når en ordre oprettes, kan en betingelse tjekke, om en specifik AFFILIATE10-rabatkode blev brugt på ordren. Hvis den blev det, kan muligheden Sand føre til en handling, der sender en mail til den pågældende affiliate for at give vedkommende besked om, at deres kode blev brugt. Hvis den ikke blev det, kan muligheden Falsk være tom, hvilket betyder, at der ikke sker mere, og at workflowkørslen afsluttes.
Et workflow kan have et vilkårligt antal betingelser afhængigt af, hvor komplekst dit workflow er. Betingelser kan også oprette forbindelse til andre betingelser eller handlinger, afhængigt af hvad du vil have workflowet til at gøre. Betingelser kan opsættes, så de opretter forbindelse i rækkefølge (hvis f.eks. betingelse A er sand, så tjek for betingelse B; hvis A er falsk, så tjek for C), eller du kan opsætte dem til at ske samtidigt som en del af det samme trin (tjek f.eks., om A, B eller C er sand).
På denne side
Udformning af betingelser for dit workflow
I modsætning til en udløser eller en handling, som du kan vælge fra en forudindstillet liste over tilgængelige muligheder i Shopify Flow, udformes betingelser fra bunden ved at vælge variabler, logiske operatorer og værdier for at oprette den betingede erklæring:
- En variabel er en pladsholder, der definerer de data, som betingelsen bruger. Hvis en betingelse f.eks. skal tjekke for en specifik rabatkode i en ordre, vil variablen være
order.discountCode. Variabler bruger GraphQL Admin API-punktnotation. - En logisk operator angiver, hvordan workflowet skal afgøre, om betingelsen er opfyldt. Logiske operatorer kan gælde på variabelniveau, eller når flere variabler er inkluderet som en del af de overordnede betingelseskriterier:
- Muligheder på variabelniveau omfatter feltniveau-operatorer, f.eks. Større end eller Starter med, eller liste-operatorer, f.eks. Mindst én af eller Alle af.
- Muligheder på betingelsesniveau omfatter OG, hvilket betyder, at alle variabler skal være sande, for at betingelsen kan betragtes som sand overordnet, eller ELLER, hvilket betyder, at mindst én variabel skal være sand, for at betingelsen kan betragtes som sand overordnet.
- En værdi er de faktiske oplysninger, som variablen leder efter. Hvis den specifikke
order.discountCode, som du vil have workflowet til at tjekke, f.eks. er AFFILIATE10, så er det den værdi, der skal inkluderes som en del af betingelsen.
Når du vælger dine variabler og operatorer, opdateres betingelsestrinnet i Shopify Flow-lærredet for at afspejle din betingede erklæring i almindeligt sprog, så du kan dobbelttjekke, om den betingelse, du er ved at opbygge, er formateret korrekt. Du kan klikke på Tilføj beskrivelse for at overskrive den betingede standarderklæring med din egen skriftlige beskrivelse.
Få mere detaljerede oplysninger om elementer i betingelser i Shopify Flow.
Forståelse af variabler i betingelser
Når du udformer et betingelsestrin i et workflow, er det første trin, du bliver bedt om at tage, at tilføje en variabel. Men hvad er en variabel?
I Shopify Flow er en variabel en pladsholder, der angiver de data, der bruges af betingelsen i workflowet. Når en betingelse lyder “Hvis A er større end 10...”, er A-delen variablen. At vælge en variabel for en betingelse er i bund og grund at fortælle betingelsen specifikt, hvilke data den skal evaluere.
Variabler formateres ved hjælp af GraphQL Admin API-punktnotation. Du behøver ikke at være ekspert i API'en for at oprette workflows med Flow-appen, men en grundlæggende forståelse af variabelnavne og deres definitioner kan hjælpe dig med at opbygge den specifikke workflowlogik, du ønsker.
For at forstå, hvilke data en variabel repræsenterer, kan du overveje følgende oplysninger om variabler:
- Sådan læser du variabelpunktnotation.
- Forståelse af datakrav for variabler.
- Find den korrekte variabel under en søgning.
Tip: Få hjælp til variabler fra assistenten til udviklerdokumentation
Hvis du ikke er sikker på, hvilken variabel du skal vælge, når du opbygger din betingelse, kan du overveje at bede assistenten til Shopify-udviklerdokumentation om råd. Assistenten til udviklerdokumentation har adgang til al dokumentation vedrørende GraphQL Admin API og kan give forslag til, hvordan du formaterer en betingelse i Shopify Flow:
- Gå til Shopify-udviklerdokumentation.
- Klik på Spørg assistent for at åbne chatpanelet.
- Indtast din anmodning i meddelelsesfeltet, f.eks. “Hvilken variabel skal jeg bruge i Shopify Flow, hvis jeg vil have adgang til data for kundetags, når min udløser starter med “Ordre oprettet”?”.
- Tryk på Enter, eller klik på
.
Læsning af punknotation for variabler
Når du vælger variabler, vil du se, at de er formateret som søgeord adskilt af punktummer, f.eks. order.customer.tag. Dette format angiver de trin, som API'en bruger til at hente de data, du vil bruge. Hvert “trin” i en variabel er adskilt af et punktum, og stien til dataene læses fra venstre mod højre. Variabler kan have forskellig længde, afhængigt af hvor dataene er gemt i API'en, og den sti, som workfloweret bruger til at komme dertil.
For eksempel:
order.email: Kontrollerer den mailadresse, der er knyttet til kunden for ordren. Det svarer til, at du klikker på en ordre og derefter kontrollerer mailadressen i ordreoplysningerne.refunds_item.staffMember.name: Kontrollerer ordren for en varerefusion, går til oplysningerne om den medarbejder, der er knyttet til refusionen, og kontrollerer vedkommende medarbejders fulde navn.
Når du vælger en variabel, kan du overveje, hvordan du ville navigere i din Shopify-administrator for at finde de oplysninger, du ønsker. Det er sandsynligt, at API'en skal følge en lignende sti, hvilket kan hjælpe dig med at afgøre, hvordan din variabel skal formateres.
Hvis du f.eks. gennemgår en ny ordre og vil vide, hvilken RFM-gruppe kunden, der er knyttet til ordren, er i, kan du overveje at klikke på kundens navn på ordren for at blive omdirigeret til kundens oplysningsside i Shopify-administratoren. Derefter kan du kontrollere kundens analyseresume for at se, hvilken værdi der vises i kolonnen RFM-gruppe.
Den variabel, du skal bruge til at returnere de samme data i Shopify Flow, ville bruge en lignende sti: order.customer.statistics.rfmGroup.
Datakrav for variabler
Variabler kræver data. Hvis de rigtige data ikke er tilgængelige for variablen, fungerer betingelsen ikke, og workfloweret mislykkes. Afhængigt af hvilken udløser du har valgt som starten på dit workflow, ændres valgmulighederne for, hvilke variabler du kan føje til dine betingelser, så de afspejler de mulige valg baseret på de tilgængelige data.
Hvis dit workflow f.eks. starter med udløseren Produkt oprettet, er de betingelser, du opretter ud fra den pågældende udløser, begrænset til de variabler, der er tilgængelige fra datasættet produkt. Derfor kan variabler som product.category.name, product.vendor og variants_item.displayName alle bruges som en del af betingelsen. I modsætning hertil vises variabler som customer.verifiedEmail eller subscriptionContracts_item.status ikke som valgmuligheder, da de ikke er knyttet til produktdatasættet.
Dette betyder dog ikke nødvendigvis, at data i andre datasæt er fuldstændig utilgængelige. Visse data kan tilgås via flere stier i API'en, på samme måde som du kan klikke dig gennem forskellige links for at nå frem til den samme side i Shopify-administratoren. I praksis betyder det, at forskellige udløsere kræver forskellig variabelnotation for at returnere de samme oplysninger.
Du vil f.eks. have, at dit workflow skal kontrollere tagsene på en kundes profil. Hvis dit workflow starter med udløseren Ordre oprettet, vil variablen være order.customer.tags, fordi workfloweret starter med ordredata, derefter kontrollerer kundeoplysningerne i ordren og til sidst kontrollerer den pågældende kundes tags. Hvis dit workflow starter med udløseren Kunde oprettet, vil variablen blot være customer.tags, da workfloweret starter med kundedata og derfor kan gå direkte til at kontrollere tagsene på kundeprofilen.
Kontrollér en variabels sti, når du søger på søgeord
På grund af punknotationen i Shopify Flow kan en søgning efter variabler til brug i en betingelse, der er baseret på søgeord, returnere flere resultater. Det er vigtigt at forstå, hvad variablens sti angiver, når du skal afgøre, hvilken variabel du skal vælge, når du opbygger din betingelse.
Dit workflow bruger f.eks. udløseren Ordre oprettet, og du søger efter en variabel ved hjælp af søgeordet tags. Din søgning kan returnere følgende resultater, der kontrollerer forskellige oplysninger i ordren:
order.tags: De tags, der er føjet til selve ordren. F.eks. #hasteordre eller #gave.order.customer.tags: De tags, der er føjet til den kunde, som afgav ordren. F.eks. #VIP eller #affiliate.order.lineItems.product.tags: De tags, der er føjet til de produkter, der er købt i ordren. F.eks. #skrøbelig eller #kræverID.
Afhængigt af hvilken type tags du vil have workfloweret til at kontrollere, skal du vælge den korrekte variabel, så din betingelse fungerer som forventet.
Forståelse af logiske operatorer i betingelser
Logiske operatorer definerer, hvordan din betingelse anvendes, og de resulterer i, at et udsagn enten er sandt eller falsk. Når en betingelse lyder “Hvis A er større end 10...”, er delen er større end den logiske operator. Når du vælger en logisk operator for en betingelse, fortæller du i bund og grund betingelsen, hvordan den skal evaluere variablen.
I Shopify Flow-workflows findes der tre typer logiske operatorer:
- Operatorer på feltniveau, f.eks. Større end eller Starter med.
- Listeoperatorer, f.eks. Mindst én af eller Alle.
- Operatorer på betingelsesniveau, f.eks. OG eller ELLER.
Operatorer på feltniveau og listeoperatorer gælder på variabelniveau, og operatorer på betingelsesniveau gælder for den overordnede betingelse og kan bruges til at kombinere flere variabler i én enkelt betingelse.
Operatorer på feltniveau er den mest almindelige type operator og bruges i alle typer af variabeludsagn. Med operatorer på feltniveau kan du oprette betingede udsagn som “Hvis A er større end 10, så gør X” eller “Hvis B indeholder ‘VIP’, så gør X” for at have større kontrol over, hvilke værdier for en variabel der returnerer et sandt resultat. Er lig med er den logiske standardoperator.
Listeoperatorer kan kun anvendes på variabler, der kan returnere en liste med resultater. F.eks. returnerer variablen lineItems_item.variant.price prisen for en produktvariant i ordren, som kan returnere en liste over resultater, når kunden har købt flere produkter i den samme ordre. Det betyder, at du kan anvende en listeoperator som Mindst én af, når du vil have, at et betinget udsagn som “lineItems_item.variant.price er større end 10 USD” skal være sandt, når der er mindst én produktvariant i ordren, der koster over 10 USD. I modsætning hertil vises listeoperatorer ikke for variabler, der kun kan returnere ét resultat ad gangen. Der er f.eks. kun én mulig værdi for en variabel som order.createdAt, fordi en ordre kun kan oprettes én gang, så listeoperatorer vises ikke som valgmuligheder for at ændre det udsagn, der indeholder den pågældende variabel.
Med operatorer på betingelsesniveau, som f.eks. AND og OR, kan du inkludere flere variabler i samme betingelse. I stedet for et simpelt betinget udsagn som “Hvis A er lig med 5, så udfør X”, kan du opbygge mere komplekse betingelser som “Hvis A er lig med 5, og B er større end 10, så udfør X”. Dette kræver, at begge variabler, A og B, er sande. Et andet eksempel er “Hvis A er lig med 5, eller B er større end 10, eller C er mindre end 1, så udfør X”, hvor det kun kræves, at én af variablerne A, B eller C er sand. Brug AND, når alt i en workflow skal være sandt. Brug OR, når det er nok, at ét kriterium er opfyldt, for at betingelsen er sand.
Derfor er det vigtigt: Når du forstår, hvordan logiske operatorer fungerer i betingelser, kan du opbygge workflows, der tjekker for præcis de kriterier, du ønsker. Med de tre typer logiske operatorer kan du udforme detaljerede og komplekse betingede udsagn for at oprette workflows, der tjekker for meget specifikke betingelser.
Få mere at vide om logiske operatorer i betingelser.