Variabili in Shopify Flow

Le variabili sono segnaposti che vengono sostituiti con valori durante l'esecuzione di un flusso di lavoro e descrivono gli attributi dei clienti, degli ordini e dei prodotti coinvolti nei flussi di lavoro. Ad esempio, esistono variabili per il numero dell'ordine, il prezzo dell'ordine, il nome del cliente e così via.

Flow utilizza una versione di Liquid diversa dai temi di Shopify e può accedere a una qualsiasi delle variabili disponibili tramite l'Admin API GraphQL.

I nomi della maggior parte delle variabili sono auto-descrittivi. Ad esempio, la variabile che mostra il nome del prodotto è {{ product.title }}. Quando il messaggio viene inviato, questa variabile viene sostituita con il nome del prodotto ordinato: Large Coffee Mug.

Aggiunta di variabili alle azioni

Puoi aggiungere variabili modello a ogni campo di testo che contenga il link Add variable (Aggiungi variabile). Clicca sul link Add variable (Aggiungi variabile) sotto il campo pertinente, quindi scegli una variabile dall'elenco.

Poiché le variabili dell'elenco Add variable (Aggiungi variabile) vengono filtrate, risultano visibili solo quelle che si applicano al trigger scelto. Dopo aver scelto una variabile dall'elenco, questa viene formattata correttamente e aggiunta alla casella di testo.

Flow supporta quasi tutti i campi delle Admin API di GraphQL.

Variabili Liquid

Se sei uno sviluppatore con esperienza nella scrittura del codice Liquid, puoi utilizzare Liquid per scrivere le variabili o modificare quelle inserite utilizzando il link Add variable (Aggiungi variabile). Per maggiori informazioni, consulta le informazioni di riferimento dell'Admin API GraphQL.

Tag condizionali e di iterazione

Puoi aggiungere manualmente i tag della variabile Liquid al flusso di lavoro. Questi tag consentono di includere maggiori informazioni ai tuoi messaggi.

Ad esempio, puoi utilizzare un oggetto for loop per eseguire un'iterazione in un elenco di oggetti, come nel caso delle voci di un ordine. Con questi tag, puoi creare messaggi che contengono dettagli come titolo del prodotto, SKU, prezzo e quantità per ogni voce dell'ordine ed evitare ai destinatari di dover cercare queste informazioni nel pannello di controllo Shopify.

Flow supporta i seguenti tag condizionali (o del flusso di controllo) di Liquid:

Flow supporta inoltre i seguenti tag di iterazione di Liquid:

Filtri

Flow supporta i seguenti filtri Liquid:

Filtri Liquid supportati da Flow
Nome del filtro Tipo di filtro
abs Math
append String
at_least Math
at_most Math
capitalize String
ceil Math
concat Array
date Aggiuntivi
predefinito Aggiuntivi
divided_by Math
downcase String
escape String
Primo Array
floor Math
join Array
last Array
lstrip String
map Array
minus Math
modulo Math
newline_to_br String
plus Math
prepend String
Rimuovi String
remove_first String
replace String
replace_first String
reverse Array
round Math
rstrip String
Misura Array
slice String
ordina Array
split String
strip String
strip_html String
strip_newlines String
times Math
truncate String
truncatewords String
uniq Array
upcase String
url_encode String
dove Array

Esempi di variabili

Ad esempio, potresti voler creare un flusso di lavoro per inviare un'email a un dipendente quando un cliente spende più di 500 USD per un ordine. Puoi creare un flusso di lavoro utilizzando il trigger Order created (Ordine creato), impostare una condizione come true quando il totale dell'ordine è superiore a 500 USD e utilizzare l'azione Send internal email (Invia email interna). Nella sezione Message (Messaggio) dell'azione Send internal email (Invia email interna) utilizzerai le variabili seguenti.

Esempio di uso delle variabili per fornire i dettagli del cliente.
Input Output
Invia una nota di ringraziamento personale a {{ order.customer.firstName }} {{ order.customer.lastName }}({{ order.customer.email }}) per aver effettuato un ordine di {{ order.totalPriceSet.shopMoney.amount }} USD. Invia una nota di ringraziamento personale a Rosa Bianchi (rosa@example.com) per aver effettuato un ordine di 763,42 USD.

Decidi di informare un membro dello staff quando le scorte dei prodotti si stanno esaurendo ed è necessario effettuare un ordine per aumentarle. Crei un flusso di lavoro che si avvia con il trigger Inventory quantity changed (Quantità di scorte modificata) e imposti una condizione come true quando la quantità di scorte precedente è inferiore o uguale a 10. Nella sezione Message (Messaggio) dell'azione Send internal email (Invia email interna) utilizzerai le variabili seguenti.

