Risoluzione dei problemi in Shopify Flow

Shopify Flow ti aiuta ad automatizzare le attività e i processi nel tuo negozio, ma potresti riscontrare errori o raggiungere determinati limiti durante la creazione o la modifica dei flussi di lavoro. Questa pagina illustra i problemi comuni che potresti incontrare, come i limiti dei flussi di lavoro e gli errori relativi ai dati, e fornisce una guida su come risolverli. Comprendere questi errori può aiutarti a risolvere i problemi e a far funzionare i flussi di lavoro senza intoppi.

Errori durante la creazione dei flussi di lavoro

Durante la creazione di un flusso di lavoro, potresti riscontrare errori che ti impediscono di aggiungerne uno nuovo. Di seguito sono riportati alcuni degli errori che potresti riscontrare:

Numero di flussi di lavoro superato

Quando crei un nuovo flusso di lavoro, potresti riscontrare un errore che indica Hai raggiunto il limite massimo di 1000 flussi di lavoro consentiti. Per continuare, elimina i flussi di lavoro inutilizzati e riprova.

Flow limita a 1000 il numero di flussi di lavoro che un negozio può avere. Sono inclusi i flussi di lavoro attivi e inattivi. Se raggiungi questo limite e desideri creare un nuovo flusso di lavoro, elimina quelli inutilizzati o inattivi.

Se il tuo negozio aveva più di 1000 flussi di lavoro prima dell'impostazione di questo limite, può continuare a funzionare con più di 1000 flussi di lavoro. Tuttavia, per creare nuovi flussi di lavoro, devi essere al di sotto del limite.

Potresti riscontrare questo errore quando esegui diverse azioni nell'app Flow:

  • Creazione di un nuovo flusso di lavoro
  • Duplicazione di un flusso di lavoro
  • Importazione di un flusso di lavoro
  • Installazione di un modello
Troppi flussi di lavoro sullo stesso trigger

Quando attivi un flusso di lavoro, potresti visualizzare un avviso che indica che nel negozio ci sono più di 10 flussi di lavoro attivi che usano lo stesso trigger.

Avere molti flussi di lavoro che condividono lo stesso trigger può causare problemi di prestazioni, perché ogni volta che si verifica l'evento trigger, Flow deve elaborare tutti i flussi di lavoro associati. Questa ramificazione può comportare tempi di esecuzione più lunghi e un maggiore utilizzo delle risorse.

Per ridurre il numero di flussi di lavoro per un singolo trigger, valuta i seguenti approcci:

  • Combina i flussi di lavoro che usano lo stesso trigger in un unico flusso di lavoro con più diramazioni e condizioni.
  • Disattiva o elimina i flussi di lavoro non più necessari.
  • Valuta se per alcuni flussi di lavoro sia possibile utilizzare un trigger più specifico.

Errori durante la modifica dei flussi di lavoro

Quando modifichi un flusso di lavoro, potresti riscontrare errori che ti impediscono di salvarlo. Di seguito sono riportati gli errori comuni che potresti riscontrare durante la modifica di un flusso di lavoro:

Dati non trovati

Quando aggiungi una nuova azione a un flusso di lavoro, potresti riscontrare un errore che indica Dati non trovati:

Errore Dati non trovati

Questo errore si verifica perché molte azioni, tra cui Aggiungi tag di prodotto, richiedono una risorsa Shopify, come un prodotto. Se tale risorsa non è disponibile, l'azione non può essere eseguita. Spesso i flussi di lavoro possono contenere dati simili a quelli richiesti, ma che in realtà non forniscono ciò che è necessario.

Le sezioni seguenti descrivono gli scenari comuni che possono causare questo errore e come risolverli.

Problema 1: l'azione “Ottieni dati” ha fornito un elenco quando era necessario un singolo articolo

Spesso un flusso di lavoro fornisce un elenco di risorse Shopify, ma l'azione consente solo una singola risorsa. Ad esempio, il flusso di lavoro fornisce un elenco di prodotti tramite l'azione Ottieni dati sul prodotto, ma l'azione Aggiungi tag di prodotto richiede un singolo prodotto.

