Résolution des erreurs dans Shopify Flow
Ce document décrit les erreurs et les limites courantes, les raisons pour lesquelles elles se produisent et la façon de les résoudre. Il existe deux types d’erreurs que vous pouvez rencontrer dans Flow : les erreurs permanentes et les erreurs momentanées.
Sur cette page
Erreurs lors de la modification des flux de travail
Lorsque vous modifiez un flux de travail, des erreurs peuvent vous empêcher de l’enregistrer. Les erreurs suivantes sont des erreurs courantes que vous pouvez rencontrer lors de la modification d’un flux de travail :
Données introuvables
Lorsqu’une nouvelle action est ajoutée à un flux de travail, l’erreur Data not found
peut survenir :

Cette erreur se produit car de nombreuses actions, notamment Ajouter des balises de produit, nécessitent une ressource Shopify, telle qu’un produit. Si cette ressource n’est pas disponible, l’action ne peut pas être exécutée. Généralement, les flux de travail peuvent contenir des données similaires aux données requises mais sans fournir réellement ce qui est nécessaire.
Les sections suivantes décrivent les scénarios qui peuvent généralement provoquer cette erreur et comment la résoudre.
Problème 1 : une liste a été fournie par Obtenir des données alors qu’un seul élément était nécessaire
Souvent, un flux de travail fournit une liste de ressources Shopify, mais l’action n’autorise qu’une seule ressource. Par exemple, le flux de travail fournit une liste de produits via l’action Obtenir les données des produits, mais l’action Ajouter des balises de produit requiert un seul produit.
Pour corriger cette erreur, vous pouvez ajouter une action Pour chaque afin de parcourir la liste et appeler l’action pour chaque élément de la liste. Cet exemple illustre à la fois l’erreur et la solution grâce à Pour chaque :

Problème 2 : une liste a été fournie par le déclencheur alors qu’un seul élément était nécessaire
Une erreur similaire peut se produire lorsqu’une action requiert une seule ressource mais que le déclencheur fournit une liste. Par exemple, Marquer une commande à traiter comme traitée requiert une Commande à traiter, mais le déclencheur provient d'une Commande qui fournit une liste de commandes à traiter.
Pour corriger cette erreur, comme avec le problème 1, vous pouvez ajouter une action Pour chaque afin de parcourir la liste et appeler l’action pour chaque élément de la liste :

Sinon, vous pouvez utiliser un autre déclencheur qui fournit la ressource requise. Par exemple, au lieu d’utiliser le déclencheur Commande créée, vous pouvez utiliser le déclencheur Commandes à traiter prêtes pour le traitement qui fournit une seule commande à traiter.

Problème 3 : aucune donnée n'a été fournie par le déclencheur de temps programmé
Le déclencheur de temps programmé ne fournit pas de données de ressources Shopify. Si vous essayez de connecter des actions qui nécessitent des ressources Shopify après le déclencheur, vous génèrerez l’erreur.
Pour résoudre cette erreur, ajoutez une action, telle que Obtenir les données des produits, qui fournit les données requises. Comme indiqué dans le Problème 1, vous devez également ajouter une action Pour chaque afin de parcourir la liste renvoyée par une action qui récupère les données.

