Överföring av data från Shopify Flow
Fyll i fältet Variabler (JSON) i Send Transactional Email i Shopify Flow, kopiera färdig JSON från din layout och åtgärda tomma variabler i e-posten.
Din e-postlayout är en form med hål i. Variabler (JSON) är det sätt på vilket Shopify Flow fyller dessa hål.
Det här är det vanligaste misstaget man kan göra, så det är värt att lägga fem minuter på det.
De två halvorna
| Var | Vad du skriver | Exempel |
|---|---|---|
| I din e-postlayout | Platshållaren | Hi {{ variables.firstName }} |
| I Shopify Flow-åtgärden | JSON-data som ligger till grund för det | {"firstName": "{{ order.customer.firstName }}"} |
Nyckeln till vänster i JSON-koden måste stämma exakt överens med namnet efter variables. i din layout - samma stavning, samma versaler. firstName och firstname är två olika variabler.
Låt appen skapa JSON-koden åt dig
Du behöver inte skriva detta för hand, och det bör du förmodligen inte heller göra.
Öppna din layout. I sidofältet (eller på fliken ”Testvariabler” i den visuella byggaren) finns ett kort med namnet ”Använd i Shopify Flow” som innehåller den exakta JSON-koden för just den layouten, där alla nycklar redan är korrekt angivna. Klicka på ”Kopiera JSON” och klistra sedan in koden i fältet ”Variabler (JSON)” i din åtgärd ”Send Transactional Email”.
Appen fyller i Shopify Flow-egenskapen för de fält den känner igen - kundnamn, ordernamn, ordertotal, URL till statusidan och liknande. Allt som den inte kan utläsa visas som <pick a Flow variable>, så att du kan fylla i det själv.
Hur JSON-filen ska se ut
{
"firstName": "{{ order.customer.firstName }}",
"orderName": "{{ order.name }}",
"statusPageUrl": "{{ order.statusPageUrl }}"
}
Regler som är bra att känna till:
- Sätt dubbla citattecken runt varje Shopify Flow-värde.
"orderName": {{ order.name }}är ogiltig JSON;"orderName": "{{ order.name }}"är korrekt. - Kommatecken mellan posterna, inget efter den sista.
- Du väljer själv nyckelnamnen. De behöver bara stämma överens med din layout. Om din layout innehåller
{{ variables.kunde }}är nyckelnkunde. - Värdena skickas som text. Siffror och datum visas i det format som Shopify Flow har omvandlat dem till.


Det vanligaste misstaget: enskilda poster
En beställning består av många rader, så det finns ingen enskild variant.title att läsa av. Detta returnerar inget:
{{ order.lineItems.variant.title }}
Du har två bra alternativ.
Alternativ 1 - använd en slinga inuti layouten. Skicka listan och gå sedan igenom den. I Shopify Flow-åtgärden:
{
"items": "{{ order.lineItems | json }}"
}
Använd ett Loop-block i din layout:
{% for item in variables.items %}
<tr>
<td>{{ item.title }}</td>
<td>{{ item.quantity }}</td>
</tr>
{% endfor %}
Alternativ 2 - förenkla det i Shopify Flow. Om du bara behöver en textrad kan du skapa den i Shopify Flow med en for-slinga och skicka den färdiga strängen:
{
"itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}
Om appen upptäcker en variabel som ser ut som artikeluppgifter - till exempel något som heter variant, product, item, sku eller quantity - varnar den dig om detta på kortet ”Använd i Shopify Flow”.
Testvärdena är inte realtidsvärden
Det här ställer till det för nästan alla.
- Testvariablerna i layoutredigeraren styr endast förhandsgranskningen och funktionen ”Skicka testmejl”.
- En körning av Shopify Flow i produktionsmiljön ignorerar dem helt och hållet och använder istället det som Shopify Flow-åtgärden skickar.
Ett testmejl som ser perfekt ut bevisar alltså att din design fungerar. Det säger ingenting om din Shopify Flow-konfiguration. Kontrollera alltid genom att köra ett riktigt arbetsflöde.
När en variabel är tom
Sedan version 1.10.0 informerar appen dig istället för att låta dig gissa.
Om en live-sändning nollställer en variabel, markeras posten i historiken med en etikett som anger ”Tomma variabler”, och när man öppnar den visas exakt vilka variabler det gäller, uppdelat i två fall:
| Fall | Betydelse | Åtgärd |
|---|---|---|
| Skickat via Shopify Flow, men tomt | Nyckeln fanns i din JSON, men Shopify Flow genererade inget värde | Shopify Flow-egenskapsvägen är felaktig eller helt tom för denna beställning (vid gästkassan finns ingen customer.firstName) |
| Har inte skickats via Shopify Flow överhuvudtaget | Nyckeln saknas helt i din JSON-fil | Lägg till det - med knappen ”Kopiera JSON” får du hela uppsättningen |
Skydda mot tomma värden
För allt som är valfritt bör du lägga in en reservlösning i layouten så att kunden aldrig får se ett tomt fält:
Hi {{ variables.firstName | default: "there" }}
När filtret default: är aktiverat tolkar appen ett tomt värde som avsiktligt och visar ingen varning om detta.
Checklista
- Kopiera JSON-koden från kortet ”Använd i Shopify Flow” i din layout.
- Klistra in det i fältet ”Variabler (JSON)” i Shopify Flow-åtgärden.
- Ersätt alla
<pick a Flow variable>med hjälp av Shopify Flows variabelväljare. - Gå igenom enskilda poster i en loop istället för att läsa dem direkt.
- Lägg till
| default:framför alla valfria uppgifter. - Kör arbetsflödet på riktigt och kontrollera sedan om det finns en markering för ”Tomma variabler” under Historik.
Relaterat
- Variabler och vätska - den fullständiga referensen för mallar.
- Skapa en e-postlayout - utformning av själva layouten.
- Historik och felsökning - läsa en misslyckad eller tom sändning.