Esempio di uso delle variabili per fornire i dettagli dell'articolo.
Input Output
Ordina di nuovo {{ product.title }}. Invia un'email all'indirizzo owner@store.com per verificare che abbia ricevuto l'ordine d'acquisto. Ordina di nuovo i leggings a vita alta - Nero. Invia un'email all'indirizzo owner@example.com per verificare che abbia ricevuto l'ordine d'acquisto.

Desideri annullare gli ordini con un livello di rischio alto, ma preferisci che il tuo staff compia tale azione manualmente. Puoi creare un flusso di lavoro che si avvia con il trigger Order created (Ordine creato) e impostare una condizione come true quando il livello di rischio dell'ordine è uguale a Alto. Nella sezione Message (Messaggio) dell'azione Send internal email (Invia email interna) utilizzerai le variabili seguenti.

Esempio di uso delle variabili per fornire i dettagli di un ordine fraudolento.
Input Output
Il nostro negozio Shopify ha ricevuto un ordine ad alto rischio di frode. Vogliamo annullarlo immediatamente, prima che venga inviato alla produzione:

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

Conferma il nuovo stato dell'ordine. Grazie!
Il nostro negozio Shopify ha ricevuto un ordine ad alto rischio di frode. Vogliamo annullarlo immediatamente, prima che venga inviato alla produzione:

#1001
Dupont, Jeanne
jeanne@example.com

Conferma il nuovo stato dell'ordine. Grazie!

Esempi di ciclo for

Alla ricezione di un ordine, potrebbe risultare utile inviare un messaggio con un riepilogo dei prodotti ordinati. Per farlo, puoi utilizzare un for loop, che esegue ripetutamente un blocco di codice. I campi di testo che supportano le variabili supportano anche i cicli for e l'oggetto forloop.

Ad esempio, potresti voler creare un flusso di lavoro che restituisca un elenco di tutte le SKU e le quantità di un ordine. Nella sezione Message (Messaggio) dell'azione Send internal email (Invia email interna) utilizzerai le variabili seguenti.

Esempio di uso del ciclo for per fornire informazioni sull'ordine.
Input Output
Riepilogo dell'ordine:
{% for a in order.lineItems %}
SKU: {{a.sku}} ( {{a.quantity}} ),
{% endfor %}
Riepilogo dell'ordine:
8987097979 (50)
8877778887 (3)
888998898B (1)

Decidi di aggiungere all'email ulteriori informazioni, tra cui il nome del prodotto, le SKU, il prezzo per articolo e i dati di spedizione del cliente Nella sezione Message (Messaggio) dell'azione Send internal email (Invia email interna) utilizzerai le variabili seguenti.

Esempio di uso del ciclo for per fornire informazioni più dettagliate sull'ordine.
Input Output
Riepilogo dell'ordine:
{% for a in order.lineItems %}
Prodotto: {{a.title}}
SKU: {{a.sku}}
Prezzo (unitario): {{a.originalUnitPriceSet.shopMoney.amount}} USD
Quantità: {{a.quantity}}
{% endfor %}
Riepilogo dell'ordine:
Prodotto: Leggings a vita alta - Nero
SKU: 8987097979
Prezzo (unitario): 8,49 USD
Quantità: 5
Prodotto: Calzini sportivi - Blu
SKU: 888998898B
Prezzo (unitario): 5,61 USD
Quantità: 2

Devi monitorare gli articoli venduti forniti da un fornitore specifico. Nella sezione Message (Messaggio) dell'azione Send internal email (Invia email interna) utilizzerai le variabili seguenti e includerai un costrutto if nel for loop.

Esempio di uso del ciclo for e del costrutto if per fornire informazioni sull'ordine per fornitori specifici.
Input Output
Prodotto Acme venduto:
{% for x in order.lineItems %}
{% if x.vendor == 'acme-vendor' %}
Nome del prodotto: {{x.title}}
SKU: {{x.sku}}
{% endif %}
{% endfor %}
Prodotto Acme venduto:
Nome del prodotto: Leggings a vita alta - Nero
SKU: 8987097979

Oggetti dati complessi su Shopify Flow

Shopify Flow non supporta l'output di matrici e oggetti per i seguenti motivi:

  • L'output di dati non obbligatori è deprecato per l'API GraphQL e potrebbe creare dimensioni elevate di query, che causano errori nel flusso di lavoro.
  • Con l'introduzione di nuove funzionalità vengono aggiunti nuovi campi API, il che potrebbe interrompere il flusso di lavoro.

Se vengono inviati automaticamente troppi dati, il flusso di lavoro non va a buon fine. Anziché chiamare direttamente matrici e oggetti, esegui il ciclo sulle matrici e includi solo i campi desiderati.

Ad esempio, anziché chiamare direttamente {{ order.lineItems }}, utilizza il formato seguente per chiamare campi specifici. Questi esempi includono tutti i campi che verrebbero inclusi chiamando direttamente la matrice o l'oggetto. Copia e incolla i campi di cui hai bisogno.

Sei pronto per iniziare a vendere con Shopify?

Provalo, è gratis