Per risolvere questo errore, puoi aggiungere un'azione Per ogni per scorrere l'elenco e richiamare l'azione per ogni articolo nell'elenco. Questo esempio illustra sia l'errore che la soluzione utilizzando Per ogni:

Errore Dati non trovati

Problema 2: il trigger ha fornito un elenco quando era necessario un singolo articolo

Un errore simile può verificarsi quando un'azione richiede una singola risorsa ma il trigger fornisce un elenco. Ad esempio, l'azione Contrassegna un ordine di evasione come evaso richiede un ordine di evasione, ma il trigger proviene da un ordine, che fornisce un elenco di ordini di evasione.

Per risolvere questo errore, come per il Problema 1, puoi aggiungere un'azione Per ogni per scorrere l'elenco e richiamare l'azione per ogni articolo nell'elenco:

Soluzione per gli ordini di evasione

In alternativa, puoi utilizzare un trigger diverso che fornisca la risorsa richiesta. Ad esempio, invece di utilizzare il trigger Ordine creato, puoi utilizzare il trigger Ordine di evasione pronto per l'evasione, che fornisce un singolo ordine di evasione.

Esempio di trigger Ordine di evasione pronto per l'evasione

Problema 3: nessun dato fornito dal trigger “Orario programmato”

Il trigger Orario programmato non fornisce i dati delle risorse di Shopify. Se tenti di collegare azioni che richiedono risorse Shopify dopo il trigger, riscontrerai l'errore.

Per risolvere questo errore, aggiungi un'azione, come Ottieni dati sul prodotto, che fornisca i dati richiesti. Come indicato nel Problema 1, devi anche aggiungere un'azione Per ogni per scorrere qualsiasi elenco restituito da un'azione che ottiene i dati.

Esempio di prodotto richiesto mancante

Problema 4: nessun dato fornito da un trigger dell'app

Analogamente al problema 3, alcuni trigger creati dalle app non forniscono i dati necessari delle risorse di Shopify. Ad esempio, un trigger “Recensione creata” potrebbe fornire un indirizzo email ma non un oggetto Cliente, necessario per molte azioni, come Aggiungi tag cliente.

Per risolvere questo errore, potresti riuscire a utilizzare un'azione “Ottieni dati” per recuperare la risorsa Shopify di cui hai bisogno. Ad esempio, puoi utilizzare Ottieni dati sui clienti per ottenere l'oggetto cliente dall'indirizzo email fornito dal trigger. Come per gli altri problemi, devi anche aggiungere un'azione Per ogni per scorrere qualsiasi elenco restituito da un'azione che ottiene i dati.

Se “Ottieni dati” non è un'opzione, potrebbe essere necessario contattare lo sviluppatore dell'app per chiedere se può modificare il suo trigger per fornire i dati richiesti.

Numero di passaggi di attesa superato

Quando aggiungi nuovi passaggi di attesa al flusso di lavoro, potresti riscontrare un errore che indica I flussi di lavoro devono avere un massimo di 40 passaggi di attesa.

Flow limita a 40 il numero di passaggi di attesa consentiti in un flusso di lavoro. Se riscontri questo errore, significa che hai superato questo limite. Per risolvere il problema, rimuovi i passaggi di attesa in altre parti del flusso di lavoro.

Se avevi già flussi di lavoro contenenti più di 40 passaggi di attesa prima dell'introduzione di questo limite, il tuo flusso di lavoro continua a funzionare come previsto. Tuttavia, per aggiungere ulteriori passaggi di attesa, devi prima rimuovere quelli esistenti per rimanere al di sotto del limite.

Inoltre, il tempo di attesa totale di tutti i passaggi di attesa non può superare i 90 giorni.

Limite di dimensione del valore del campo di configurazione superato

Quando modifichi il valore dei campi di configurazione all'interno delle condizioni nel tuo flusso di lavoro, potresti riscontrare un errore che indica Il valore del campo di configurazione deve essere inferiore a 50 kB.

Flow limita la dimensione del valore di un campo di configurazione a 50 kB di dati. Quando riscontri questo errore, hai raggiunto o superato il limite. Per risolvere il problema, riduci la lunghezza dei dati che stai aggiungendo a quel campo.

