Résolution des erreurs dans Shopify Flow

Shopify Flow vous aide à automatiser les tâches et les processus dans votre boutique, mais vous pouvez rencontrer des erreurs ou atteindre certaines limites lors de la création ou de la modification de flux de travail. Cette page explique les problèmes courants que vous pourriez rencontrer, tels que les limites de flux de travail et les erreurs de données, et fournit des conseils sur la manière de les résoudre. La compréhension de ces erreurs peut vous aider à résoudre les problèmes et à assurer le bon fonctionnement de vos flux de travail.

Erreurs lors de la création de flux de travail

Lors de la création d’un flux de travail, il se peut que vous rencontriez des erreurs qui vous empêchent d’en ajouter un nouveau. Voici quelques-unes des erreurs que vous pourriez rencontrer :

Nombre de flux de travail dépassé

Lors de la création d’un nouveau flux de travail, vous pourriez rencontrer une erreur indiquant : Vous avez atteint la limite maximale autorisée de 1 000 flux de travail. Pour continuer, veuillez supprimer tous les flux de travail inutilisés et réessayer.

Flow limite le nombre de flux de travail qu’une boutique peut avoir à 1 000. Cela inclut les flux de travail actifs et inactifs. Si vous atteignez cette limite et que vous souhaitez créer un nouveau flux de travail, supprimez les flux de travail inutilisés ou inactifs.

Si votre boutique avait plus de 1 000 flux de travail avant la mise en place de cette limite, elle peut continuer à fonctionner avec plus de 1 000 flux de travail. Cependant, pour créer de nouveaux flux de travail, vous devez être en dessous de la limite.

Vous pourriez rencontrer cette erreur lorsque vous effectuez plusieurs actions dans l’appli Flow :

  • Création d’un nouveau flux de travail
  • Duplication d’un flux de travail
  • Importation d’un flux de travail
  • Installation d’un modèle
Trop de flux de travail sur le même déclencheur

Lors de l’activation d’un flux de travail, un avertissement peut s’afficher pour indiquer que votre boutique compte plus de 10 flux de travail actifs utilisant le même déclencheur.

Le fait d’avoir de nombreux flux de travail partageant le même déclencheur peut entraîner des problèmes de performance, car chaque fois que l’événement déclencheur survient, Flow doit traiter tous les flux de travail qui y sont associés. Cette démultiplication peut ralentir les temps d’exécution et accroître l’utilisation des ressources.

Pour réduire le nombre de flux de travail sur un seul déclencheur, envisagez les approches suivantes :

  • Regrouper les flux de travail qui utilisent le même déclencheur en un seul flux de travail comportant plusieurs branches et conditions.
  • Désactiver ou supprimer les flux de travail qui ne sont plus nécessaires.
  • Vérifier si certains flux de travail pourraient utiliser plutôt un déclencheur plus spécifique.

Erreurs lors de la modification de flux de travail

Lorsque vous modifiez un flux de travail, il se peut que vous rencontriez des erreurs qui vous empêchent de l’enregistrer. Voici quelques erreurs courantes que vous pourriez rencontrer lors de la modification d’un flux de travail :

Données introuvables

Lorsque vous ajoutez une nouvelle action à un flux de travail, vous pourriez rencontrer une erreur indiquant Données introuvables :

Erreur « Données introuvables »

Cette erreur se produit, car de nombreuses actions, y compris Ajouter des balises de produit, nécessitent une ressource Shopify, comme un produit. Si cette ressource n’est pas disponible, l’action ne peut pas s’exécuter. Il arrive souvent que les flux de travail contiennent des données similaires aux données requises, mais qui ne fournissent pas réellement ce qui est nécessaire.

Les sections suivantes décrivent des scénarios courants qui peuvent causer cette erreur et expliquent comment les résoudre.

Problème 1 : une liste a été fournie par l’action Récupérer des données alors qu’un seul article é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 par l’intermédiaire de l’action Récupérer les données sur les produits, mais l’action Ajouter des balises de produit requiert un seul produit.

