Variabler i Shopify Flow

Variabler er pladsholdere der erstattes af værdier, når et workflow kører. Disse variabler beskriver attributterne for kunderne, ordrerne og produkterne, der var involveret i dit workflow. Der er f.eks. variabler for ordrenummer, pris for ordren, kundens navn osv.

Flow bruger en anden version af Liquid end Shopify-temaer, og du kan tilgå alle de variabler, der er tilgængelige via GraphQL Admin API'en.

Navnene på de fleste variabler forklarer sig selv. Variablen, der viser produktets navn, er, for eksempel {{ product.title }}. Når beskeden er sendt, erstattes denne variabel af navnet på det bestilte produkt: Large Coffee Mug.

Sådan føjer du variabler til handlinger

Du kan føje variabler til alle tekstfelter, der indeholder linket Tilføj variabel. Klik på linket Tilføj variabel under det relevante felt, og vælg derefter en variabel på listen.

Variablerne på listen Tilføj variabeler filtrerede, så du kun ser de variabler, der er relevante for den valgte udløser. Når du har valgt en variabel på listen formateres den korrekt og føjes til tekstfeltet for dig.

Flow understøtter næsten alle GraphQL Admin API-felter.

Liquid-variabler

Hvis du er udvikler med erfaring i at skrive Liquid-kode, kan du bruge Liquid til at skrive dine variabler eller til at redigere de variabler, som du indsætter, ved hjælp af linket Tilføj variabel. Få mere at vide under referencen for GraphQL Admin API'en.

Betingede tags og gentagne tags

Du kan føje variable Liquid-tags til dine beskeder om workflow manuelt. Du kan bruge disse tags til at inkludere flere oplysninger i dine beskeder.

Du kan f.eks. bruge et for loop-objekt til at gentagelser via en liste med objekter, såsom varelinjer for en ordre. Du kan bruge disse tags til at oprette beskeder med oplysninger, såsom produkttitel, SKU, pris og mængde for hver varelinje i en ordre og spare dine modtager fra at bruge tid på at slå disse oplysninger op i din Shopify-administrator.

Flow understøtter følgende betingede tags (eller kontrolflow-tags) i Liquid:

Flow understøtter også følgende gentagne tags i Liquid:

Filtre

Flow understøtter følgende filtre i Liquid:

Liquid-filtre, som understøttes af Flow
Filternavn Filtertype
abs Math
append Streng
at_least Math
at_most Math
capitalize Streng
ceil Math
concat Array
dato Yderligere
standard Yderligere
divided_by Math
downcase Streng
escape Streng
først Array
floor Math
join Array
last Array
lstrip Streng
kort Array
minus Math
modulo Math
newline_to_br Streng
plus Math
prepend Streng
fjern Streng
remove_first Streng
erstat Streng
replace_first Streng
reverse Array
round Math
rstrip Streng
størrelse Array
slice Streng
sortér Array
split Streng
strip Streng
strip_html Streng
strip_newlines Streng
gange Math
truncate Streng
trunkatewords Streng
uniq Array
upcase Streng
url_encode Streng
hvor Array

Eksempler på variabler

Hvis du f.eks. vil oprette et workflow, der sender en mail til en medarbejder, når en kunde bruger mere end 500 USD på en ordre. Du opretter et workflow ved hjælp af udløseren Ordren blev oprettet, angiver en betingelse, der er sand, hvis ordretotalen er over 500 USD, og bruger handlingen Send intern mail. Du bruger følgende variabler under handlingen Send intern mail i afsnittet Besked.

Eksempel på brug af variabler til at angive kundeoplysninger.
Input Output
Send en personlig takkebesked til {{ order.customer.firstName }} {{ order.customer.lastName }}({{ order.customer.email }}) for at afgive en ordre på {{ order.totalPriceSet.shopMoney.amount }} USD. Send en personlig takkebesked til Jeanne Dupont (jeanne@example.com) for at afgive en ordre på 763,42 USD.

Du beslutter, at du skal informere medarbejderne, når et produktlager er lavt, og der skal afgives en ordre på ekstra lagerbeholdning. Du opretter et workflow, der starter med udløseren Lagerantallet er ændret, og angiver en betingelse, der er sand, hvis det forudgående lagerantal er mindre end eller lig med 10. Du bruger følgende variabler under handlingen Send intern mail i afsnittet Besked.

Eksempel på brug af variabler til at angive vareoplysninger.
Input Output
Genbestil {{ product.title }}. Send mail til ejer@butik.com for at kontrollere, om de har modtaget købsordren. Genbestil Leggings med høj talje – Sorte. Send mail til ejer@example.com for at kontrollere, om de har modtaget købsordren.