Se hai già campi di configurazione con un valore pari o superiore a 50 kB, i tuoi flussi di lavoro continuano a essere eseguiti come previsto. Tuttavia, per apportare modifiche al flusso di lavoro, devi rivedere il valore che causa l'errore.

Errori durante l'esecuzione di un flusso di lavoro

Quando un'esecuzione di un flusso di lavoro rileva un errore, viene contrassegnata come non riuscita. Il messaggio di errore viene visualizzato nei dettagli dell'esecuzione del flusso di lavoro. Di seguito sono riportati gli errori comuni che potresti riscontrare quando un'esecuzione di un flusso di lavoro non riesce:

  • Gli errori temporanei sono errori che si verificano quando Flow non è in grado di completare un'attività. Questi errori vengono ritentati finché non riescono o non raggiungono un limite di tempo.
  • Gli errori permanenti sono errori che si verificano quando Flow non è in grado di completare un'attività e l'attività non può essere ritentata.

Errori temporanei

Gli errori temporanei sono errori che si verificano quando Flow non è in grado di completare un'attività. Questi errori vengono ritentati finché non riescono o non raggiungono un limite di tempo. Ad esempio, se Flow non è in grado di contattare un partner durante l'esecuzione di un'azione del connettore, ritenta l'attività più volte prima di interrompere il tentativo.

I nuovi tentativi sono distribuiti nel tempo, con un ritardo tra ogni tentativo successivo che aumenta rispetto al precedente. In genere, quando un flusso di lavoro presenta errori temporanei, rimane nello stato in esecuzione per molto tempo mentre ritenta le attività.

Quando un'attività viene ritentata con successo, il flusso di lavoro continua. Se un'attività ritentata riscontra un errore permanente, il flusso di lavoro non riesce. Ogni sezione del flusso di lavoro ha un limite di esecuzione massimo complessivo di 36 ore. Se un passaggio con errori temporanei non riesce prima che tale limite venga raggiunto, il flusso di lavoro non riesce.

I flussi di lavoro con passaggi di attesa sono divisi in sezioni, il che influisce sul modo in cui vengono calcolati i limiti di tempo in un flusso di lavoro. Ogni sezione è un gruppo di attività eseguite insieme e ognuna ha il proprio limite di tempo di 36 ore. Ad esempio, se un flusso di lavoro ha un passaggio di attesa di un'ora, le attività precedenti al passaggio di attesa verranno eseguite insieme in una sezione e quelle successive in un'altra. Se un flusso di lavoro ha più passaggi di attesa, le attività tra ogni passaggio di attesa verranno eseguite insieme in una sezione. I flussi di lavoro senza un passaggio di attesa sono considerati un'unica sezione.

Gli errori temporanei occasionali sono comuni. Tuttavia, se hai un flusso di lavoro che riscontra costantemente lo stesso errore temporaneo in più esecuzioni, potrebbe essere necessario riconfigurarlo.

Timeout del passaggio

Gli errori Timeout del passaggio di solito si verificano quando un'attività nel flusso di lavoro tenta di interrogare una quantità eccessiva di dati all'interno di una sezione. Questo errore si verifica spesso nei flussi di lavoro che eseguono un loop attraverso elenchi, specialmente elenchi nidificati troppo grandi per essere elaborati rapidamente.

Quando si verifica questo errore, il trigger o il passaggio di attesa viene visualizzato come nuovo tentativo in corso.

Per risolvere il problema, controlla le condizioni che accedono a elenchi ed elenchi nidificati per confermare che siano configurate correttamente. Un problema comune è una condizione che controlla tutti i prodotti di un negozio, invece di controllare solo i prodotti di un ordine.

Stato 5XX

La maggior parte delle azioni di Flow comporta l'effettuazione di chiamate HTTP. Occasionalmente, problemi di rete o di altro tipo relativi al server possono causare il fallimento delle chiamate HTTP e la restituzione di un codice di errore compreso tra 500 e 599. Una singola occorrenza di questo errore non costituisce un problema, ma istanze ripetute potrebbero indicare un problema con il server che gestisce l'attività, piuttosto che con la configurazione del passaggio.

Questo tipo di errore viene visualizzato più comunemente nell'azione Invia richiesta HTTP, ma può verificarsi nella maggior parte delle attività.