Pour résoudre cette erreur, vous pouvez ajouter une action Pour chaque afin de parcourir la liste et d’appeler l’action pour chaque article de la liste. Cet exemple illustre à la fois l’erreur et la solution à l’aide de l’action Pour chaque :

Erreur « Données introuvables »

Problème 2 : une liste a été fournie par le déclencheur alors qu’un seul article é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, l’action Marquer un ordre de traitement de la commande comme traité requiert un ordre de traitement de la commande, mais le déclencheur provient d’une commande, qui fournit une liste d’ordres de traitement de la commande.

Pour résoudre cette erreur, comme pour le problème 1, vous pouvez ajouter une action Pour chaque afin de parcourir la liste en boucle et d’appeler l’action pour chaque article de la liste :

Solution pour les ordres de traitement de la commande

Vous pouvez également utiliser un déclencheur différent qui fournit la ressource requise. Par exemple, au lieu d’utiliser le déclencheur Commande créée, vous pouvez utiliser le déclencheur Ordre de traitement de la commande prêt à être traité, qui fournit un seul ordre de traitement de la commande.

Exemple de déclencheur Ordre de traitement de la commande prêt à être traité

Problème 3 : aucune donnée n’a été fournie par le déclencheur Heure planifiée

Le déclencheur Heure planifiée ne fournit pas de données sur les ressources Shopify. Si vous essayez de connecter des actions qui requièrent des ressources Shopify après le déclencheur, vous rencontrerez cette erreur.

Pour résoudre cette erreur, ajoutez une action, telle que Récupérer les données sur les 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 en boucle toute liste renvoyée par une action qui récupère des données.

Exemple de produit requis manquant

Problème 4 : aucune donnée n’a été fournie par un déclencheur d’appli

De manière similaire au problème 3, certains déclencheurs créés par des applis ne fournissent pas les données de ressource Shopify requises. Par exemple, un déclencheur « Avis créé » peut fournir une adresse e-mail, mais pas d’objet client, qui est nécessaire pour de nombreuses actions, telles que Ajouter des balises de client.

Pour résoudre cette erreur, vous pouvez peut-être utiliser une action « Récupérer des données » pour aller chercher la ressource Shopify dont vous avez besoin. Par exemple, vous pouvez utiliser l’action Récupérer les données sur les 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 pour parcourir en boucle toute liste renvoyée par une action qui récupère des données.

Si l’option « Récupérer des données » n’est pas disponible, vous devrez peut-être contacter le développeur d’appli pour lui demander s’il peut modifier son déclencheur afin de fournir les données requises.

Nombre d’étapes d’attente dépassé

Lorsque vous ajoutez de nouvelles étapes d’attente à votre flux de travail, vous pourriez rencontrer une erreur indiquant : Les flux de travail doivent comporter 40 étapes d’attente ou moins.

Flow limite à 40 le nombre d’étapes d’attente autorisées dans un flux de travail. Si vous rencontrez cette erreur, cela signifie que vous avez dépassé cette limite. Pour résoudre le problème, supprimez des étapes d’attente ailleurs dans votre flux de travail.

Si vous aviez déjà des flux de travail contenant plus de 40 étapes d’attente avant l’introduction de cette limite, votre flux de travail continue de fonctionner comme prévu. Toutefois, pour ajouter des étapes d’attente supplémentaires, vous devez d’abord en supprimer pour rester en dessous de la limite.

De plus, le temps d’attente total pour toutes les étapes d’attente ne peut pas dépasser 90 jours.

Limite de taille de la valeur du champ de configuration dépassée

Lors de la modification de la valeur des champs de configuration dans les conditions de votre flux de travail, vous pourriez rencontrer une erreur indiquant : La valeur du champ de configuration doit être inférieure à 50 ko.

Flow limite la taille de la valeur d’un champ de configuration à 50 ko de données. Lorsque vous rencontrez cette erreur, vous avez atteint ou dépassé la limite. Pour résoudre le problème, raccourcissez la longueur des données que vous ajoutez à ce champ.