Problème 4 : aucune donnée n’a été fournie par le déclencheur d’une application
À l’instar du Problème 3, certains déclencheurs créés par des applications ne fournissent pas les données des ressources Shopify requises. Par exemple, un déclencheur « Avis créé » peut fournir une adresse e-mail, mais pas un objet Client, qui est requis par de nombreuses actions, telles que Ajouter des balises de client.
Pour résoudre cette erreur, vous pourrez peut-être utiliser une action « Obtenir des données » pour récupérer la ressource Shopify dont vous avez besoin. Par exemple, vous pouvez utiliser Obtenir les données des clients pour obtenir l’objet client à partir de l’adresse e-mail fournie par le déclencheur. Comme pour les autres problèmes, vous devez également ajouter une action Pour chaque afin de parcourir la liste renvoyée par une action qui récupère les données.
Si « Obtenir des données » n’est pas une option, vous devrez peut-être contacter le développeur de l’application pour lui demander s’il peut modifier son déclencheur pour fournir les données requises.
Erreurs lors de l’exécution d’un flux de travail
Lorsqu’un flux de travail en cours d’exécution rencontre une erreur, celle-ci est marquée comme ayant échoué. Le message d’erreur s’affiche dans les détails de l’exécution du flux de travail. Les erreurs suivantes sont des erreurs courantes que vous pouvez rencontrer en cas d’échec de l’exécution d’un flux de travail :
Erreurs momentanées
Les erreurs momentanées sont des erreurs temporaires qui se produisent lorsque Flow ne parvient pas à terminer une tâche. Ces erreurs sont retentées jusqu’à ce qu’elles réussissent ou qu’elles atteignent une limite de temps. Par exemple, si Flow ne parvient pas à contacter un partenaire lors de l’exécution d’une action de connecteur, Flow retente la tâche plusieurs fois avant d’abandonner.
Les tentatives sont échelonnées, le délai entre chaque autre tentative augmentant par rapport au délai précédent. En règle générale, lorsqu’un flux de travail subit des erreurs momentanées, celui‑ci reste dans l’état en cours d’exécution pendant une longue période, à mesure que les tâches sont retentées.
Lorsqu’une tâche est retentée avec succès, le flux de travail se poursuit. Si une tâche retentée entraîne une erreur permanente, le flux de travail échoue. Chaque section de flux de travail a une limite supérieure d’exécution combinée de 36 heures. Si une étape comportant des erreurs momentanées échoue avant que cette limite ne soit atteinte, le flux de travail échoue.
Les flux de travail comportant des étapes d’attente sont divisés en sections, ce qui affecte la façon dont les délais sont calculés dans un flux de travail. Chaque section est un groupe de tâches qui sont exécutées ensemble, et chacune a son propre délai de 36 heures. Par exemple, si un flux de travail comporte une étape d’attente d’une heure, les tâches précédant l’étape d’attente seront exécutées ensemble dans une section et les tâches suivant l’étape d’attente seront exécutées ensemble dans une autre section. Si un flux de travail comporte plusieurs étapes d’attente, les tâches entre chaque étape d’attente seront exécutées ensemble dans une section. Les flux de travail sans étape d’attente sont considérés comme une seule section.
Les erreurs momentanées occasionnelles sont courantes. Toutefois, si vous avez un flux de travail qui rencontre systématiquement la même erreur momentanée lors de plusieurs exécutions, il se peut que votre flux de travail doive être reconfiguré.
L’étape a expiré
Step timed out
: en règle générale, ces erreurs se produisent lorsqu’une tâche du flux de travail tente d’interroger une trop grande quantité de données dans une section. Cette erreur se produit fréquemment dans les flux de travail qui itèrent sur des listes (surtout des listes imbriquées) trop volumineuses pour être récupérées dans le délai imparti.
Lorsqu’un flux de travail rencontre cette erreur, l’étape de déclencheur ou d’attente s’affiche comme retrying
.
Pour résoudre ce problème, examinez les conditions d’accès aux listes et aux listes imbriquées pour vérifier qu’elles sont correctes. Il arrive souvent qu’une condition vérifie tous les produits d’une boutique au lieu de ne vérifier que ceux d’une commande.
Statut 5xx
La plupart des actions Flow impliquent de faire des appels HTTP. Parfois, des problèmes de réseau ou d’autres problèmes de serveur peuvent faire échouer les appels HTTP et renvoyer un code d’erreur entre 500 et 599. Une seule occurrence de cette erreur ne pose pas de problème, mais des occurrences répétées peuvent indiquer un problème avec le serveur qui gère la tâche, plutôt que la configuration de l’étape.
Ce type d’erreur survient le plus souvent dans l’action Envoyer une requête HTTP, mais il peut se produire dans la plupart des tâches.
Accélérateur GraphQL
Le volume total de travail effectué par un flux de travail est limité par les limites d’appels à l’API, qui sont déterminées en partie par votre forfait. En règle générale, ces limites ne sont pas atteintes, sauf si le flux de travail est très complexe ou présente une erreur de conception involontaire. Voici des exemples de scénarios qui peuvent entraîner cette erreur :
- Liquid ou des conditions dans le flux de travail font tourner en boucle une liste contenant de grandes quantités de données, telles que la vérification des valeurs des champs méta qui contiennent du HTML.
- Liquid ou des conditions dans le flux de travail font tourner en boucle une liste importante, par exemple bouclant sur
shop.orders
dans une grande boutique. - Un flux de travail entraîne une boucle infinie dans laquelle le flux de travail continue à créer de nouveaux flux de travail. Par exemple, cela peut se produire si le flux de travail utilise le déclencheur Balises clients ajoutées et inclut l’action Ajouter des balises de client.
Si la limite est atteinte, vous recevez une erreur GraphQL throttled
. Cette erreur peut affecter d’autres flux de travail lorsqu’ils tentent de s’exécuter, de sorte que cette erreur doit être résolue immédiatement si elle se produit.
Erreurs permanentes
Les erreurs permanentes sont des erreurs qui se produisent lorsque Flow ne parvient pas à terminer une tâche et que la tâche ne peut pas être retentée. Par exemple, si Flow ne parvient pas à envoyer d’e‑mail en raison d’une adresse non valide, elle ne retente pas la tâche. Au lieu de cela, le flux de travail échoue.
Champs : l’ID est obligatoire, mais les champs sont vides
La plupart des actions Shopify nécessitent une ou plusieurs ressources (p. ex. un produit, un(e) client(e) ou une commande) pour fonctionner. Parfois, cette ressource n’est pas disponible. L’action ne peut donc pas être exécutée comme il faut. Par exemple, vous pouvez créer une commande sans client(e) dans l’interface administrateur. Cependant, si vous essayez d’exécuter une action, comme Ajouter des balises de client, l’action échouera et cette erreur apparaîtra.
Pour empêcher une erreur de survenir, vous pouvez ajouter une condition avant l’action afin de vérifier si la ressource existe. En reprenant l’exemple précédent, si vous souhaitez envoyer un e-mail interne dans le même flux de travail qu’Ajouter des balises de client, vous pouvez soit mettre l’action avant l’étape susceptible d’échouer, soit réaliser l’une des opérations suivantes.
Placez les actions dans des branches parallèles (où deux branches, au minimum, sont le résultat d’une étape).