GraphQL limitato

Il volume totale di lavoro completato da un flusso di lavoro è limitato dai limiti del numero di richieste API, che sono determinati in parte dal tuo piano. In genere, questi limiti non vengono raggiunti a meno che un flusso di lavoro non sia molto complesso o contenga un errore di progettazione involontario.

I seguenti esempi descrivono situazioni che possono causare questo errore:

  • Le condizioni o Liquid nel flusso di lavoro eseguono un loop su un elenco con grandi quantità di dati, ad esempio controllando i valori dei metafield che contengono HTML.
  • Le condizioni o Liquid nel flusso di lavoro eseguono un loop su un elenco di grandi dimensioni, ad esempio eseguendo un loop su shop.orders in un negozio di grandi dimensioni.
  • Un flusso di lavoro genera un loop infinito in cui continua a creare nuove esecuzioni del flusso di lavoro. Ad esempio, questo può accadere se il flusso di lavoro utilizza il trigger Tag cliente aggiunti e include l'azione Aggiungi tag cliente.

Se il limite viene raggiunto, ricevi un errore GraphQL limitato. Questo errore può influire su altri flussi di lavoro quando tentano di essere eseguiti, quindi risolvi immediatamente questo errore se si verifica.

Errori permanenti

Gli errori permanenti sono errori che si verificano quando Flow non è in grado di completare un'attività e l'attività non può essere ritentata. Ad esempio, se Flow non è in grado di inviare un'email perché l'indirizzo email non è valido, non ritenta l'attività. Al contrario, il flusso di lavoro non riesce.

Campi: ID obbligatori ma vuoti

Le azioni di Shopify richiedono l'esecuzione di una o più risorse, come un prodotto, un cliente o un ordine. Se la risorsa necessaria non è disponibile, l'azione non può essere eseguita come previsto. Ad esempio, un ordine può essere creato nel pannello di controllo Shopify senza un cliente. Se esegui un'azione, come Aggiungi tag cliente, l'azione non riesce e restituisce questo errore.

Per evitare questo errore, aggiungi una condizione prima dell'azione per verificare se la risorsa esiste. Nell'esempio precedente, se desideri inviare un'email interna nello stesso flusso di lavoro di Aggiungi tag cliente, puoi posizionare l'azione di invio email prima del passaggio che potrebbe non riuscire o utilizzare uno dei seguenti approcci:

Inserisci le azioni in ramificazioni parallele (due o più ramificazioni che si diramano da un passaggio):

Esempio che mostra due azioni in parallelo dopo un trigger.

Aggiungi una condizione prima dell'azione per verificare se il cliente è presente. Ad esempio, puoi verificare se order / customer / id is not empty and exists.

Esempio che mostra una condizione alla ricerca di un ID.

Flow non dispone dell'autorizzazione per il tuo account Fogli Google. Ricollega il tuo account.

Il connettore Fogli Google richiede di collegare il tuo account Google a Flow per avere l'autorizzazione a scrivere sul foglio. Questo errore può verificarsi quando Flow non ha l'autorizzazione per scrivere su un foglio, perché l'account è stato scollegato da Flow o perché l'account non è in grado di accedere a quel foglio.

Per risolvere il problema, assicurati che l'account utilizzato per il connettore possa aprire il foglio e disponga dell'accesso in modifica. Se l'account collegato non è corretto, puoi scollegarlo e collegarne uno nuovo.

Passaggi:

  1. Apri un flusso di lavoro esistente o creane uno nuovo.
  2. Aggiungi un'azione al flusso di lavoro.
  3. Seleziona il connettore Fogli Google.
  4. Clicca su Scollega, quindi su Collega per ricollegare l'account Google corretto.
Azione di Flow ricevuta con proprietà non valide. Il cliente non accetta di ricevere comunicazioni di marketing.

L'azione Invia email di marketing non invia email ai clienti che non hanno accettato di riceverle e non riesce in modo permanente se il flusso di lavoro tenta di farlo.

Per risolvere il problema, aggiungi una condizione nel flusso di lavoro che controlli lo stato di iscrizione dei clienti. Puoi assicurarti che i clienti abbiano accettato di ricevere email di marketing prima di inviarle. Segui i passaggi descritti in Gestione dell'elenco di iscritti alle email.