Si vous avez déjà des champs de configuration dont la valeur est égale ou supérieure à 50 ko, vos flux de travail continuent de s’exécuter comme prévu. Toutefois, pour apporter des modifications à votre flux de travail, vous devez revoir la valeur à l’origine de l’erreur.

Erreurs lors de l’exécution d’un flux de travail

Lorsqu’une erreur se produit pendant l’exécution d’un flux de travail, 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. Voici les erreurs courantes que vous pourriez rencontrer lorsqu’une exécution de flux de travail échoue :

  • Les erreurs transitoires sont des erreurs temporaires qui se produisent lorsque Flow ne parvient pas à accomplir une tâche. Ces erreurs font l’objet de nouvelles tentatives jusqu’à ce qu’elles aboutissent ou atteignent une limite de délai d’attente.
  • Les erreurs permanentes sont des erreurs qui se produisent lorsque Flow ne parvient pas à accomplir une tâche et que la tâche ne peut pas faire l’objet d’une nouvelle tentative.

Erreurs transitoires

Les erreurs transitoires sont des erreurs temporaires qui se produisent lorsque Flow ne parvient pas à accomplir une tâche. Ces erreurs font l’objet de nouvelles tentatives jusqu’à ce qu’elles aboutissent ou atteignent une limite de délai d’attente. Par exemple, si Flow ne parvient pas à contacter un partenaire lors de l’exécution d’une action de connecteur, Flow tente à nouveau d’effectuer la tâche plusieurs fois avant d’abandonner.

Les nouvelles tentatives sont espacées, et le délai entre chacune d’entre elles augmente progressivement. En règle générale, lorsqu’un flux de travail rencontre des erreurs transitoires, il reste longtemps à l’état en cours d’exécution pendant qu’il relance les tâches.

Lorsqu’une nouvelle tentative d’exécution d’une tâche réussit, le flux de travail se poursuit. Si une tâche relancée rencontre une erreur permanente, le flux de travail échoue. Chaque section de flux de travail a une limite d’exécution supérieure combinée de 36 heures. Si une étape présentant des erreurs transitoires n’aboutit pas avant que cette limite 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 manière dont les limites de délai d’attente sont calculées dans un flux de travail. Chaque section est un groupe de tâches qui sont exécutées ensemble, et chacune a sa propre limite de temps de 36 heures. Par exemple, si un flux de travail a 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 transitoires occasionnelles sont courantes. Toutefois, si vous avez un flux de travail qui rencontre systématiquement la même erreur transitoire sur plusieurs exécutions, il se peut que votre flux de travail doive être reconfiguré.

Expiration du délai de l’étape

Les erreurs Expiration du délai de l’étape se produisent généralement lorsqu’une tâche du flux de travail tente d’interroger un volume de données trop important au sein d’une même section. Cette erreur se produit souvent dans les flux de travail qui parcourent des listes en boucle, en particulier des listes imbriquées qui sont trop volumineuses pour être traitées rapidement.

Lorsque cette erreur se produit, le déclencheur ou l’étape d’attente affiche l’état nouvelle tentative en cours.

Pour résoudre ce problème, examinez les conditions qui accèdent aux listes et aux listes imbriquées afin de vous assurer qu’elles sont correctement configurées. Un problème courant est une condition qui vérifie tous les produits d’une boutique, au lieu de vérifier uniquement les produits d’une commande.

Statut 5XX

La plupart des actions de Flow impliquent des appels HTTP. Il arrive que des problèmes de réseau ou de serveur provoquent l’échec des appels HTTP et renvoient un code d’erreur compris entre 500 et 599. La présence d’une seule occurrence de cette erreur n’est pas un problème, mais des instances répétées peuvent indiquer un problème avec le serveur qui traite la tâche, plutôt qu’avec la configuration de l’étape.

Ce type d’erreur s’affiche le plus souvent au niveau de l’action Envoyer une requête HTTP, mais il peut se produire sur la plupart des tâches.

