Förstå villkor i Shopify Flow

Ett villkor är ett steg i ett arbetsflöde där ett beslut fattas om hur man ska gå vidare baserat på om en uppsättning kriterier har uppfyllts. Varje villkorssteg har två möjligheter: Sant, när kriterierna har uppfyllts, och Falskt när kriterierna inte har uppfyllts. Om du inte definierar ett nästa steg för någon av möjligheterna genom att välja ett annat villkor eller en annan åtgärd, stoppas arbetsflödeskörningen.

Om ditt arbetsflöde till exempel utlöses när en order skapas kan ett villkor kontrollera om en specifik AFFILIATE10-rabattkod användes i ordern. Om så var fallet kan alternativet Sant leda till en åtgärd som skickar ett e-postmeddelande till en affiliate för att meddela att hens kod har använts. Om den inte användes kan alternativet Falskt vara tomt, vilket indikerar att inget mer händer och att arbetsflödeskörningen avslutas.

Ett arbetsflöde kan ha valfritt antal villkor, beroende på hur komplext ditt arbetsflöde är. Villkor kan även ansluta till andra villkor eller åtgärder beroende på vad du vill att arbetsflödet ska göra. Villkor kan ställas in för att ansluta i följd (till exempel, om villkor A är sant, kontrollera villkor B; om A är falskt, kontrollera C), eller så kan du ställa in dem så att de sker samtidigt som en del av samma steg (till exempel kontrollera om A, B eller C är sant).

Skapa villkor för ditt arbetsflöde

Till skillnad från en utlösare eller en åtgärd, som du kan välja från en förinställd lista med tillgängliga alternativ i Shopify Flow, skapas villkor från grunden genom att välja variabler, logiska operatorer och värden för att skapa villkorssatsen:

  • En variabel är en platshållare som definierar de data som villkoret använder. Om ett villkor till exempel ska kontrollera en specifik rabattkod i en order är variabeln order.discountCode. Variabler använder GraphQL Admin API-punktnotation.
  • En logisk operator indikerar hur arbetsflödet ska avgöra om villkoret är uppfyllt. Logiska operatorer kan tillämpas på variabelnivå, eller när flera variabler ingår som en del av de övergripande villkorskriterierna:
    • Alternativ på variabelnivå inkluderar operatorer på fältnivå såsom Större än eller Börjar med, eller listoperatorer såsom Minst en av eller Alla.
    • Alternativ på villkorsnivå inkluderar OCH, vilket innebär att alla variabler måste vara sanna för att villkoret ska anses vara sant överlag, eller ELLER, vilket innebär att minst 1 variabel måste vara sann för att villkoret ska anses vara sant överlag.
  • Ett värde är den faktiska information som variabeln letar efter. Om den specifika order.discountCode som du vill att arbetsflödet ska kontrollera till exempel är AFFILIATE10 så är det värdet som ska inkluderas som en del av villkoret.

När du väljer dina variabler och operatorer uppdateras villkorssteget på Shopify Flow-arbetsytan för att återspegla din villkorssats i klartext, så att du kan dubbelkolla att villkoret du skapar är korrekt formaterat. Du kan klicka på Lägg till beskrivning för att skriva över standardvillkorssatsen med din egen skriftliga beskrivning.

Mer detaljerad information om element i villkor i Shopify Flow.

Förstå variabler i villkor

När du skapar ett villkorssteg i ett arbetsflöde är det första steget du uppmanas att göra att lägga till en variabel. Men, vad är en variabel?

I Shopify Flow är en variabel en platshållare som anger de data som används av villkoret i arbetsflödet. När ett villkor lyder ”Om A är större än 10 ...” är A-delen variabeln. Att välja en variabel för ett villkor innebär i huvudsak att man talar om för villkoret exakt vilka data som ska utvärderas.

Variabler formateras med GraphQL Admin API-punktnotation. Du behöver inte vara kunnig i API:et för att skapa arbetsflöden med Flow-appen, men en grundläggande förståelse för variabelnamn och deras definitioner kan hjälpa dig att bygga den specifika arbetsflödeslogik du vill ha.

