Sapere che qualcosa è cambiato raramente è sufficiente. Un workflow di solito deve sapere com’era la situazione in precedenza: se il prezzo è sceso o salito, di quanto, quale tag è stato aggiunto, quale valore riportava il metacampo ieri. Questa versione rende disponibili i valori precedenti e quelli nuovi in tutta l’applicazione e consente a un trigger personalizzato di avviare un workflow anche quando non si è verificato alcun cambiamento.
Valori antichi e nuovi, ovunque
- Ogni trigger di metacampo (generico, prodotto, variante, ordine, cliente) trasmette a Shopify Flow un
Metafield.previousValue, oltre a Metafield.value. Tale campo risulta vuoto quando il metacampo è stato appena creato. Si veda Metacampi.
- Le variazioni di prezzo, prezzo unitario e costo sono accompagnate dai relativi valori numerici. Poiché Shopify Flow non consente operazioni aritmetiche, le notifiche “Variazione del prezzo della variante”, “Variazione del prezzo unitario della variante” e “Variazione del costo della variante del prodotto” forniscono ora anche i valori
delta (nuovo meno vecchio), percentChange e direction (aumento, diminuzione, invariato). «Il prezzo è sceso di oltre il 10%» costituisce ora un’unica condizione, senza codice.
- Gli aggiornamenti relativi a prodotto, ordine e cliente indicano quali modifiche sono state apportate. In precedenza, si limitavano a segnalare che il record era stato aggiornato. Ora riportano un
changes: l’elenco dei campi modificati e, per ciascuno di essi, il valore precedente e quello nuovo. I campi monitorati sono: titolo, descrizione, stato, tag, fornitore, tipo e identificativo per i prodotti; stato del pagamento, stato di evasione, articoli, tag, nota e dettagli aggiuntivi per gli ordini; tag, nota e stato dell’account per i clienti. I valori lunghi vengono abbreviati. L’elenco risulta vuoto quando l’aggiornamento non ha interessato tali campi, ad esempio in caso di modifica dell’inventario.
- La funzione “Modifiche agli articoli della bozza d’ordine” fornisce ora lo stesso confronto riga per riga del trigger dell’ordine: ciò che è stato aggiunto, rimosso o modificato in termini di quantità, prezzo o variante.
- Anche il Suo codice di trigger personalizzato rileva sia il valore precedente che quello nuovo. Un trigger personalizzato relativo all’aggiornamento di un prodotto, di un ordine o di un cliente riceve ora l’
payload._changes: ogni campo monitorato che è stato modificato, ciascuno con oldValue e newValue. In questo modo il Suo codice può attivarsi in base a una transizione piuttosto che a uno stato - “lo stato è passato da bozza ad attivo”, “l’ordine è stato pagato” - cosa che una condizione basata sul valore corrente non è in grado di esprimere. L’evento di esempio che si può visualizzare nell’editor mostra il campo in questione.
Tutto è cumulativo. I workflow che avete già creato continuano a funzionare senza modifiche. L'elenco completo dei campi per ciascun trigger è disponibile nella guida di riferimento dei trigger all’indirizzo.
Selezionare quali modifiche attivano un trigger di aggiornamento
Le sezioni “Aggiornamento prodotto”, “Aggiornamento ordine” e “Aggiornamento cliente” presentano una nuova impostazione, accessibile tramite l’icona a forma di ingranaggio situata accanto al relativo pulsante nella pagina “Trigger” di : tale impostazione determina l’attivazione di questa funzione.
- Nessuna opzione selezionata: il trigger si attiva ad ogni aggiornamento, esattamente come ha sempre fatto.
- Campi contrassegnati: l’invio avviene solo quando uno di essi viene modificato. Tutti gli altri aggiornamenti vengono ignorati e non vengono conteggiati ai fini del Suo piano.
Questo è anche il modo corretto per impedire che un workflow si attivi automaticamente. Un workflow che si avvia in seguito all’aggiornamento di un prodotto e che poi modifica un metacampo del prodotto utilizzato per riavviarsi. Limitate il trigger ai campi che vi interessano e quel secondo aggiornamento non verrà più attivato.
Gli altri trigger non sono influenzati da questa scelta. Limitare l’aggiornamento dell’ordine allo stato di pagamento non modifica il momento in cui viene attivato il trigger “Order Tags Added”.
Trigger personalizzati che vengono eseguiti secondo una pianificazione
Shopify Flow Reagisce quando si verifica un evento. Non può reagire quando non si verifica alcun evento e non può rilevare nulla al di fuori del Suo negozio. Un trigger personalizzato ora è in grado di farlo. L’editor chiede: “Cosa fa scattare questa esecuzione: un evento Shopify o una pianificazione?”. Con la modalità «secondo una pianificazione», il Suo codice viene eseguito ogni 30 secondi, fino a una volta al giorno. Ricorda ciò che ha rilevato durante l’ultima esecuzione, è in grado di leggere il Suo negozio e di richiamare qualsiasi risorsa su Internet, e decide autonomamente cosa costituisce una modifica.
Partite da un modello e modificate i numeri riportati in alto:
- Prodotto, ordine o cliente non aggiornato da N giorni: recensioni obsolete nel catalogo, ordini in sospeso, campagne di riconquista. Ogni record viene attivato una volta per ogni periodo di inattività; eventuali casi già scaduti al momento dell’attivazione non vengono attivati tutti contemporaneamente.
- È stato modificato un valore al di fuori di Shopify: un feed delle scorte di un fornitore, un tasso di cambio, un listino prezzi. Vengono visualizzati il valore precedente e quello successivo, nonché la differenza e la percentuale relative ai numeri.
- Nuovo elemento in un feed RSS o Atom: notizie sui fornitori, un feed con l'elenco dei prodotti, una pagina di stato.
- Nessun ordine per N ore: un "battito" per il Suo negozio. Si attiva una volta quando gli ordini si interrompono e una volta quando riprendono.
La prima esecuzione di un trigger pianificato memorizza solo i dati che rileva, pertanto la sua attivazione non sovraccarica mai i Suoi workflow. Esso compare in Shopify Flow come “Trigger personalizzato”, filtrato in base al proprio handle, mentre il record viene associato come ID. Ogni esecuzione viene conteggiata ai fini del Suo piano, indipendentemente dal fatto che il trigger venga attivato o meno; l’editor mostra il numero totale di esecuzioni accumulate in un determinato intervallo. La modalità «Test» esegue il codice una sola volta senza attivare alcuna azione.
Modelli per trigger personalizzati basati su eventi
Anche i trigger personalizzati che rilevano un evento Shopify dispongono ora di modelli. Selezionandone uno nella sezione “Inizia da un modello”, il trigger seleziona l’evento e inserisce automaticamente il codice. Ciascuno di essi rileva il valore prima e dopo la modifica:
- Un campo relativo a un prodotto, a un ordine o a un cliente è passato da un valore a un altro - ad esempio, lo stato è passato da “bozza” a “attivo” oppure un ordine è stato pagato.
- Il prezzo è sceso di oltre N percento: si tratta di una vera e propria riduzione, non di una semplice modifica del prezzo.
- Le scorte sono scese al di sotto di una soglia: si attiva un avviso una sola volta, nel momento in cui le scorte superano tale soglia, non ad ogni vendita quando il livello è già basso.
- Il valore di un metacampo del prodotto ha superato una soglia: una valutazione è scesa al di sotto di 3, un margine ha superato il valore di 40.
- Ordine pagato da un cliente di alto valore: rileva la spesa complessiva del cliente nel vostro negozio tramite
ctx.shopify() e si attiva solo se tale importo supera la soglia da voi impostata.
Gli eventi di trigger di un record nella relativa pagina di amministrazione
I nuovi blocchi di amministrazione mostrano gli eventi di attivazione più recenti relativi al record che state visualizzando, direttamente nella pagina corrispondente nell’area di amministrazione di Shopify, ciascuno con una breve riga che indica il passaggio da “vecchio” a “nuovo”, ad esempio price: 100.00 -> 85.00. Da lì è possibile aprire l’evento oppure visualizzare la cronologia degli eventi relativi a quel singolo record.
Disponibile per prodotti, varianti, ordini, bozze d’ordine, clienti, incassi, aziende e sedi aziendali. Aggiunga il blocco una sola volta dal menu di personalizzazione della pagina. I trigger che gestiscono i dati personali sono elencati senza i relativi valori. Come aggiungerli, con un esempio relativo a una pagina di prodotto, di ordine e di cliente: Eventi trigger nella pagina di amministrazione di un record.
Ulteriori fornitori di IA per Generate with AI
Generate con l’IA ora funziona con Google Gemini e OpenRouter, oltre che con Anthropic e OpenAI. OpenRouter Le offre modelli di numerose aziende con un’unica chiave, compreso qualsiasi ID modello da Lei digitato. Collegare una chiave in Developer -> Connections: per ottenere una chiave API Gemini oppure per ottenere una chiave API OpenRouter. Come in precedenza, la generazione avviene sul proprio account del provider e la chiave viene crittografata e non verrà mai più visualizzata.
Un'interfaccia più veloce, realizzata sulla base dei componenti web di Shopify
Ogni pagina dell’app è stata ricostruita utilizzando i nuovi componenti web di amministrazione di Shopify, gli stessi elementi costitutivi utilizzati dalla stessa interfaccia di amministrazione di Shopify.
- Caricamento più rapido. L'app non include più una propria copia della libreria delle interfacce. I componenti provengono da Shopify, sono condivisi con il resto del vostro pannello di amministrazione e solitamente sono già presenti nella cache del vostro browser; pertanto, ogni pagina richiede un volume di dati da scaricare notevolmente inferiore prima di essere visualizzata.
- Sembra proprio l'area di amministrazione. I pulsanti, le tabelle, gli interruttori, le finestre di dialogo e i moduli hanno lo stesso aspetto e funzionano esattamente come quelli che utilizzate in ogni altra parte di Shopify, compresa la navigazione da tastiera e i lettori di schermo.
- Si mantiene sempre aggiornata. Quando Shopify apporta miglioramenti ai propri componenti, l’app li integra automaticamente senza che sia necessario alcun aggiornamento da parte nostra.
Non è cambiato nulla: ogni pagina, impostazione e link si trova esattamente dove prima.
Inoltre, in questa versione
- "Concedi tutto" e "Revoca tutto" nella pagina "Autorizzazioni". L'opzione "Concedi tutto" richiede tutte le autorizzazioni mancanti in un’unica finestra di dialogo Shopify, anziché una per ciascuna scheda. L'opzione "Revoca tutto" richiede prima una conferma e spiega cosa comporta: i Suoi trigger rimangono attivi, ma non potranno attivarsi finché non concederà nuovamente l'accesso.
- Il codice di trigger personalizzato può effettuare chiamate verso Internet pubblico tramite
ctx.fetch(), non solo verso il Suo negozio tramite ctx.shopify(). Gli indirizzi interni non sono ammessi.
- I suoi trigger personalizzati e quelli della vetrina online ora funzionano allo stesso modo: clicchi sulla riga per modificarla; lo stato è visualizzato sulla destra.
- La pagina “Trigger” mostra, accanto al titolo, il numero di trigger attivi, mentre i quattro trigger di metacampo di tipo “typed” dispongono ora di propri pulsanti di attivazione nell’elenco.
- I campi obbligatori sono contrassegnati nei moduli relativi ai trigger personalizzati, ai trigger della vetrina online e alle connessioni.
- Risolto: non era possibile cancellare un filtro per data nella Cronologia eventi. Rimuovendo il chip della data o selezionando “Cancella tutto”, le date rimanevano comunque applicate. Ora entrambe le operazioni consentono di cancellarle.
- Le righe della cronologia degli eventi sono in testo semplice anziché collegamenti blu. È comunque possibile cliccare sull'intera riga.