GraphQL mis au ralenti

Le volume total de travail effectué par un flux de travail est limité par les limites de débit de 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 un flux de travail est très complexe ou contient une erreur de conception involontaire.

Les exemples suivants décrivent des situations qui peuvent entraîner cette erreur :

  • Liquid ou des conditions dans le flux de travail parcourent en boucle une liste contenant de grandes quantités de données, par exemple en vérifiant les valeurs de champs méta qui contiennent du HTML.
  • Liquid ou des conditions dans le flux de travail parcourent une longue liste en boucle, par exemple en parcourant shop.orders dans une boutique de grande taille.
  • Un flux de travail crée une boucle infinie dans laquelle le flux de travail continue de créer de nouvelles exécutions de flux de travail. Par exemple, cela peut se produire si le flux de travail utilise le déclencheur Balises client ajoutées et inclut l’action Ajouter des balises client.

Si la limite est atteinte, vous recevez une erreur GraphQL mis au ralenti. Cette erreur peut affecter d’autres flux de travail lorsqu’ils tentent de s’exécuter, alors résolvez-la immédiatement si elle se produit.

Erreurs permanentes

Les erreurs permanentes sont des erreurs qui se produisent lorsque Flow ne parvient pas à accomplir une tâche et que la tâche ne peut pas faire l’objet d’une nouvelle tentative. Par exemple, si Flow ne parvient pas à envoyer un e-mail parce que l’adresse e-mail n’est pas valide, il ne relance pas la tâche. Au lieu de cela, le flux de travail échoue.

Champs : id obligatoires, mais vides

Les actions Shopify nécessitent une ou plusieurs ressources, telles qu’un produit, un client ou une commande, pour s’exécuter. Si la ressource nécessaire n’est pas disponible, l’action ne peut pas s’exécuter comme prévu. Par exemple, une commande peut être créée dans l’interface administrateur Shopify sans client. Si vous exécutez une action, telle que Ajouter des balises de client, l’action échoue avec cette erreur.

Pour éviter cette erreur, ajoutez une condition avant l’action pour vérifier si la ressource existe. Dans l’exemple précédent, si vous souhaitez envoyer un e-mail interne dans le même flux de travail que Ajouter des balises de client, vous pouvez placer l’action d’envoi d’e-mail avant l’étape qui pourrait échouer ou utiliser l’une des approches suivantes :

Placez les actions dans des branches parallèles (lorsque 2 branches ou plus sortent d’une étape) :

Exemple montrant deux actions en parallèle après un déclencheur.

Ajoutez une condition avant l’action pour vérifier si le client est présent. Par exemple, vous pouvez vérifier si commande / client / id n’est pas vide et existe.

Exemple d’une condition qui recherche un ID.

Flow n’a pas d’autorisation pour 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 dans la feuille de calcul. Cette erreur peut se produire lorsque Flow n’a pas l’autorisation d’écrire dans une feuille, soit parce que le compte a été dissocié de Flow, soit parce que ce compte n’a pas accès à cette feuille.

Pour résoudre ce problème, assurez-vous que le compte utilisé pour le connecteur peut ouvrir la feuille et dispose d’un accès en modification. Si le mauvais compte est associé, vous pouvez le déconnecter et en connecter un nouveau.

Étapes :

  1. Ouvrez un flux de travail existant ou créez-en un nouveau.
  2. Ajoutez une action au flux de travail.
  3. Sélectionnez le connecteur Google Sheets.
  4. Cliquez sur Déconnecter, puis sur Connecter pour reconnecter le bon compte Google.
Action Flow reçue avec des propriétés non valides. Le client n’accepte pas le marketing.

L’action Envoyer un e-mail de marketing n’envoie pas d’e-mails aux clients qui n’ont pas accepté de les recevoir, et elle échoue de manière permanente si le flux de travail tente de le faire.

Pour résoudre ce problème, ajoutez une condition dans le flux de travail qui vérifie le statut d’abonnement des clients. Vous pouvez vous assurer que les clients ont accepté de recevoir des e-mails de marketing avant de leur en envoyer. Suivez les étapes de la section Gestion de la liste d’abonnés aux e-mails.

