Variabler og væske

Variabler og væske

Kopier side

Referanse for Liquid i Shopify Flow-e-poster og HTTP-forespørsler: variabler, hemmeligheter, butikkverdier, språk, avmeldingslenker, løkker og betingelser.

Alt som er dynamisk i denne appen er skrevet i Liquid - det samme malspråket som Shopify-temaene bruker. Du skriver inn en plassholder, og appen fyller den ut når meldingen sendes.

Navneområde Hvor verdien kommer fra Tilgjengelig i
{{ variables.key }} Feltet Variabler (JSON) i Shopify Flow-handlingen E-postens emne og brødtekst, HTTP-URL, overskrifter og brødtekst
{{ secrets.key }} Siden Hemmeligheter Det samme, pluss brukernavn og passord for SMTP
{{ shop.name }}, {{ shop.domain }}, {{ shop.email }} Butikken din E-post- og HTTP-handlinger
{{ language }} Språket som Shopify Flow-trinnet sendte, ellers oppsettets hovedspråk E-postemne, forhåndsvisningstekst og brødtekst - se Send e-poster på kundens språk
{{ unsubscribe_link }}, {{ unsubscribe_url }} Mottakerens avmeldingslenke, kun i markedsføringsmaler E-posttekst; tom i transaksjonsmaler - se nedenfor
{{ flow.key }} Den rå Shopify Flow-datapakken Kun HTTP-forespørsler

Kortet Systemvariabler i redigeringsverktøyet viser butikkverdiene med deres nåværende innhold, og når du klikker på en av dem, kopieres den.

Overføring av variabler fra Shopify Flow

I Shopify Flow-handlingen legger du inn et JSON-objekt i feltet Variabler (JSON):

{
  "firstName": "{{ customer.firstName }}",
  "orderNumber": "{{ order.name }}",
  "total": "{{ order.totalPriceSet.shopMoney.amount }}"
}

Deretter kan du henvise til dem hvor som helst i oppsettet:

Hi {{ variables.firstName }}, your order {{ variables.orderNumber }} is on its way.

Du velger selv hvilke nøkler du vil bruke. Det du skriver inn til venstre, er det du bruker etter variables. - stavemåten og bruken av store bokstaver må stemme nøyaktig overens.

Du trenger ikke å skrive denne JSON-koden for hånd. Hvert oppsett har et «Bruk i Shopify Flow»-kort med den riktige JSON-koden klar til å kopieres - se Overføring av data fra Shopify Flow.

Filtre

Standard væskefiltre fungerer. Det mest nyttige er default, som beskytter deg mot tomme verdier:

Hi {{ variables.firstName | default: "there" }}

Andre oppfører seg slik man kunne forvente:

{{ variables.productTitle | upcase }}
{{ variables.total | round: 2 }}
{{ variables.note | truncate: 100 }}

Når en variabel vises som tom

En live-sending som gjengir en referert variabel som «nothing», får merket Tomme variabler i historikken. Når man åpner oppføringen, får variablene egne navn, og to ulike problemer skilles fra hverandre:

  • Sendt av Shopify Flow, men tomt - nøkkelen var i JSON-filen din, men Shopify Flow genererte ingen verdi. Vanligvis skyldes dette en feil egenskapsbane eller et felt som faktisk er tomt for den aktuelle posten (en gjestekasse har ikke fornavn på kunden).
  • Dette er ikke sendt av Shopify Flow i det hele tatt - nøkkelen mangler fullstendig i JSON-filen din.

Hvis du legger til en | default:-reserveverdi, markeres det tomme feltet som tilsiktet, og appen slutter å gi advarsler om det.

Betingelsesuttrykk og løkker

