Forstå betingelser i Shopify Flow
En betingelse er et trinn i en arbeidsflyt der det tas en beslutning om hvordan man skal gå videre basert på om et sett med kriterier er oppfylt. Hvert betingelsestrinn har to muligheter: Sann, når kriteriene er oppfylt, og Usann når kriteriene ikke er oppfylt. Hvis du ikke definerer et neste trinn for noen av mulighetene ved å velge en annen betingelse eller handling, stopper kjøringen av arbeidsflyten.
Hvis arbeidsflyten for eksempel utløses når en bestilling opprettes, kan en betingelse sjekke om en spesifikk AFFILIATE10-rabattkode ble brukt på bestillingen. Hvis den ble det, kan alternativet Sann føre til en handling som sender en e-post til samarbeidspartneren for å fortelle at koden deres ble brukt. Hvis den ikke ble det, kan alternativet Usann være tomt, noe som indikerer at ingenting mer skjer og kjøringen av arbeidsflyten avsluttes.
En arbeidsflyt kan ha et hvilket som helst antall betingelser, avhengig av hvor kompleks arbeidsflyten er. Betingelser kan også kobles til andre betingelser eller handlinger, avhengig av hva du vil at arbeidsflyten skal gjøre. Betingelser kan settes opp for å kobles i rekkefølge (for eksempel, hvis betingelse A er sann, sjekk for betingelse B; hvis A er usann, sjekk for C), eller du kan sette dem opp til å skje samtidig som en del av samme trinn (for eksempel, sjekk om A, B eller C er sann).
På denne siden
Utforme betingelser for arbeidsflyten
I motsetning til en utløser или en handling, som du kan velge fra en forhåndsinnstilt liste over tilgjengelige alternativer i Shopify Flow, lages betingelser fra bunnen av ved å velge variabler, logiske operatorer og verdier for å opprette den betingede setningen:
- En variabel er en plassholder som definerer dataene som betingelsen bruker. Hvis en betingelse for eksempel skal sjekke etter en bestemt rabattkode på en bestilling, vil variabelen være
order.discountCode. Variabler bruker punktnotasjon fra GraphQL Admin API. - En logisk operator angir hvordan arbeidsflyten skal avgjøre om betingelsen er oppfylt. Logiske operatorer kan gjelde på variabelnivå, eller når flere variabler er inkludert som en del av de overordnede betingelseskriteriene:
- Alternativer på variabelnivå inkluderer operatorer på feltnivå, som Større enn eller Starter med, eller listeoperatorer som Minst én av eller Alle.
- Alternativer på betingelsesnivå inkluderer OG, som betyr at alle variabler må være sanne for at betingelsen skal anses som sann totalt sett, eller ELLER, som betyr at minst én variabel må være sann for at betingelsen skal anses som sann totalt sett.
- En verdi er den faktiske informasjonen som variabelen ser etter. Hvis for eksempel den spesifikke
order.discountCodesom du vil at arbeidsflyten skal se etter, er AFFILIATE10, er det verdien som skal inkluderes som en del av betingelsen.
Når du velger variabler og operatorer, oppdateres betingelsestrinnet på Shopify Flow-lerretet for å gjenspeile den betingede setningen din i klartekst, slik at du kan dobbeltsjekke om betingelsen du bygger er riktig formatert. Du kan klikke på Legg til beskrivelse for å overskrive den standard betingede setningen med din egen skriftlige beskrivelse.
Finn ut mer detaljert informasjon om elementer i betingelser i Shopify Flow.
Forstå variabler i betingelser
Når du utformer et betingelsestrinn i en arbeidsflyt, er det første trinnet du blir bedt om å gjøre, å legge til en variabel. Men hva er egentlig en variabel?
I Shopify Flow er en variabel en plassholder som angir hvilke data som brukes av betingelsen i arbeidsflyten. Når en betingelse leser «Hvis A er større enn 10 ...», er A-delen variabelen. Å velge en variabel for en betingelse er i hovedsak å fortelle betingelsen nøyaktig hvilke data den skal evaluere.
Variabler formateres ved hjelp av punktnotasjonen for GraphQL Admin API. Du trenger ikke å være ekspert på API-et for å opprette arbeidsflyter med Flow-appen, men en grunnleggende forståelse av variabelnavn og definisjonene deres kan hjelpe deg med å bygge den spesifikke arbeidsflytlogikken du ønsker.
For å forstå hvilke data en variabel representerer, kan du vurdere følgende informasjon om variabler:
- Slik leser du punktnotasjonen for variabler.
- Forstå datakrav for variabler.
- Finne riktig variabel under et søk.
Tips: Få hjelp med variabler fra Dev Docs-assistenten
Hvis du er usikker på hvilken variabel du skal velge når du bygger betingelsen din, kan du vurdere å be Shopify Dev Docs-assistenten om råd. Dev Docs-assistenten har tilgang til all dokumentasjon om GraphQL Admin API, og kan gi forslag til hvordan du kan formatere en betingelse i Shopify Flow:
- Gå til Shopify Dev Docs.
- Klikk på Spør assistenten for å åpne chattepanelet.
- Skriv inn forespørselen din i meldingsfeltet, for eksempel «Hvilken variabel bør jeg bruke i Shopify Flow for å få tilgang til kundetaggdata når utløseren min starter med «Bestilling opprettet»?».
- Trykk på Enter eller klikk på
.
Lese punktnotasjon for variabler
Når du velger variabler, vil du se at de er formatert som søkeord atskilt med punktum, for eksempel order.customer.tag. Dette formatet angir trinnene API-en tar for å hente dataene du vil bruke. Hvert «trinn» i en variabel er atskilt med et punktum, og banen til dataene leses fra venstre mot høyre. Variabler kan ha ulik lengde, avhengig av hvor dataene er lagret i API-en og banen arbeidsflyten tar for å komme dit.
For eksempel:
order.email: Sjekker e-postadressen som er knyttet til kunden for bestillingen. Det ligner på hvordan du kan klikke på en bestilling og deretter sjekke e-postadressen i bestillingsinformasjonen.refunds_item.staffMember.name: Sjekker bestillingen for en varerefusjon, går til personaleinformasjonen som er knyttet til refusjonen og sjekker det fulle navnet til det aktuelle personalmedlemmet.
Når du velger en variabel, kan du tenke over hvordan du ville navigert i Shopify-administratorpanelet for å finne informasjonen du ønsker. Det er sannsynlig at API-en må ta en lignende bane, noe som kan hjelpe deg med å finne ut hvordan variabelen din kan være formatert.
Hvis du for eksempel ser gjennom en ny bestilling og vil vite hvilken RFM-gruppe kunden som er knyttet til bestillingen er i, kan du tenke deg å klikke på kundenavnet på bestillingen for å bli omdirigert til kundens informasjonsside i Shopify-administratorpanelet, og deretter sjekke kundens analysesammendrag for å lese hvilken verdi som vises i RFM-gruppe-kolonnen.
Variabelen du ville brukt for å returnere de samme dataene i Shopify Flow, ville brukt en lignende bane: order.customer.statistics.rfmGroup.
Datakrav for variabler
Variabler krever data. Hvis de riktige dataene ikke er tilgjengelige for variabelen, vil ikke tilstanden fungere og arbeidsflyten mislykkes. Basert på hvilken utløser du har valgt som starten på arbeidsflyten, endres alternativene for hvilke variabler du kan legge til i tilstandene for å gjenspeile de mulige alternativene basert på tilgjengelige data.
Hvis arbeidsflyten din for eksempel starter med utløseren Produkt opprettet, er tilstandene du oppretter fra denne utløseren begrenset til variablene som er tilgjengelige fra produkt-datasettet. Derfor er variabler som product.category.name, product.vendor og variants_item.displayName alle tilgjengelige for bruk som en del av tilstanden. Til motsetning vil ikke variabler som customer.verifiedEmail eller subscriptionContracts_item.status vises som alternativer, fordi de ikke er knyttet til produkt-datasettet.
Dette betyr imidlertid ikke nødvendigvis at data i andre datasett er helt utilgjengelige. Enkelte data kan nås fra flere baner i API-en, på samme måte som du kan klikke deg gjennom ulike koblinger for å komme til samme side i Shopify-administratorpanelet. I praksis betyr dette at ulike utløsere krever ulik variabelnotasjon for å returnere samme informasjon.
Du vil for eksempel at arbeidsflyten skal sjekke taggene på en kundeprofil. Hvis arbeidsflyten din starter med utløseren Bestilling opprettet, vil variabelen være order.customer.tags fordi arbeidsflyten starter med bestillingsdataene, deretter sjekker kundeinformasjonen i bestillingen, og deretter sjekker taggene for den kunden. Hvis arbeidsflyten din starter med utløseren Kunde opprettet, vil variabelen rett og slett være customer.tags fordi arbeidsflyten starter med kundedataene, slik at den kan gå rett til å sjekke taggene på kundeprofilen.
Sjekk en variabels bane når du søker basert på søkeord
På grunn av punktnotasjonen i Shopify Flow kan søk etter variabler som skal brukes i en tilstand basert på søkeord returnere flere resultater. Det er viktig å forstå hva variabelens bane indikerer når du skal avgjøre hvilken variabel du skal velge når du bygger tilstanden.
Hvis arbeidsflyten din for eksempel bruker utløseren Bestilling opprettet, og du søker etter en variabel ved hjelp av søkeordet tags, kan søket returnere følgende resultater, som sjekker etter ulik informasjon i bestillingen:
order.tags: Taggene som brukes på selve bestillingen. For eksempel #hastebestilling eller #gave.order.customer.tags: Taggene som brukes på kunden som la inn bestillingen. For eksempel #VIP eller #partner.order.lineItems.product.tags: Taggene som brukes på produktene som er kjøpt i bestillingen. For eksempel #skjørbart eller #kreverID.
Basert på hvilken type tagger du vil at arbeidsflyten skal se etter, må du velge riktig variabel slik at tilstanden fungerer som forventet.
Forstå logiske operatorer i tilstander
Logiske operatorer definerer hvordan tilstanden brukes og resulterer i at en setning er enten sann eller usann. Når en tilstand leser «Hvis A er større enn 10 ...», er er større enn-delen den logiske operatoren. Å velge en logisk operator for en tilstand er i hovedsak å fortelle tilstanden hvordan den skal evaluere variabelen.
I Shopify Flow-arbeidsflyter finnes det tre typer logiske operatorer:
- Operatorer på feltnivå, som Større enn eller Starter med.
- Listeoperatorer, som Minst én av eller Alle.
- Operatorer på tilstandsnivå, som OG eller ELLER.
Operatorer på feltnivå og listeoperatorer gjelder på variabelnivå, og operatorer på tilstandsnivå gjelder for den overordnede tilstanden og kan brukes til å kombinere flere variabler til én enkelt tilstand.
Operatorer på feltnivå er de vanligste operatortypene, og brukes i alle typer variabelsetninger. Med operatorer på feltnivå kan du opprette betingede setninger som «Hvis A er større enn 10, gjør du X» eller «Hvis B inneholder 'VIP', gjør du X» for å ha større grad av kontroll over hvilke verdier i en variabel som returnerer et sant resultat. Er lik er standard logisk operator.
Listeoperatorer kan bare brukes på variabler som kan returnere en liste med resultater. For eksempel returnerer variabelen lineItems_item.variant.price prisen for en produktvariant i bestillingen, som kan returnere en liste med resultater når kunden har kjøpt flere produkter i samme bestilling. Dette betyr at du kan bruke en listeoperator som Minst én av når du vil at en betinget setning som «lineItems_item.variant.price er større enn 10 USD» skal være sann når det er minst én produktvariant i bestillingen som er over 10 USD. Listeoperatorer vises derimot ikke for variabler som bare kan returnere ett resultat om gangen. For eksempel finnes det bare én mulig verdi for en variabel som order.createdAt, fordi en bestilling bare kan opprettes én gang, så listeoperatorer vises ikke som alternativer for å endre setningen som inneholder den variabelen.
Operatorer på betingelsesnivå som AND og OR lar deg inkludere flere variabler i samme betingelse. For eksempel, i stedet for et enkelt betinget utsagn som «Hvis A er lik 5, så gjør X», kan du bygge mer komplekse betingelser som «Hvis A er lik 5 og B er større enn 10, så gjør X», som krever at både A- og B-variablene er sanne, eller «Hvis A er lik 5 eller B er større enn 10 eller C er mindre enn 1, så gjør X», som krever at bare én av variablene A, B eller C er sanne. Bruk AND når alt i en arbeidsflyt må være sant, og bruk OR når det er nok at ett av kriteriene er oppfylt for at betingelsen skal være sann.
Hvorfor dette er viktig: Ved å forstå hvordan logiske operatorer fungerer i betingelser, kan du bygge arbeidsflyter som sjekker for akkurat de kriteriene du ønsker. Med de tre typene logiske operatorer kan du utforme detaljerte og komplekse betingede utsagn for å opprette arbeidsflyter som sjekker for svært spesifikke betingelser.
Finn ut mer om logiske operatorer i betingelser.