Variabler i Shopify Flow

Variabler är platshållare som ersätts med värden när en arbetsflöde körs. Dessa variabler beskriver attribut för kunder, ordrar och produkter som ingår i dina arbetsflöden. Det finns till exempel variabler för ordernummer, orderpris, kundnamn med mera.

Flow använder en annan version av Liquid än Shopify-teman och kan komma åt alla variabler som finns tillgängliga via GraphQL Admin API.

Namnen på de flesta variablerna är självbeskrivande. Till exempel är variabeln som visar produktnamnet {{ product.title }}. När meddelandet skickas ersätts denna variabel med namnet på den beställda produkten: Large Coffee Mug.

Lägg till variabler för åtgärder

Du kan lägga till variabler i ett textfält som innehåller länken Lägg till variabel. Klicka på länken Lägg till variabel under relevant fält och välj sedan en variabel från listan.

Variablerna i listan Lägg till variabel filtreras, så att du endast ser de variabler som gäller för den utlösare som du har valt. När du har valt en variabel från listan är den formaterad och läggs till i textrutan åt dig.

Flow stöder nästan alla fält för GraphQL Admin API.

Liquid-variabler

Om du är en utvecklare med erfarenhet av att skriva Liquid-kod kan du använda Liquid för att skriva dina variabler eller redigera variabler som du för in med hjälp av länken Lägg till variabel. För mer information, se GraphQL Admin API-referens.

Villkorliga och iterationstaggar

Du kan lägga till Liquid variabeltaggar manuellt till dina arbetsflödesmeddelanden. Du kan använda dessa taggar för att inkludera mer information i dina meddelanden.

Du kan till exempel använda ett for loop-objekt för att iterera genom en lista över objekt, till exempel radartiklar för en order. Med dessa taggar kan du skapa meddelanden som innehåller information, till exempel produktnamn, SKU, pris och kvantitet för varje post i en order så dina mottagare slipper leta upp denna information i din Shopify-admin.

Flow stöder följande villkors-taggar för Liquid (eller kontrollflöde):

Flow stöder även följande Liquid iteration-taggar:

Filter

Flow stöder följande Liquid-filter:

Liquid-filter som Flow stöder
Filternamn Filtertyp
abs Math
Lägg till Sträng
at_least Math
at_most Math
capitalize Sträng
ceil Math
concat Array
Datum Ytterligare
standard Ytterligare
divided_by Math
DownCase Sträng
Fly Sträng
först Array
floor Math
asluta sig till Array
last Array
LStrip Sträng
karta Array
minus Math
modulo Math
newline_to_br Sträng
plus Math
prepend Sträng
ta bort Sträng
remove_first Sträng
ersätt Sträng
replace_first Sträng
reverse Array
round Math
rstrip Sträng
storlek Array
slice Sträng
sortera Array
dela upp Sträng
strip Sträng
strip_html Sträng
strip_newlines Sträng
gånger Math
truncate Sträng
TrunkCatewords Sträng
uniq Array
upcase Sträng
url_encode Sträng
var Array

Variabelexempel

Du vill till exempel skapa ett arbetsflöde för att skicka ett e-postmeddelande till en anställd när en kund spenderar mer än 500 USD på en order. Du skapar ett arbetsflöde med hjälp av utlösaren Order skapad, anger ett villkor som är sant om ordersumman är över 500 USD och använder åtgärden Skicka internt e-postmeddelande. I avsnittet Meddelande i åtgärden Skicka internt e-postmeddelande använder du följande variabler.

Exempel på variabelanvändning för att tillhandahålla kunduppgifter.
Indata Utdata
Skicka en personlig tackhälsning till {{ order.customer.firstName }} {{ order.customer.lastName }}({{ order.customer.email }}) för att de lade en order på {{ order.totalPriceSet.shopMoney.amount }} USD. Skicka en personlig tackhälsning till Jeanne Dupont (jeanne@example.com) för att de lade en order på 763,42 USD.

Du bestämmer dig för att du behöver informera en medarbetare när produktlagret börjar bli lågt och en order måste läggas på fler lagerartiklar. Du skapar ett arbetsflöde som startar med utlösaren Lagerkvantitet ändrad och anger ett villkor som är sant om den tidigare lagerkvantiteten är mindre än eller lika med 10. I avsnittet Meddelande i åtgärden Skicka internt e-postmeddelande använder du följande variabler.