Bruk **HTML-/**kodeblokken til betingelser:

{% if variables.isVip %}
  <p>As a VIP you get free shipping on this order.</p>
{% else %}
  <p>Spend a little more to unlock free shipping.</p>
{% endif %}

Bruk Loop-blokken til å gjenta en prosess over en matrise, for eksempel varelinjer i en ordre:

{% for item in variables.items %}
  <tr>
    <td>{{ item.title }}</td>
    <td>{{ item.quantity }}</td>
    <td>{{ item.price }}</td>
  </tr>
{% endfor %}

Send arrayet fra Shopify Flow som JSON:

{
  "items": [
    { "title": "Classic White T-Shirt", "quantity": 2, "price": "29.00" },
    { "title": "Eco Water Bottle", "quantity": 1, "price": "19.00" }
  ]
}

For å forhåndsvise en sløyfe i byggverktøyet, skriv inn den samme JSON-matrisen som verdien i fanen Testvariabler.

Objekter oppfører seg forskjellig i e-post og HTTP

Dette er den eneste skarpe kanten det er verdt å kjenne til.

  • I en HTTP-forespørsel vil interpolering av et objekt eller en matrise automatisk serialisere det til JSON. {{ variables.records }} blir til en fullverdig JSON-matrise i forespørselsteksten. Et json-filter er også tilgjengelig hvis du ønsker å gjøre dette eksplisitt.
  • I en e-post skjer det ingen slik konvertering. Når man interpolerer et helt objekt, vises teksten bokstavelig talt som [object Object].

I e-poster bør du derfor alltid hente emnet fra filen i stedet for å skrive det ut:

Wrong:  {{ variables.customer }}
Right:  {{ variables.customer.firstName }} {{ variables.customer.lastName }}

Eller gå gjennom en matrise i en løkke i stedet for å skrive ut hele matrisen.

Hemmeligheter i maler

Du kan henvise til en lagret hemmelighet på samme måte:

Authorization: Bearer {{ secrets.airtableAccessToken }}

Bruk nøyaktig syntaksen {{ secrets.keyName }}. Følgende fungerer ikke:

  • {{ secret.keyName }} - entall
  • {{ secrets['keyName'] }} - parentes-syntaks

Nøkkelnavnene er store og små bokstaver. Se Hemmeligheter.

Overskriving av Body-feltet for HTTP-forespørsler

Feltet «variabler» i HTTP-handlingen har en annen modus. Hvis du angir nøkkelen body, erstatter den den lagrede forespørselsteksten fullstendig:

{
  "body": { "anything": "you like", "shaped": ["however"] }
}

Dette er nyttig når formen på nyttelasten bestemmes av et tidligere trinn i Shopify Flow. Det eneste unntaket er hvis den lagrede teksten selv refererer til {{ variables.body }}; da blir den i stedet behandlet som en vanlig variabel.

Tester det du skrev

Forhåndsvisningen på siden tolker ikke Liquid - den viser taggene slik de er skrevet. For å se de utførte verdiene:

  • For e-poster kan du bruke funksjonen Send test-e-post i layoutredigereren.
  • For HTTP-forespørsler kan du bruke «Test»-knappen, som viser Resolved URL og Resolved Body sammen med svaret.

Avmeldingslenken i markedsføringsmaler

Et oppsett med e-posttypen Markedsføring får to variabler til. Hver mottaker av en markedsførings-e-post har sin egen avmeldingslenke, og disse plasserer den:

  • {{ unsubscribe_link }} viser en lenke med teksten Meld deg av fra Innstillinger (eller den som er angitt i selve oppsettet).
  • {{ unsubscribe_url }} viser den rene adressen, slik at du selv kan utforme en knapp eller et anker.
<p>No longer interested? <a href="{{ unsubscribe_url }}">Unsubscribe here</a>.</p>

Du trenger ikke å bruke dem: Hver markedsførings-e-post får uansett lagt til en bunntekst med avmeldingslenke. Når selve e-postteksten allerede inneholder lenken, utelater bunnteksten avmeldingssetningen og legger kun til bedriftsopplysningene. I emnefeltet og forhåndsvisningsteksten vises begge variablene som tomme, og i et transaksjonsoppsett er de alltid tomme. Se Markedsførings-e-poster og avmeldinger.

Relatert