Je suis à l’Étape 3.11 : Testez et obtenez votre code de confirmation. Précédemment, j’ai réussi le Test 1 et le Test 2 dans le Webhook Tester. Je ne sais pas pourquoi je suis revenu à l’étape 1 test et il y a une erreur (voir l’image 1). J’ai une erreur dans le NŒUD IF « OrderExists ». L’erreur indique un mauvais type (voir l’image 2) mais les instructions disaient de définir le type STRING (voir l’image 3)
J’ai examiné toutes les instructions et vérifié si j’avais oublié quelque chose, mais je n’en ai trouvé aucune. Est-ce que quelqu’un d’autre s’est retrouvé dans cette situation avant ?
Salut @leomel ! C’est un classique du nouveau nœud IF (v2), et l’indice te vient de ta propre capture de l’OUTPUT : « Wrong type: ‘7’ is a number but was expecting a string ». L’ID de la commande arrive sous forme de nombre (7), mais la condition la compare comme du texte et, par défaut, le IF valide le type de façon stricte : il s’arrête là et l’exécution échoue, c’est pour ça qu’il te renvoie au Test 1 (le « Valid order returns 200 » ne passe jamais).
Deux façons de le corriger, n’importe laquelle marche :
Dans la condition elle-même, coche la case « Convert types where required » (juste en dessous du champ, celle qui apparaît dans ta 2ᵉ capture). Tu laisses le type en String comme le demande l’exercice et n8n convertit le 7 tout seul.
Ou force le texte dans l’expression du premier champ : {{ $json.id.toString() }}.
Moi, le IF v2 m’a eu pareil la première fois : tu fais confiance à ce que « is empty » compare et c’est tout, mais il est super pointilleux avec number vs string. Avec le truc « Convert types where required », ça a arrêté de faire des histoires.
Une question pour préciser : l’erreur ne saute que dans le IF « OrderExists » ou d’autres IF du flux donnent aussi le même « wrong type » ? Dis-moi et on continue. Je suis autodidacte et plus du genre à bavarder qu’à taper, mais celui-ci en particulier je l’ai déjà rencontré
Merci ! J’ai essayé de revenir en arrière et d’examiner tous les nœuds et les instructions. J’ai découvert que dans l’image 3, la valeur devrait être {{ $json.order_id }} et non {{ $json.id }}. C’est pour ça qu’il s’attend à un type chaîne. Maintenant, il n’y a plus d’erreur dans l’onglet d’exécution dans le workflow et le sous-workflow, mais l’étape 1 du test dans le testeur de webhook a toujours la même erreur que dans l’image 1. Je ne sais pas pourquoi il y a une erreur là alors qu’il n’y en a pas dans l’onglet d’exécution. Je continue d’essayer de comprendre. J’espère pouvoir réussir ce 2e cours pratique avant de perdre la tête lol. Merci beaucoup pour l’aide, j’apprécie vraiment.