Décris le problème/l’erreur/la question
Partage ton flux de travail
(Sélectionne les nœuds sur ta toile et utilise les raccourcis clavier CMD+C/CTRL+C et CMD+V/CTRL+V pour copier et coller le flux de travail.)
Partage la sortie renvoyée par le dernier nœud
Informations sur ta configuration n8n
- Version n8n :
- Base de données (par défaut : SQLite) :
- Paramètre n8n EXECUTIONS_PROCESS (par défaut : own, main) :
- Exécution de n8n via (Docker, npm, n8n cloud, application de bureau) :
- Système d’exploitation :
Bon, tu n’as pas donné beaucoup d’infos ici, mais la cause la plus courante de cette erreur exacte est ton format de réponse — Meta a besoin du hub.challenge renvoyé en tant que texte brut, pas JSON. Donc vérifie ton nœud Respond to Webhook et assure-toi que « Respond With » est défini sur Text, et non JSON, avec le corps étant simplement {{$json.query["hub.challenge"]}} sans rien d’autre autour. Si c’est défini sur JSON, ça seul causerait ce problème.
En dehors de ça : assure-toi que ton workflow est actif et utilise l’URL de production (pas celle de test, puisque Meta ne t’écoutera pas cliquer sur « test event »). Assure-toi qu’il est défini pour accepter GET. Assure-toi que le token correspond exactement, sans espaces bizarres ni caractères spéciaux. Et vérifie le journal d’exécution pour t’assurer que tes nœuds deviennent effectivement verts quand Meta essaie de vérifier.
Mais si tu as déjà tout ça de correct, dis-moi à quoi est actuellement défini ton « Respond With » et à quoi ressemble ton expression Response Body, et je pourrai probablement le repérer d’ici là.
dSavage a bien couvert les principaux suspects. Une petite addition : après avoir corrigé le format « Respond With » et retesté, regardez l’onglet Exécutions en temps réel (filtrez sur « All » et non pas seulement « Latest ») pendant que la vérification de Meta s’exécute — il est facile de manquer l’exécution si elle s’exécute et se termine instantanément avant que vous actualisiez la page. Si vous ne voyez toujours rien apparaître du tout, vérifiez bien que l’URL du workflow que vous avez enregistrée dans Meta correspond exactement à l’URL du webhook de production, y compris les barres obliques finales ou leur absence.
Merci pour ta réponse, je vais vérifier tes suggestions
Cordialement,
Stanley
Salut @Stanley_Wilson,
Cette erreur se produit généralement quand Meta essaie d’envoyer un défi de vérification GET à ton webhook n8n, mais n8n ne répond pas avec le jeton hub.challenge attendu lors de la négociation.
Voici quelques points à vérifier rapidement :
- Statut du workflow et type d’URL :
- Si tu utilises l’URL du webhook de production, assure-toi que le workflow est activé en haut à droite avant de cliquer sur « Vérifier et enregistrer » dans Meta.
- Si tu testes avec l’URL du webhook de test, clique d’abord sur « Écouter un événement de test » dans n8n, puis clique immédiatement sur « Vérifier et enregistrer » dans Meta avant l’expiration du délai.
-
Vérification de la correspondance du jeton :
Vérifie que la chaîne « Jeton de vérification » du tableau de bord de Meta correspond à 100 % (caractère par caractère, en respectant la casse) au jeton configuré dans ton nœud Trigger n8n ou Webhook.
-
Configuration du nœud Trigger :
Si tu utilises un nœud Webhook standard (au lieu du nœud Trigger officiel WhatsApp/Meta), assure-toi que le nœud est configuré pour gérer les requêtes GET pour l’étape de vérification et retourne {{ $json.query['hub.challenge'] }} en tant que texte.
Si tu as déjà vérifié ces points et ça échoue toujours, n’hésite pas à envoyer une capture d’écran de ta configuration de nœud trigger n8n ou à m’envoyer un message privé — je peux t’aider à dépanner le flux de données directement !
Confirmez que le workflow est actif et que l’appelant utilise l’URL de production plutôt que l’URL de test temporaire. Si n8n se trouve derrière un proxy, vérifiez WEBHOOK_URL ainsi que les en-têtes de protocole et d’hôte transférés, car une URL de base publique incorrecte peut enregistrer le mauvais point de terminaison.