Exempel på variabelanvändning för att tillhandahålla artikelinformation.
Indata Utdata
Återbeställ {{ product.title }}. Skicka ett e-postmeddelande till owner@store.com för att verifiera att de har tagit emot inköpsordern. Återbeställ Leggings med hög midja – svarta. Skicka ett e-postmeddelande till owner@example.com för att verifiera att de har tagit emot inköpsordern.

Du vill annullera ordrar med hög risknivå men föredrar att din personal annullerar ordern manuellt. Du skapar ett arbetsflöde som startar med utlösaren Order skapad och anger ett villkor som är sant om risknivån för ordern är lika med hög. I avsnittet Meddelande i åtgärden Skicka internt e-postmeddelande använder du följande variabler.

Exempel på variabelanvändning för att tillhandahålla information om en bedräglig order.
Indata Utdata
Vår Shopify-butik har fått en order med stor risk för bedrägeri. Vi vill omedelbart annullera denna order innan den skickas till produktion:

{{ order.name }}
{{ order.billingAddress.lastName }}, {{ order.billingAddress.firstName }}
{{ order.email }}

Bekräfta den nya orderstatusen. Tack!
Vår Shopify-butik har fått en order med stor risk för bedrägeri. Vi vill omedelbart annullera denna order innan den skickas till produktion:

#1001
Dupont, Jeanne
jeanne@example.com

Bekräfta den nya orderstatusen. Tack!

Exempel på loop

När en order tas emot kan det vara bra att skicka ett meddelande som innehåller de beställda produkterna. Du kan göra det genom att använda for loop, som kör ett kodblock upprepade gånger. Textfält som stöder variabler stöder även for loops och forloop-objekt.

Du vill till exempel skapa ett arbetsflöde som returnerar en lista över alla SKU:er och kvantiteter i en order. I avsnittet Meddelande i åtgärden Skicka internt e-postmeddelande använder du följande variabler.

Exempel på for loop-användning för att tillhandahålla orderinformation.
Indata Utdata
Ordersammanfattning:
{% for a in order.lineItems %}
SKU: {{a.sku}} ( {{a.quantity}} ),
{% endfor %}
Ordersammanfattning:
8987097979 (50)
8877778887 (3)
888998898B (1)

Du bestämmer dig för att lägga till mer information i e-postmeddelandet, inklusive produktnamn, SKU:er, pris per artikel och kundens leveransinformation. I avsnittet Meddelande i åtgärden Skicka internt e-postmeddelande använder du följande variabler.

Exempel på for loop-användning för att tillhandahålla mer omfattande orderinformation.
Indata Utdata
Ordersammanfattning:
{% for a in order.lineItems %}
Produkt: {{a.title}}
SKU: {{a.sku}}
Pris (per enhet): {{a.originalUnitPriceSet.shopMoney.amount}} USD
Kvantitet: {{a.quantity}}
{% endfor %}
Ordersammanfattning:
Produkt: Leggings med hög midja – svarta
SKU: 8987097979
Pris (per enhet): 8,49 USD
Kvantitet: 5
Produkt: Sportsockor – blå
SKU: 888999888B
Pris (per enhet): 5,61 USD
Kvantitet: 2

Du måste spåra sålda artiklar som tillhandahålls av en specifik säljare. I avsnittet Meddelande i åtgärden Skicka e-postmeddelande använder du följande variabler och inkluderar ett if-utdrag i din for loop.

Exempel på användning av for loop och if-utdrag för att tillhandahålla orderinformation för specifika säljare.
Indata Utdata
Såld Acme-produkt:
{% for x in order.lineItems %}
{% if x.vendor == 'acme-vendor' %}
Produktnamn: {{x.title}}
SKU: {{x.sku}}
{% endif %}
{% endfor %}
Såld Acme-produkt:
Produktnamn: Leggings med hög midja – svarta
SKU: 8987097979

Komplexa dataobjekt i Shopify Flow

Shopify Flow stöder inte utdataarrayer och objekt av följande skäl:

  • Utdata som inte krävs är inaktuella för GraphQL API, och det kan skapa stora frågestorlekar som gör att arbetsflödet misslyckas.
  • När nya funktioner introduceras läggs nya API-fält till, vilket kan bryta ditt arbetsflöde.

Arbetsflödet misslyckas om för mycket data skickas automatiskt. Loopa över arrayer och inkludera endast de fält du vill ha i stället för att anropa arrayer och objekt direkt.

Istället för att till exempel anropa {{ order.lineItems }} direkt kan du använda följande format för att anropa specifika fält. Dessa exempel inkluderar alla fält som skulle ingå genom att anropa arrayen eller objektet direkt. Kopiera och klistra in de fält du behöver.

Är du redo att börja sälja med Shopify?

Prova gratis