Overføring av data fra Shopify Flow

Overføring av data fra Shopify Flow

Kopier side

Fyll ut Variabler (JSON) i Shopify Flow-handlingen Send Transactional Email, få nøklene riktige og finn ut hvorfor en variabel vises tom.

E-postoppsettet ditt er en figur med hull i. Variabler (JSON) er måten Shopify Flow bruker for å fylle disse hullene.

Dette er den vanligste feilen man gjør, så det er verdt å bruke fem minutter på det.

De to halvdelene

Hvor Det du skriver Eksempel
I e-postoppsettet ditt Plassholderen Hi {{ variables.firstName }}
I **Shopify Flow-**handlingen JSON-filen som leverer den {"firstName": "{{ order.customer.firstName }}"}

Nøkkelen til venstre i JSON-filen må stemme nøyaktig overens med navnet etter variables. i oppsettet ditt - samme stavemåte, samme bruk av store bokstaver. firstName og firstname er to forskjellige variabler.

La appen skrive JSON-koden for deg

Du trenger ikke å skrive dette for hånd, og det bør du nok heller ikke.

Åpne oppsettet ditt. I sidepanelet (eller under fanen Testvariabler i den visuelle byggeren) finnes det et «Bruk i Shopify Flow»-kort som inneholder den nøyaktige JSON-koden for det aktuelle oppsettet, der alle nøkler allerede er riktige. Trykk på Kopier JSON, og lim den deretter inn i feltet Variabler (JSON) i handlingen Send Transactional Email.

Appen fyller ut Shopify Flow-egenskapen for feltene den gjenkjenner - kundenavn, ordrenavn, ordretotal, URL til statusiden og lignende. Alt den ikke kan utlede, vises som <pick a Flow variable>, slik at du kan fylle det inn selv.

Hvordan JSON-filen skal se ut

{
  "firstName": "{{ order.customer.firstName }}",
  "orderName": "{{ order.name }}",
  "statusPageUrl": "{{ order.statusPageUrl }}"
}

Regler det er verdt å kjenne til:

  • Sett alle Shopify Flow-verdier i doble anførselstegn. "orderName": {{ order.name }} er ugyldig JSON; "orderName": "{{ order.name }}" er riktig.
  • Komma mellom oppføringene, men ikke etter den siste.
  • Du kan selv velge nøkkelnavn. De må bare stemme overens med oppsettet ditt. Hvis oppsettet ditt inneholder {{ variables.kunde }}, er nøkkelen kunde.
  • Verdiene kommer inn som tekst. Tall og datoer vises slik Shopify Flow har gjengitt dem.
Handlingen Send Transactional Email i Shopify Flow med «Reply-To», «From name», «Language» og JSON-filen «Variables» fylt med Shopify Flow-variabler
Variabler (JSON) i handlingen: dine nøkler til venstre, Shopify Flow-variabler til høyre. Over dette ligger feltene «Svar til», «Fra» og «Språk».
Fanen «Testvariabler» i et oppsett med panelet «Bruk i Shopify Flow» og knappen «Kopier JSON»
Fanen «Testvariabler» i oppsettet genererer JSON-koden for deg: Kopier JSON-koden, lim den inn i handlingen og erstatt verdiene.

Den vanligste feilen: linjeposter

En ordre består av mange linjeposter, så det finnes ikke én enkelt variant.title-verdi å hente ut. Dette gir ingen resultater:

{{ order.lineItems.variant.title }}

Du har to gode alternativer.

Alternativ 1 - løkke inne i oppsettet. Send listen, og gå deretter gjennom den. I Shopify Flow-handlingen:

{
  "items": "{{ order.lineItems | json }}"
}

Bruk en Loop-blokk i oppsettet ditt:

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

Alternativ 2 - forenkle den i Shopify Flow. Hvis du bare trenger én tekstlinje, kan du lage den i Shopify Flow med en for-sløyfe og sende den ferdige teksten:

{
  "itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}

Hvis appen oppdager en variabel som ser ut som varelinjedata - alt som heter variant, product, item, sku eller quantity - vil den gi deg en advarsel om dette på kortet «Bruk i Shopify Flow».

Testverdiene er ikke sanntidsverdier

Dette er noe nesten alle snubler over.

  • Testvariablene i layoutredigereren påvirker kun forhåndsvisningen og funksjonen Send test-e-post.
  • En kjøring av Shopify Flow i produksjonsmiljøet ignorerer dem fullstendig og bruker det som Shopify Flow-handlingen sender.

En test-e-post som ser perfekt ut, beviser altså at designet ditt fungerer. Det sier imidlertid ingenting om konfigurasjonen av Shopify Flow. Sjekk alltid ved å kjøre en ekte arbeidsflyt.

Når en variabel er tom

Siden versjon 1.10.0 gir appen deg beskjed, i stedet for å la deg gjette.

Hvis en live-sending setter en variabel til null, vises det et Tomme variabler-merke ved oppføringen i Historikk, og når man åpner den, vises det nøyaktig hvilke variabler det gjelder, delt inn i to tilfeller:

Sak Betydning Løsning
Sendt via Shopify Flow, men tom Nøkkelen var i JSON-filen din, men Shopify Flow genererte ingen verdi Shopify Flow-egenskapsbanen er feil, eller helt tom for denne bestillingen (en gjestekasse har ingen customer.firstName)
Ikke sendt via Shopify Flow i det hele tatt Nøkkelen mangler helt i JSON-filen din Legg det til - knappen «Kopier JSON» gir deg hele settet

Beskyttelse mot tomme verdier

For alt som er valgfritt, bør du legge inn en reserve i oppsettet, slik at kunden aldri får se et tomt felt:

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

Når default:-filteret er aktivert, tolker appen en tom verdi som tilsiktet og vil ikke gi noen advarsel om dette.

Sjekkliste

  1. Kopier JSON-koden fra kortet «Bruk i Shopify Flow» i oppsettet ditt.
  2. Lim det inn i feltet Variabler (JSON) i Shopify Flow-handlingen.
  3. Erstatt alle forekomster av <pick a Flow variable> med Shopify Flows variabelvelger.
  4. Gå gjennom linjepostene i en løkke i stedet for å lese dem direkte.
  5. Legg til | default: for alle valgfrie elementer.
  6. Kjør arbeidsflyten på ordentlig, og sjekk deretter Historikk for å se om det vises et merke for Tomme variabler.

Relatert