För att förstå vilka data en variabel representerar, överväg följande information om variabler:

Tips: Få hjälp med variabler från Dev Docs-assistenten

Om du är osäker på vilken variabel du ska välja när du bygger ditt villkor kan du be Shopify Dev Docs-assistenten om råd. Shopify Dev Docs-assistenten har tillgång till all dokumentation om GraphQL Admin API och kan ge förslag på hur man formaterar ett villkor i Shopify Flow:

  1. Gå till Shopify Dev Docs.
  2. Klicka på Fråga assistenten för att öppna chattpanelen.
  3. Ange din förfrågan i meddelandefältet, till exempel ”Vilken variabel ska jag använda i Shopify Flow om jag vill komma åt kundens taggdata när utlösaren är ”Order skapad”?”.
  4. Tryck på Enter eller klicka på Skicka.

Läsa punktnotation för variabler

När du väljer variabler kommer du att se att de formateras som sökord åtskilda av punkter, till exempel order.customer.tag. Det här formatet anger de steg som API:et tar för att hämta de data du vill använda. Varje ”steg” i en variabel separeras med en punkt och sökvägen till datan läses från vänster till höger. Variabler kan ha olika längd beroende på var datan lagras i API:et och vilken sökväg arbetsflödet tar för att komma dit.

Exempel:

  • order.email: Kontrollerar e-postadressen som är kopplad till kunden för ordern. Det är ungefär som när du klickar på en order och sedan kontrollerar e-postadressen i orderinformationen.
  • refunds_item.staffMember.name: Kontrollerar ordern för en artikelåterbetalning, går till personalinformationen som är kopplad till återbetalningen och kontrollerar personalmedarbetarens fullständiga namn.

När du väljer en variabel, fundera på hur du skulle navigera i Shopify-admin för att hitta den information du vill ha. Det är troligt att API:et behöver ta en liknande sökväg, vilket kan hjälpa dig att avgöra hur din variabel ska formateras.

Om du till exempel granskar en ny order och vill veta vilken RFM-grupp kunden för ordern tillhör, kan du tänka dig att klicka på kundnamnet på ordern för att omdirigeras till kundens informationssida i Shopify-admin. Därefter kan du kontrollera kundens analyssammanfattning för att se vilket värde som visas i kolumnen RFM-grupp.

Variabeln som du skulle använda för att returnera samma data i Shopify Flow skulle använda en liknande sökväg: order.customer.statistics.rfmGroup.

Datakrav för variabler

Variabler kräver data. Om rätt data inte är tillgänglig för variabeln fungerar inte villkoret och arbetsflödet misslyckas. Beroende på vilken utlösare du väljer för arbetsflödet, varierar vilka variabler du kan lägga till i dina villkor för att spegla de möjliga alternativen baserat på tillgängliga data.

Om ditt arbetsflöde till exempel startar med utlösaren Produkt skapad, är villkoren som du skapar från den utlösaren begränsade till variablerna som är tillgängliga från produkt-datauppsättningen. Därför finns variabler såsom product.category.name, product.vendor och variants_item.displayName tillgängliga att använda som en del av villkoret. Variabler som customer.verifiedEmail eller subscriptionContracts_item.status visas däremot inte som alternativ eftersom de inte är kopplade till produkt-datauppsättningen.

Detta betyder dock inte nödvändigtvis att data som finns i andra datauppsättningar är helt oåtkomlig. Viss data kan nås från flera sökvägar i API:et, på samma sätt som du kan klicka dig igenom olika länkar för att nå samma sida i Shopify-admin. I praktiken innebär det att olika utlösare kräver olika variabelnotation för att returnera samma information.

Anta till exempel att du vill att ditt arbetsflöde ska kontrollera taggarna i en kundprofil. Om ditt arbetsflöde startar med utlösaren Order skapad är variabeln order.customer.tags, eftersom arbetsflödet startar med orderdata, därefter kontrollerar kundinformationen i ordern och sedan taggarna för den kunden. Om ditt arbetsflöde startar med utlösaren Kund skapad är variabeln helt enkelt customer.tags, eftersom arbetsflödet startar med kunddata och därmed direkt kan kontrollera taggarna i kundprofilen.

