La validation de l'URL webhook WhatsApp échoue dans n8n Cloud

Je tente de configurer un chatbot IA WhatsApp en utilisant les nœuds WhatsApp Trigger et Send Message. J’ai configuré avec succès l’ID du compte WhatsApp Business, l’ID client, le secret client et le jeton d’accès. Cependant, lorsque j’essaie d’enregistrer l’URL de rappel du webhook (à la fois les URL de production et de test en utilisant POST/GET) dans la console Meta Developer, Meta refuse de la valider et indique qu’elle n’est pas validée. Comme le webhook ne se valide pas, les messages entrants ne déclenchent pas mon workflow n8n. Je ne peux envoyer des messages avec succès que manuellement en utilisant le bouton de test « Send Message » dans le tableau de bord Meta Business Suite.

Version n8n : 2.29.5 -

Exécution de n8n via : n8n Cloud (essai gratuit de 14 jours) -

Environnement d’hébergement : hébergement officiel n8n Cloud

Étapes effectuées jusqu’à présent

  1. Configuration de tous les identifiants API dans les nœuds WhatsApp.

  2. Tentative de collage des deux URL de webhook de production et de test dans la configuration de Meta.

  3. Ajout à la liste blanche de mon numéro de téléphone de test dans le panneau développeur Meta.

Comment puis-je faire en sorte que Meta valide avec succès mon URL de rappel du webhook n8n afin que les messages entrants déclenchent mon workflow ?

Avant de cliquer sur Vérifier, publiez le workflow si vous utilisez l’URL de production ou utilisez l’URL de test, mettez-la en écoute et cliquez sur Vérifier
De toute façon, vous aurez besoin d’un nœud respond pour retourner le token à Meta après l’écoute, donc cela ne fonctionnera pas la première fois ; vous obtiendrez simplement le token dans le flux de données, puis configurerez votre nœud respond to webhook avec celui-ci.

N’utilisez pas l’URL de test pour une configuration Meta permanente, elle ne fonctionne que pendant l’écoute active. Utilisez l’URL de production une fois que votre flux de travail est publié et actif.

La capture d’écran montre que vous utilisez l’URL de production, mais le flux de travail n’est peut-être pas encore actif, c’est très certainement le problème.

Salut @Harsh_Deswal Bienvenue !
WhatsApp n’autorise qu’un seul webhook par application, donc chaque fois que tu colles l’URL de test puis l’URL de production, la plus récente écrase l’enregistrement précédent. La vérification de Meta ne fonctionne que sur l’URL unique actuellement enregistrée et accessible, donc passer de l’une à l’autre est ce qui la laisse non validée. Enregistre une seule URL et n’alterne pas pendant la validation.

@Stanleyy a bien compris, l’URL de redirection de test ne sera jamais résolue à moins qu’elle soit activement à l’écoute. Utilise celle de production.

Et mets ton workflow en actif.

J’ai conservé la même URL de Production Get plusieurs fois mais je fais face au même problème de validation encore et encore. Peut-être que ces captures d’écran t’aideront à mieux me guider.

Compris @Harsh_Deswal

Vous ne collez pas l’URL de rappel dans Meta et n’appuyez pas sur Vérifier vous-même avec le nœud WhatsApp Trigger. n8n enregistre le webhook et répond à la poignée de main de vérification de Meta pour vous. Le faire manuellement, c’est ce qui revient constamment comme non validé. La raison pour laquelle l’envoi fonctionne mais pas le déclencheur est le type d’authentification : « Send Message » s’exécute sur l’authentification par clé API (Access Token + Business Account ID), tandis que le déclencheur a besoin d’une authentification OAuth2 (Client ID est votre App ID, Client Secret est votre App Secret) pour effectuer cette vérification. Ouvrez le nœud WhatsApp Trigger, définissez-le sur une authentification OAuth2 construite à partir de votre App ID et App Secret, et laissez n8n effectuer la poignée de main avec Meta au lieu de la vérification manuelle.

Je suis un débutant Meta Registers enregistre mon message Hii que j’envoie au numéro Test mais ne l’envoie pas à n8n pour que n8n puisse répondre.

Je pense que @Harsh_Deswal le numéro de test est le problème ici, il ne pousse souvent pas les messages entrants vers le déclencheur jusqu’à ce que vous ouvriez la fenêtre de messagerie de votre côté. Envoyez d’abord un message WhatsApp de votre propre numéro personnel au numéro de test, puis laissez n8n répondre, et Meta commencera à transférer les messages entrants vers votre workflow. Si le message ne passe toujours pas sur le numéro de test du sandbox, ajoutez et vérifiez votre propre numéro de téléphone professionnel, le numéro de test temporaire n’est pas fiable pour la livraison entrante.
Voyez ceci:

J’ai rencontré le même problème il y a quelques semaines, donc je comprends la frustration.
Voici ce qui se passe réellement : quand tu colles l’URL de rappel dans Meta toi-même et que tu appuies sur Vérifier, tu fais la poignée de main manuellement. Mais le nœud WhatsApp Trigger dans n8n est censé gérer cette vérification tout seul, il enregistre le webhook et répond au défi de Meta automatiquement. Donc ta tentative de vérification manuelle entre en conflit avec ce que n8n essaie déjà de faire en arrière-plan.

Le point le plus important à vérifier, c’est tes identifiants. « Send Message » fonctionne parce qu’il a juste besoin des identifiants de type clé API, Access Token plus Business Account ID. Mais le nœud Trigger a besoin d’une identité OAuth2 créée à partir de ton App ID (c’est ton Client ID) et App Secret (Client Secret). Si le Trigger utilise toujours le mauvais type d’identifiant, c’est presque certainement pour ça que la poignée de main continue d’échouer même si l’envoi de messages fonctionne parfaitement.

Cela vaut aussi la peine de vérifier : une seule URL de webhook peut être enregistrée par application à la fois. Si tu as basculé entre les URLs Test et Production en essayant de valider, la dernière collée écrase l’enregistrement précédent, donc basculer entre elles réinitialise sans cesse l’état. Choisis une URL, assure-toi que le flux de travail est publié et actif s’il s’agit de l’URL de Production, et ne la touche pas pendant la validation.

Une fois que le type d’identifiant est corrigé et qu’une seule URL est enregistrée, essaie à nouveau l’étape de vérification. Cette combinaison est généralement ce qui le répare.