Webhook de mise à jour de produit WooCommerce (se déclenche continuellement)

Bonjour, je voulais voir si quelqu’un d’autre a rencontré ce problème ou si c’est peut-être une fonctionnalité de WooCommerce. Par le passé, j’ai utilisé Zapier pour mon déclencheur de mise à jour de produit WooCommerce et ce déclencheur ne s’activait que lorsqu’une modification du produit était apportée.

Cependant, en utilisant la fonction WooCommerce product.updated intégrée à N8N, elle déclenche aléatoirement 10 produits à travers mon workflow chaque minute, ce qui surcharge SQL et les API… Je regarde les journaux des produits qui viennent d’être traités par n8n et cela m’indique que la dernière fois que le produit a été mis à jour, c’était il y a environ un mois. Y a-t-il un problème avec le Webhook que n8n crée et quelqu’un a-t-il rencontré cela avant?

Informations sur votre configuration n8n

  • Version de n8n : 2.18.1
  • Base de données (par défaut : SQLite) : par défaut
  • Paramètre EXECUTIONS_PROCESS de n8n (par défaut : own, main) : déclencheur woocommerce
  • Exécution de n8n via (Docker, npm, n8n cloud, application de bureau) : docker
  • Système d’exploitation : ubuntu 24

Particularité de WC, pas de n8n — product.updated se déclenche pour les diminutions de stock, la régénération des tables de recherche, les mises à jour du compteur de ventes, toute écriture de métadonnées. Ajoutez un nœud IF après le déclencheur comparant date_modified à maintenant, ne procédez que si modifié récemment.

Ajustez la fenêtre à votre cadence de déclenchement.

Merci à vous deux. J’ai finalement découvert ce qui causait les mises à jour de produits aléatoires. J’ai remarqué aussi que je n’y avais jamais pensé. Cela doublait aussi les mises à jour de produits parce que j’ai commencé mon n8n en récupérant les mises à jour de produits et en terminant par une mise à jour de produit. Je créais donc aussi une boucle !

Ce que j’ai fait pour résoudre le problème est une sorte de suggestion via @achamm

J’ai ajouté une métadonnée « _n8n_updated » avec l’horodatage json.now. Ensuite, j’ai créé une règle de filtre après le déclencheur de mise à jour de produit n8n wc pour exclure les 5 dernières minutes afin qu’il ne retraite pas la même transaction. J’ai ajouté cette même métadonnée à toute mise à jour de produit woocommerce que j’avais n’importe où ailleurs dans mes workflows n8n. Car si n8n traite une mise à jour, il n’y a aucune raison d’écouter une mise à jour de produit.

J’apprécie l’aide avec la réflexion critique lol