Risorsa mancante per [resource type]

Questo errore indica che una risorsa, come cliente o ordine, è stata eliminata prima che il flusso di lavoro potesse recuperare i relativi dati. Questo si verifica più spesso dopo un passaggio di attesa, ma è possibile che accada anche sul trigger se la risorsa viene eliminata molto rapidamente dopo l'evento che lo attiva.

Ricevi una notifica quando si verifica un errore

Se gli errori possono avere un impatto sulle operazioni del negozio, puoi impostare delle notifiche per quando si verifica un errore. Le notifiche di errore possono essere create come un flusso di lavoro utilizzando il trigger Workflow error occurred. Queste notifiche sono progettate per ridurre le segnalazioni superflue, quindi ne riceverai una sola per ogni versione del flusso di lavoro.

Per iniziare, puoi utilizzare uno dei seguenti modelli:

Riprova delle esecuzioni

In alcuni casi, l'esecuzione di un flusso di lavoro può riscontrare un errore o non avvenire come previsto. Dopo aver risolto i problemi nel flusso di lavoro correlato, le esecuzioni precedenti possono essere riprovate manualmente per correggerne retroattivamente il risultato. Scopri di più su come riprovare le esecuzioni dei flussi di lavoro.

In esecuzione (con limitazione di frequenza)

In alcuni casi, uno o più flussi di lavoro possono utilizzare troppe risorse; per evitare che ciò causi problemi, Flow limita intenzionalmente le esecuzioni nel negozio, il che potrebbe causare ritardi ed errori di timeout. Questo problema può essere risolto riscrivendo i flussi di lavoro inefficienti, di solito per correggere un bug che ne impediva il corretto funzionamento.

Esecuzione troppo lunga

Questo messaggio indica che le esecuzioni di un flusso di lavoro richiedono molto tempo. La causa è solitamente l'utilizzo di una grande quantità di dati all'interno di un flusso di lavoro, che Flow impiega molto tempo a recuperare.

Questi casi sono comunemente causati da percorsi di richiesta complessi che attraversano più elenchi di articoli (ad esempio, la richiesta di tutti i metafield per tutti i prodotti in tutte le collezioni di cui un prodotto fa parte):

Esempio di un flusso di lavoro a esecuzione lunga.

Spesso questo problema è correlato anche al timeout della fase di trigger di un flusso di lavoro.

I flussi di lavoro che eseguono un loop su tutti i metafield possono spesso essere migliorati utilizzando solo un metafield specifico. L'accesso a più elenchi nidificati (come tutti i prodotti in tutte le collezioni per un prodotto) o a elenchi particolarmente grandi (come le definizioni dei metafield, che contengono tutti i metafield per tutti gli oggetti) potrebbe non essere intenzionale e la selezione del campo corretto (il singolo prodotto o un singolo metafield su un oggetto) può migliorare notevolmente l'efficienza. In altri casi, l'utilizzo di un'azione “Get Product/Order/Customer Data” con un filtro di query può ridurre significativamente il numero di oggetti utilizzati, pur continuando ad accedere a quelli pertinenti.

Elaborazione di troppi dati

Questo messaggio indica che le esecuzioni di un flusso di lavoro stanno generando una grande quantità di dati. La causa è solitamente la presenza di condizioni complesse che controllano molti campi, spesso su più livelli di elenchi.

Ad esempio, una condizione come “Per almeno un tag su questo cliente, per almeno una voce d'ordine, per almeno un tag sulla voce” può comportare l'esecuzione di molti controlli e la generazione di una grande quantità di dati per visualizzare i risultati di tali controlli:

Esempio di un flusso di lavoro che tenta di elaborare troppi dati.

Fallimento dei tentativi di riesecuzione automatici

Questo messaggio indica che le esecuzioni di un flusso di lavoro non riescono ripetutamente a causa di un problema temporaneo e che i successivi tentativi di riesecuzione non vanno spesso a buon fine. Questo accade spesso quando l'Admin API di Shopify o l'app di un partner riscontra un volume elevato di richieste.