Einrichtung hostinger-n8n ↔ WhatsApp (Meta) Integration
Wir haben versucht, eine **WhatsApp Business API Integration mit n8n** auf einem **Hostinger VPS** aufzusetzen. Ziel war es, eingehende WhatsApp-Nachrichten über einen **Meta Webhook** direkt in **n8n (Production-Webhook)** zu verarbeiten. ## Zielarchitektur (Soll-Zustand) * **Hostinger VPS (Ubuntu)** * **Docker Compose Setup** * `traefik` als Reverse Proxy (TLS, Let’s Encrypt) * `n8n` als Workflow Engine (intern auf `127.0.0.1:5678`) * **Öffentliche URL** * `https://n8n.<domain>/` * **Meta WhatsApp Webhook** * Callback-URL zeigt auf n8n * Verifikation via `hub.challenge` ## Was technisch funktioniert hat 1. **DNS & TLS** * Domain korrekt auf VPS aufgelöst * HTTPS via Traefik + Let’s Encrypt erfolgreich 2. **Docker & Networking** * Beide Container (`traefik`, `n8n`) laufen stabil * Traefik-Router für `n8n.<domain>` ist aktiv und sichtbar * Interner Zugriff (`curl`) auf den n8n-Webhook funktionier 3. **Webhook-Erreichbarkeit** * Aufrufe wie ```bash curl https://n8n.<domain>/webhook/<id>/webhook ``` liefern korrekt: ```json {"message":"Webhook call received"} ``` ➡️ **Infrastruktur, Routing und TLS sind korrekt.** ## Zentrales Problem ### ❌ Meta Webhook-Verifikation schlägt fehl Meta erwartet bei der Verifikation: GET /webhook?...&hub.challenge=XYZ → Response Body: XYZ (plain text) **n8n antwortet jedoch immer mit JSON**, z. B.: ```json {"message":"Webhook call received"} Damit gilt die Callback-URL für Meta als **nicht valide**, obwohl sie technisch erreichbar ist. ## Warum das problematisch ist * n8n **kann den Meta-Verifizierungs-Handshake nicht nativ erfüllen** * Der WhatsApp Trigger in n8n **setzt voraus**, dass die Meta-App bereits korrekt verifiziert ist * Meta erlaubt **nur einen aktiven Webhook pro App** * Dadurch entsteht ein **Zirkelschluss**: * Meta akzeptiert den Webhook nicht * n8n-Trigger kann nicht aktiv werden * Keine Events kommen an ## Lösungsansätze, die geprüft wurden 1. **Firewall / Ports** * 80 / 443 offen