Ressource manquante pour [type de ressource]

Cette erreur indique qu’une ressource, telle que client ou commande, a été supprimée avant que le flux de travail ne puisse 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 également au niveau du déclencheur si la ressource est supprimée très rapidement après l’événement déclencheur.

Recevoir une notification lorsqu’une erreur se produit

Si les erreurs risquent d’avoir un impact sur les opérations de votre boutique, vous pouvez configurer des notifications qui vous avertiront lorsqu’une erreur se produit. Les notifications d’erreur peuvent être créées sous forme de flux de travail à l’aide du déclencheur Une erreur de flux de travail s’est produite. Les notifications d’erreur sont conçues pour limiter le bruit, vous ne recevrez donc qu’une seule notification par version de flux de travail.

Pour commencer, vous pouvez utiliser l’un des modèles suivants :

Relance des exécutions

Dans certains cas, l’exécution d’un flux de travail peut rencontrer une erreur ou ne pas se dérouler 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 pour corriger rétroactivement leur résultat. En savoir plus sur la relance des exécutions de flux de travail.

Exécution (avec limitation de débit)

Dans certains cas, un ou plusieurs flux de travail peuvent utiliser trop de ressources et, pour éviter que cela ne cause des problèmes, Flow limite intentionnellement leur exécution sur votre boutique, ce qui peut entraîner des retards et des erreurs de délai d’attente. Ce problème peut être corrigé en réécrivant les flux de travail inefficaces, généralement pour corriger un bug qui les empêchait de fonctionner comme prévu.

Exécution trop longue

Ce message indique que les exécutions d’un flux de travail prennent beaucoup de temps à s’exécuter. Ce problème est généralement dû à l’utilisation d’une grande quantité de données au sein d’un flux de travail, que Flow met beaucoup de temps à récupérer.

Ces cas sont généralement dus à des chemins de requête profonds qui parcourent plusieurs listes d’articles (par exemple, demander tous les champs méta pour tous les produits de toutes les collections auxquelles un produit appartient) :

Exemple de flux de travail à exécution longue.

Ce phénomène est également souvent corrélé à l’expiration du délai de l’étape de déclenchement d’un flux de travail.

Il est souvent possible d’améliorer les flux de travail qui effectuent une boucle sur tous les champs méta en utilisant un champ méta spécifique. L’accès à plusieurs listes imbriquées (comme tous les produits de toutes les collections d’un produit) ou à des listes particulièrement volumineuses (telles que les définitions de champs méta, qui contiennent tous les champs méta pour tous les objets) peut être involontaire, et la sélection du champ approprié (le produit unique ou un seul champ méta sur un objet) peut améliorer considérablement l’efficacité. Dans d’autres cas, l’utilisation d’une action « Obtenir les données sur le produit/la commande/le client » avec un filtre de requête peut réduire considérablement le nombre d’objets utilisés tout en accédant aux objets pertinents.

Traitement d’une trop grande quantité de données

Ce message indique que les exécutions d’un flux de travail génèrent une grande quantité de données. La cause est généralement la présence de conditions complexes qui vérifient de nombreux champs, souvent en raison de la vérification de champs sur plusieurs niveaux de listes.

Par exemple, une condition telle que « Pour au moins une balise sur ce client, pour au moins un article du panier, pour au moins une balise sur l’article du panier » peut entraîner l’exécution de nombreuses vérifications et la génération d’une grande quantité de données pour afficher les résultats de ces vérifications :

Exemple d’un flux de travail qui tente de traiter une trop grande quantité de données.

Échec des nouvelles tentatives automatiques

Ce message indique que les exécutions d’un flux de travail échouent de manière répétée en raison d’un problème temporaire et que les nouvelles tentatives aboutissent rarement. Cela se produit souvent lorsque l’Admin API de Shopify ou l’appli d’un partenaire reçoit un volume élevé de requêtes.