Trasmissione dei dati da Shopify Flow
Compila il campo Variabili (JSON) in Shopify Flow senza errori: scopra perché una variabile risulta vuota e come usare un ciclo.
Il layout della Sua e-mail è una figura con dei vuoti. Le variabili (JSON) rappresentano il modo in cui Shopify Flow riempie tali vuoti.
Questo è l’errore più comune in assoluto, quindi vale la pena dedicargli cinque minuti.
Le due metà
| Dove | Ciò che scrive | Esempio |
|---|---|---|
| Nel layout della Sua e-mail | Il segnaposto | Hi {{ variables.firstName }} |
| Nell'azione "Shopify Flow" | Il JSON che lo fornisce | {"firstName": "{{ order.customer.firstName }}"} |
La chiave a sinistra nel JSON deve corrispondere esattamente al nome che segue variables. nel Suo layout: stessa ortografia, stessa uso delle maiuscole. firstName e firstname sono due variabili diverse.
Lasciate che sia l’app a generare il JSON per voi
Non è necessario che lo scriva a mano, e probabilmente non dovrebbe farlo.
Apra il Suo layout. Nella barra laterale (o nella scheda “Variabili di test” del visual builder) è presente una scheda “Usa in Shopify Flow” contenente il codice JSON esatto per quel layout, con tutte le chiavi già corrette. Clicchi su “Copia JSON”, quindi incolli il codice nel campo “Variabili (JSON)” della Sua azione “Invia email transazionale”.
L'app compila la proprietà "Shopify Flow" per i campi che riconosce: nome del cliente, nome dell'ordine, importo totale dell'ordine, URL della pagina di stato e simili. Tutto ciò che non è in grado di dedurre viene visualizzato come <pick a Flow variable> e deve essere sostituito dall'utente.
Come deve presentarsi il file JSON
{
"firstName": "{{ order.customer.firstName }}",
"orderName": "{{ order.name }}",
"statusPageUrl": "{{ order.statusPageUrl }}"
}
Regole da conoscere:
- Racchiuda ogni valore Shopify Flow tra virgolette doppie.
"orderName": {{ order.name }}è un JSON non valido;"orderName": "{{ order.name }}"è corretto. - Vigole tra le voci, nessuna dopo l’ultima.
- Potete scegliere liberamente i nomi delle chiavi. Devono semplicemente corrispondere al vostro layout. Se il vostro layout indica
{{ variables.kunde }}, la chiave saràkunde. - I valori vengono trasmessi sotto forma di testo. I numeri e le date vengono visualizzati così come sono stati convertiti da Shopify Flow.


L’errore più comune: gli articoli
Un ordine è composto da numerosi articoli, pertanto non esiste un unico file variant.title da leggere. Questo comando non restituisce alcun risultato:
{{ order.lineItems.variant.title }}
Ha due valide opzioni.
Opzione 1 - ciclo all’interno del layout. Inviare l’elenco, quindi eseguire l’iterazione. Nell’azione Shopify Flow:
{
"items": "{{ order.lineItems | json }}"
}
Nel Suo layout, utilizzi un blocco Loop:
{% for item in variables.items %}
<tr>
<td>{{ item.title }}</td>
<td>{{ item.quantity }}</td>
</tr>
{% endfor %}
Opzione 2 - appiattirlo in Shopify Flow. Se le serve solo una riga di testo, la crei in Shopify Flow utilizzando un ciclo for e invii la stringa finale:
{
"itemList": "{% for li in order.lineItems %}{{ li.title }} x{{ li.quantity }}{% unless forloop.last %}, {% endunless %}{% endfor %}"
}
Se l’app individua una variabile che sembra contenere dati relativi agli articoli (qualsiasi variabile denominata variant, product, item, sku o quantity), Le invia un avviso al riguardo nella scheda “Utilizza Shopify Flow”.
I valori di prova non sono valori in tempo reale
Questo mette in difficoltà quasi tutti.
- Le variabili di test nell'editor di layout influenzano esclusivamente l'anteprima e l'invio dell'e-mail di prova.
- Un**'esecuzione** in tempo reale di Shopify Flow li ignora completamente e utilizza ciò che viene inviato dall'azione di Shopify Flow.
Pertanto, un’e-mail di prova dall’aspetto impeccabile dimostra che il vostro progetto funziona. Non dimostra però nulla riguardo alla configurazione del vostro Shopify Flow. Verificate sempre eseguendo un vero e proprio workflow.
Quando una variabile risulta vuota
A partire dalla versione 1.10.0, l’app vi informa direttamente, invece di lasciarvi nell’incertezza.
Se un invio in tempo reale azzera il valore di una variabile, la voce nella Cronologia riporta l’indicatore “Variabili vuote” e, aprendola, si visualizzano esattamente quali variabili sono state azzerate, suddivise in due casi:
| Caso | Significato | Correzione |
|---|---|---|
| Inviato da Shopify Flow, ma il messaggio è vuoto | La chiave era presente nel Suo JSON, ma Shopify Flow non ha restituito alcun valore | Il percorso della proprietà "Shopify Flow" è errato oppure è effettivamente vuoto per questo ordine (un checkout come ospite non presenta alcuna proprietà customer.firstName) |
| Non è stato affatto inviato da Shopify Flow | La chiave manca completamente dal Suo JSON | Aggiungetelo: il pulsante “Copia JSON” vi fornisce l’insieme completo |
Prevenzione dei valori nulli
Per qualsiasi elemento facoltativo, preveda un’alternativa nel layout in modo che al cliente non venga mai mostrato uno spazio vuoto:
Hi {{ variables.firstName | default: "there" }}
Se è attivo un filtro default:, l’app considera un valore vuoto come intenzionale e non genererà alcun avviso al riguardo.
Lista di controllo
- Copi il codice JSON dalla scheda “Utilizza in Shopify Flow” presente nel Suo layout.
- Lo incolli nel campo "Variabili (JSON)" dell'azione Shopify Flow.
- Sostituisca qualsiasi
<pick a Flow variable>utilizzando il selettore di variabili di Shopify Flow. - Eseguite un ciclo sugli articoli anziché leggerli direttamente.
- Aggiunga
| default:a qualsiasi elemento facoltativo. - Esegua il workflow effettivamente, quindi verifichi nella Cronologia la presenza di un indicatore di variabili vuote.
Correlati
- Variabili e liquidi - la guida completa ai modelli.
- Creare un layout per un’e-mail - la progettazione del layout stesso.
- Cronologia e risoluzione dei problemi - lettura di un messaggio di invio non andato a buon fine o vuoto.