Du vil annullere ordrer, der har et højt risikoniveau, men foretrækker, at dine medarbejdere annullerer ordren manuelt. Du opretter et workflow, der starter med udløseren Ordren blev oprettet, og angiver en betingelse, der er sand, hvis risikoniveauet for ordren er lig med højt. Du bruger følgende variabler under handlingen Send intern mail i afsnittet Besked.

Eksempel på brug af variabler til at angive oplysninger om en svigagtig ordre.
Input Output
Vores Shopify-butik har modtaget en ordre med en høj risiko for svindel. Vi vil gerne annullere denne ordre med det samme, inden den sendes til produktion:

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

Bekræft den nye ordrestatus. Tak!
Vores Shopify-butik har modtaget en ordre med en høj risiko for svindel. Vi vil gerne annullere denne ordre med det samme, inden den sendes til produktion:

#1001
Dupont, Jeanne
jeanne@example.com

Bekræft den nye ordrestatus. Tak!

Til Loop-eksempler

Når en ordre er modtaget, kan det være nyttigt at sende en besked, der indeholder de bestilte produkter. Du kan gøre dette ved at bruge for loop, som gentagne gange udfører en kodeblok. Tekstfelter, der understøtter variabler, understøtter også for loops og forloop-objektet.

Du vil f.eks. oprette et workflow, der returnerer en liste over alle SKU'er og antal i en ordre. Du bruger følgende variabler under handlingen Send intern mail i afsnittet Besked.

Eksempel på brug af for loop til at angive ordreoplysninger.
Input Output
Ordreoversigt:
{% for a in order.lineItems %}
SKU: {{a.sku}} ( {{a.quantity}} ),
{% endfor %}
Ordreoversigt:
8987097979 (50)
8877778887 (3)
888998898B (1)

Du beslutter dig for at tilføje flere oplysninger i mailen, herunder produktnavnet, SKU'er, pris pr. vare og kundens leveringsoplysninger. Du bruger følgende variabler under handlingen Send intern mail i afsnittet Besked.

Eksempel på brug af for loop til at angive mere omfattende ordreoplysninger.
Input Output
Ordreoversigt:
{% for a in order.lineItems %}
Produkt: {{a.title}}
SKU: {{a.sku}}
Pris (pr. enhed): USD {{a.originalUnitPriceSet.shopMoney.amount}}
Antal: {{a.quantity}}
{% endfor %}
Ordreoversigt:
Produkt: Leggings med høj talje – Sorte
SKU: 8987097979
Pris (pr enhed): 8,49 USD
Antal: 5
Produkt: Sportsstrømper – Blå
SKU: 888998898B
Pris (pr. enhed): 5,61 USD
Antal: 2

Du skal spore solgte varer, der leveres af en bestemt forhandler. Du bruger følgende variabler og inkluderer en if-erklæring i dit for loop under handlingen Send intern mail i afsnittet Besked.

Eksempel på for loop og "hvis"-erklæring, der bruges til at angive ordreoplysninger for specifikke forhandlere.
Input Output
Solgt Acme-produkt:
{% for x in order.lineItems %}
{% if x.vendor == 'acme-vendor' %}
Produktnavn: {{x.title}}
SKU: {{x.sku}}
{% endif %}
{% endfor %}
Solgt Acme-produkt:
Produktnavn: Leggings med høj talje – Sorte
SKU: 8987097979

Komplekse dataobjekter i Shopify Flow

Shopify Flow understøtter ikke udlæsning af matrixer og objekter af følgende årsager:

  • Udlæsning af data, der ikke er påkrævet, frarådes for GraphQL API'en, da det kan skabe store forespørgselsstørrelser, som kan få dit workflow til at mislykkes.
  • Der tilføjes nye API-felter, når der introduceres nye funktioner. Dette kan ødelægge dit workflow.

Workflowet mislykkes, hvis der sendes for mange data automatisk. I stedet for at kalde matrixer og objekter direkte, bør du loope over matrixer og kun medtage de ønskede felter.

Eksempel: Brug følgende formater til at kalde specifikke felter i stedet for at kalde {{ order.lineItems }} direkte. Disse eksempler inkluderer alle de felter, der ville være inkluderet ved direkte kald til matrixen eller objektet. Kopiér og indsæt de felter, du har brug for.

Er du klar til at begynde at sælge med Shopify?

Prøv det gratis