På grund av punktnotationen i Shopify Flow kan sökning efter variabler för ett villkor med hjälp av sökord ge flera resultat. Det är viktigt att förstå vad variabelns sökväg indikerar för att kunna välja rätt variabel när du skapar ditt villkor.

Om ditt arbetsflöde till exempel använder utlösaren Order skapad och du söker efter en variabel med sökordet tags, kan din sökning returnera följande resultat, som kontrollerar olika information i ordern:

  • order.tags: Taggarna som har lagts till i själva ordern. Till exempel #rush order eller #gift.
  • order.customer.tags: Taggarna som har lagts till för kunden som lade ordern. Till exempel #VIP eller #affiliate.
  • order.lineItems.product.tags: Taggarna som har lagts till för produkterna som köpts i ordern. Till exempel #fragile eller #requiresID.

Beroende på vilken typ av taggar du vill att arbetsflödet ska kontrollera måste du välja rätt variabel för att villkoret ska fungera som förväntat.

Förstå logiska operatorer i villkor

Logiska operatorer definierar hur ditt villkor tillämpas och resulterar i att ett påstående blir antingen sant eller falskt. När ett villkor lyder ”Om A är större än 10 ...” är delen är större än den logiska operatorn. Att välja en logisk operator för ett villkor innebär i huvudsak att du talar om för villkoret hur det ska utvärdera variabeln.

I arbetsflöden i Shopify Flow finns det 3 typer av logiska operatorer:

  • Fältnivåoperatorer, till exempel Större än eller Börjar med.
  • Listoperatorer, till exempel Minst en av eller Alla.
  • Villkorsnivåoperatorer, till exempel OCH eller ELLER.

Fältnivåoperatorer och listoperatorer tillämpas på variabelnivå, och villkorsnivåoperatorer tillämpas på det övergripande villkoret och kan användas för att kombinera flera variabler till ett enda villkor.

Fältnivåoperatorer är de vanligaste operatortyperna och används i alla typer av variabelsatser. Med fältnivåoperatorer kan du skapa villkorssatser som ”Om A är större än 10, gör X” eller ”Om B innehåller 'VIP', gör X” för att få större kontroll över vilka värden i en variabel som returnerar ett sant resultat. Lika med är standardoperatorn.

Listoperatorer kan endast tillämpas på variabler som kan returnera en lista med resultat. Till exempel returnerar variabeln lineItems_item.variant.price priset för en produktvariant i ordern, vilket kan ge en lista med resultat när kunden har köpt flera produkter i samma order. Det innebär att du kan tillämpa en listoperator som Minst en av när du vill att en villkorssats såsom ”lineItems_item.variant.price är större än 10 USD” ska vara sann när minst en produktvariant i ordern är över 10 USD. Som kontrast visas inte listoperatorer för variabler som endast kan returnera ett resultat åt gången. Till exempel finns det bara ett möjligt värde för en variabel som order.createdAt eftersom en order endast kan skapas en gång, så listoperatorer visas inte som alternativ för att ändra den sats som innehåller den variabeln.

Operatorer på villkorsnivå som AND och OR låter dig inkludera flera variabler i samma villkor. I stället för en enkel villkorssats som ”Om A är lika med 5, gör då X” kan du skapa mer komplexa villkor. Till exempel ”Om A är lika med 5 och B är större än 10, gör då X”, vilket kräver att både variabel A och B är sanna, eller ”Om A är lika med 5 eller B är större än 10 eller C är mindre än 1, gör då X”, vilket kräver att endast 1 av A, B eller C är sann. Använd AND när allt i ett arbetsflöde måste vara sant. Använd OR när det räcker att ett enda kriterium uppfylls för att villkoret ska vara sant.

Därför är detta viktigt: Om du förstår hur logiska operatorer fungerar i villkor kan du skapa arbetsflöden som kontrollerar exakt de kriterier du vill. Med de tre typerna av logiska operatorer kan du utforma detaljerade och komplexa villkorssatser för att skapa arbetsflöden som kontrollerar mycket specifika villkor.

Mer information om logical operators in conditions.