API WhatsApp avec n8n : un workflow qui reçoit et répond
Pour relier l'API WhatsApp à n8n, aucun nœud dédié n'est nécessaire : un nœud Webhook reçoit chaque message de Nodium, et un nœud HTTP Request répond par l'API REST. Ajoutez entre les deux une vérification de signature, pour que le workflow ne tourne que sur les événements réellement envoyés par Nodium.
Le workflow
- Nœud Webhook — méthode
POST, avec l'option Raw Body activée : la signature se calcule sur le corps exactement tel que reçu. Copiez son adresse de production. - Vérification de signature — l'en-tête
X-Nodium-Signaturevautt=<horodatage>,v1=<signature>. Avec le nœud Crypto, calculez le HMAC-SHA256 de<horodatage>.<corps brut>avec le secret de votre webhook, en hexadécimal, et comparez-le àv1dans un nœud If. Arrêtez le workflow s'ils diffèrent. - Nœud HTTP Request — méthode
POST, adressehttps://nodium.io/api/v1/messages, un identifiantBearerqui porte votre clé d'API, et le corps JSON ci-dessous.
{ "channelId": "{{ $json.body.data.channel_id }}", "to": "{{ $json.body.data.from }}", "type": "text", "text": "You wrote: {{ $json.body.data.text }}", "idempotencyKey": "reply-{{ $json.body.id }}"}Dire à Nodium où vous appeler
Déclarez l'adresse de production du nœud Webhook, dans la console sous Paramètres › Webhooks ou par l'appel ci-dessous. Le secret n'est montré qu'une fois : rangez-le dans un identifiant n8n.
curl https://nodium.io/api/v1/webhooks \ -H "Authorization: Bearer $NODIUM_KEY" \ -H "Content-Type: application/json" \ -d '{ "url": "https://your-app.example.com/webhooks/nodium", "events": ["message.received"] }'# → data.secret (whsec_…): shown onceEnsuite
- La réponse ci-dessus est du texte libre : elle ne part que dans la fenêtre de 24 heures. Pour écrire en premier, envoyez un modèle avec
"type": "template". - Gardez l'
idempotencyKey: quand n8n relance un nœud, le message ne part qu'une fois. - Un agent IA dans n8n peut aussi piloter WhatsApp par le serveur MCP de Nodium.
Questions fréquentes
Existe-t-il un nœud n8n pour Nodium ?
Non. Les nœuds Webhook et HTTP Request couvrent toute l'API, qui est du REST simple.
Puis-je sauter la vérification de signature ?
Le workflow tournerait pour quiconque trouve son adresse. Vérifier la signature est ce qui prouve qu'un événement vient de Nodium.