Ajoutez une condition avant l’action pour vérifier l’existence du/de la client(e). Par exemple, vous pouvez vérifier si order / customer / id is not empty and exists
.

Flow n’a pas l’autorisation d’accès à votre compte Google Sheets. Veuillez reconnecter votre compte.
Le connecteur Google Sheets vous oblige à associer votre compte Google à Flow pour avoir l’autorisation d’écrire sur la feuille. Cette erreur peut se produire lorsque Flow n’a pas l’autorisation d’écrire sur une feuille, soit parce que le compte a été dissocié de Flow, soit parce que ce compte n’est pas en mesure d’accéder à cette feuille.
Pour résoudre ce problème, vérifiez que le compte utilisé pour le connecteur est habilité à ouvrir la feuille et à la modifier. Si le compte relié n’est pas le bon, vous pouvez le déconnecter pour en connecter un autre.
Étapes :
- Ouvrez ou créez un nouveau flux de travail.
- Ajoutez une action.
- Sélectionnez le connecteur Google Sheets.
- Cliquez sur Déconnecter, puis sur Connecter.
Action Flow reçue avec des propriétés non valides. Le client refuse le marketing.
L’action Envoyer du marketing par e‑mail n’envoie pas d’e‑mails aux clients qui n’ont pas donné leur accord pour les recevoir, et échoue de manière permanente si le flux de travail tente de le faire.
Pour résoudre ce problème, ajoutez au flux de travail une condition qui vérifie le statut d’abonnement des clients. Vous pouvez vérifier que les clients ont accepté de recevoir des e-mails de marketing avant d’envoyer ces derniers. Suivez les étapes indiquées dans la section Gestion de listes d’abonnés aux e-mails.
Ressource manquante pour [type de ressource]
Cette erreur indique qu’une ressource, telle que customer
ou order
, a été supprimée avant que le flux de travail n’ait pu récupérer ses données. Le plus souvent, cela se produit après une étape d’attente, mais il est possible que cela se produise sur le déclencheur si la ressource est supprimée très rapidement après l’événement déclencheur.
Recevoir des notifications en cas d’erreur
Si des erreurs sont susceptibles d’avoir des conséquences sur le fonctionnement de votre boutique, vous pouvez configurer des notifications pour être prévenu lorsqu’une erreur se produit. Vous pouvez créer des notifications d’erreur sur le même modèle que n’importe quel autre flux de travail, en utilisant le déclencheur Une erreur de flux de travail s’est produite. Les notifications d’erreur sont conçues pour limiter le bruit. Aussi ne recevrez-vous qu’une seule notification par version de flux de travail.
Pour commencer, vous pouvez utiliser l’un des modèles suivants :
- Recevoir une alerte Shopify lorsque des erreurs d’exécution de flux de travail sont détectées
- Recevoir une notification par e-mail lorsque des erreurs d’exécution de flux de travail sont détectées
- Recevoir une notification Slack lorsque des erreurs d’exécution de flux de travail sont détectées
Nouvelle tentative d’exécution
Dans certains cas, l’exécution d’un flux de travail peut rencontrer une erreur ou ne pas s’exécuter comme prévu. Après avoir résolu les problèmes dans le flux de travail concerné, les exécutions antérieures peuvent être relancées manuellement afin de corriger rétroactivement le résultat de ces exécutions antérieures. En savoir plus sur la marche à suivre pour réessayer manuellement les exécutions de flux de travail.
Exécution (taux limité)
Dans certains cas, un flux de travail ou des flux de travail peuvent utiliser une trop grande quantité de ressources et, pour éviter tout problème, Flow limitera intentionnellement le nombre d’exécutions sur votre boutique, susceptibles de causer des retards et des erreurs de délai. Il est possible de résoudre ce problème en réécrivant des flux de travail inefficaces, généralement pour corriger un bug qui ne fonctionnait pas comme prévu.
En cours d’exécution pendant trop longtemps
Ce message indique un délai d’exécution très long pour un flux de travail. Ceci est généralement causé par l’utilisation d’une grande quantité de données dans un flux de travail nécessitant un temps de récupération important de la part de Flow.
Exemple
Ces cas sont souvent causés par des chemins de requête approfondis qui traversent plusieurs listes d’éléments (comme la requête de tous les champs méta pour tous les produits de toutes les collections dont un produit fait partie) :

Les flux de travail qui traversent tous les champs méta peuvent souvent être améliorés en utilisant uniquement un champ méta spécifique. L’accès à plusieurs listes imbriquées (telles que tous les produits sur toutes les collections pour un produit) ou à des listes particulièrement grandes (telles que les définitions de champs méta, contenant tous les champs méta pour tous les objets) peut avoir été fait de manière involontaire, et la sélection du champ correct (le produit unique ou un champ méta unique sur un objet) peut améliorer de manière significative l’efficacité. Dans d’autres cas, l’utilisation d’une action « Obtenir des données produit/commande/client » avec un filtre de requête peut réduire de manière significative le nombre d’objets utilisés tout en accédant aux données pertinentes.
Traitement d’un trop grand nombre de données
Ce message indique que l’application d’un flux de travail génère une grande quantité de données. Cela est souvent dû à des états complexes qui vérifient de nombreux champs, généralement en raison de la vérification de champs sur plusieurs couches de listes.
Exemple
Par exemple, un état tel que « Pour au moins une balise sur ce client, pour au moins une rubrique de commande, pour au moins une balise sur la rubrique » peut entraîner de nombreuses vérifications en cours et un grand nombre de données générées pour afficher les résultats de ces contrôles :

Échec des tentatives automatiques
Ce message indique que l’application d’un flux de travail échoue de façon répétée en raison d’un problème temporaire, mais fréquemment sans succès lors des tentatives ultérieures. Ceci se produit souvent lorsque Shopify Admin API ou l’application d’un partenaire rencontre un volume élevé de requêtes.