WhatsApp aus WordPress über die Meta Cloud API senden: Schritt für Schritt

Ich wollte eigentlich nur etwas Einfaches: Wenn in WordPress bei einer Parkplatzbuchung etwas Wichtiges passiert, sollte der Kunde automatisch eine WhatsApp-Nachricht bekommen. Zusätzlich wollte ich selbst eine Kopie erhalten. Was nach „ein API-Zugang und fertig“ klingt, führt bei Meta durch mehrere Ebenen: Developer-App, Business-Portfolio, WhatsApp Business Account, Telefonnummer, Token, Nachrichtenvorlagen und – wenn dieselbe Nummer weiterhin auf dem Handy laufen soll – Coexistence.

Dieser Artikel dokumentiert meinen tatsächlichen Einrichtungsweg. Nicht nur die Schritte, die funktioniert haben, sondern auch die Stellen, an denen ich falsch abgebogen bin. Gerade diese Fehler sind hilfreich, weil sie erklären, was Meta im Hintergrund überhaupt voneinander trennt.

Stand: 26. September 2026. Die kostenlose Teststrecke mit der Meta-Testnummer funktioniert. Die eigene produktive Nummer ist noch nicht über Coexistence angeschlossen. Die selbst erstellte Nachrichtenvorlage befindet sich zum Zeitpunkt dieses Artikels noch in der Meta-Prüfung.

Das Wichtigste zuerst: Was wird eigentlich miteinander verbunden?

Für einen automatischen Versand aus WordPress braucht man gedanklich diese Kette:

WordPress-Ereignis
    ↓
WhatsApp-Sendefunktion in WordPress
    ↓
Meta Graph / WhatsApp Cloud API
    ↓
Phone Number ID
    ↓
freigegebene Nachrichtenvorlage
    ↓
WhatsApp des Kunden

Die Telefonnummer ist also nur ein Teil des Systems. WordPress sendet nicht „direkt an WhatsApp“, sondern authentifiziert sich gegenüber der Meta-API. Für Nachrichten, die ein Unternehmen selbst startet, spielen zusätzlich freigegebene Templates eine wichtige Rolle.

1. Meta-App anlegen und WhatsApp als Anwendungsfall wählen

In der Meta-Entwickleroberfläche wird zunächst eine App erstellt. Entscheidend ist der Anwendungsfall „Über WhatsApp mit deinen Kunden in Kontakt treten“. Er steckt bei Meta unter Business Messaging.

WhatsApp als Business-Messaging-Anwendungsfall in Meta auswählen

WhatsApp als Business-Messaging-Anwendungsfall auswählen.

Danach wird die App einem Business-Portfolio zugeordnet. In meinem Fall waren mehrere Portfolios vorhanden – ein guter Grund, an dieser Stelle nicht einfach blind auf „Weiter“ zu klicken.

Meta-App mit dem passenden Business-Portfolio verknüpfen

Die App wird mit dem passenden Business-Portfolio verknüpft; persönliche Angaben sind anonymisiert.

Nach dem Erstellen landet man in einer geführten WhatsApp-Einrichtung. Meta unterscheidet dort Testbetrieb, Produktionseinrichtung und Unternehmensverifizierung.

Geführte WhatsApp-Einrichtung in Meta

Meta führt anschließend durch Test, Produktionseinrichtung und Verifizierung.

2. Erst mit der kostenlosen Meta-Testnummer arbeiten

Für den Anfang ist die Testnummer ideal. Man kann die Cloud API ausprobieren, ohne die eigene WhatsApp-Business-Nummer anzufassen. Meta zeigt dabei unter anderem eine Phone Number ID und eine WhatsApp Business Account ID (WABA-ID) an.

Zusätzlich wird ein Access Token erzeugt. Dieser Token ist ein Zugangsschlüssel. Er gehört weder in einen Blogartikel noch in einen Screenshot, eine E-Mail oder einen Chat. Wenn er irgendwo sichtbar wurde, sollte man einen neuen Token erzeugen und den alten nicht weiterverwenden.

Der wichtigste Test: Kommt überhaupt eine WhatsApp an?

Meta erlaubt, eine eigene Handynummer als Testempfänger zu hinterlegen. Danach lässt sich direkt aus der Oberfläche eine Nachricht von der Meta-Testnummer senden. Genau dieser Test war bei mir erfolgreich – damit war klar: App, Testnummer, Empfänger und grundsätzlicher API-Zugang funktionieren.

Merksatz: Erst die Meta-Testnachricht zum Laufen bringen. WordPress kommt danach. So weiß man später, ob ein Fehler in WordPress oder bei Meta liegt.

3. Die zwei Welten: Testnummer und eigene bestehende WhatsApp-Nummer

Kompliziert wurde es erst bei meiner echten Nummer. Sie lief bereits in der WhatsApp Business App auf dem Handy. Genau hier muss man unterscheiden:

  • API-only: Die Nummer wird als Cloud-API-Nummer registriert. Die bisherige Nutzung in der Business App kann dabei betroffen sein.
  • Coexistence: Dieselbe Nummer soll gleichzeitig in der WhatsApp Business App und über die Cloud API nutzbar sein.

In den Meta-Business-Einstellungen war meine bestehende WhatsApp-Business-App bereits als Konto sichtbar.

Im WhatsApp Manager wurde die Nummer jedoch weiterhin als Offline angezeigt. Das war ein wichtiges Signal: „Im Business Portfolio vorhanden“ ist nicht dasselbe wie „produktiv an der Cloud API registriert“.

4. Warum Coexistence ein eigener Einrichtungsweg ist

Coexistence bedeutet, dass dieselbe geschäftliche Nummer auf dem Handy in der WhatsApp Business App weiterläuft und zusätzlich über die Cloud API angebunden wird. Meta führt diesen Weg über Embedded Signup. Das ist nicht einfach dieselbe Registrierung wie bei einer neuen API-only-Nummer.

Für meinen Versuch musste zunächst unter Facebook Login for Business eine Konfiguration angelegt werden.

Meta bietet dafür inzwischen eine passende WhatsApp-Embedded-Signup-Vorlage an. In meinem Test war eine Vorlage mit 60-tägigem Systemnutzer-Token vorhanden.

Nach dem Erstellen bekommt die Konfiguration eine eigene ID. Diese ID wird später vom Embedded-Signup-Dialog verwendet.

5. Die beiden Meta-Fehler, die mir am meisten Zeit gekostet haben

Fehler 1: „Die JSSDK-Option ist nicht aktiviert“

Beim ersten Start des Embedded-Signup-Dialogs brach Meta sofort ab: JavaScript-SDK-Login war nicht aktiviert.

Fehlermeldung bei nicht aktiviertem JavaScript-SDK-Login

Typischer Fehler: Der JavaScript-SDK-Login ist in der App noch nicht aktiviert.

Die Lösung lag in Facebook Login for Business → Einstellungen. Dort muss der Login mit dem JavaScript-SDK erlaubt sein.

Fehler 2: „URL kann nicht geladen werden“

Nach dem ersten Fix kam der nächste Fehler: Die WordPress-Domain war Meta noch nicht als App-Domain bekannt.

Meta-Fehlermeldung bei nicht zugelassener Domain

Nächster typischer Fehler: Die WordPress-Domain fehlt in den App-Domains.

Zusammenpassen müssen mindestens die App-Domain, die für das JavaScript-SDK zugelassene Domain und – je nach Flow – die gültige OAuth-Redirect-URI. Bei mir war die WordPress-Adminseite der Startpunkt des Dialogs.

Facebook Login for Business mit JavaScript-SDK und OAuth-Einstellungen

JavaScript-SDK, zulässige Domain und OAuth-Redirect müssen zusammenpassen.

6. Wenn der Login-Dialog endlich wirklich startet

Nach den Korrekturen erschien der Facebook-Login-for-Business-Dialog tatsächlich. Das war der Punkt, an dem klar wurde, dass App-Domain, SDK und Login-Konfiguration grundsätzlich zusammenspielen.

Für WordPress hatte ich dafür eine kleine Adminseite gebaut, die den offiziellen Meta-Dialog startet. Das war nützlich für den Test, ersetzt aber noch nicht alle serverseitigen Schritte, die für eine echte produktive Coexistence-Anbindung nötig sind.

Wichtige Erkenntnis: Eine erfolgreiche Facebook-Autorisierung bedeutet noch nicht automatisch, dass die bestehende WhatsApp-Business-Nummer danach als Cloud-API-Nummer aktiv ist. Genau deshalb habe ich die echte Nummer nicht weiter „auf Verdacht“ migriert.

7. Für den kostenlosen Test zurück zur Meta-Testnummer

Weil ich zu diesem Zeitpunkt ausdrücklich ohne zusätzliche monatliche Kosten testen wollte, bin ich für den eigentlichen WordPress-Versand bewusst wieder zur kostenlosen Meta-Testnummer zurückgekehrt. Das ist der sauberste Weg, um die WordPress-Logik zu bauen, bevor die produktive Telefonnummer angefasst wird.

In WordPress braucht die Sendefunktion im Kern zwei Dinge: die Phone Number ID und den Access Token. Für Tests kann das ein temporärer Meta-Token sein. Für Produktion braucht man später einen belastbaren, dauerhaft vorgesehenen Authentifizierungsweg.

8. Nachrichtenvorlagen: Der zweite große Stolperstein

Wenn WordPress von sich aus eine WhatsApp-Nachricht starten soll, ist eine genehmigte Vorlage entscheidend. Im WhatsApp Manager findet man diese unter Nachrichtenvorlagen.

Übersicht des WhatsApp Managers

Im WhatsApp Manager befinden sich Kontofunktionen, Telefonnummern und Nachrichtenvorlagen.

Dort lassen sich bestehende Vorlagen verwalten und neue anlegen.

Nachrichtenvorlagen im WhatsApp Manager verwalten

Nachrichtenvorlagen werden im WhatsApp Manager verwaltet.

Für Buchungsstatus: Verwaltung / Utility statt Marketing

Meine Nachricht informiert über einen konkreten Buchungsstatus. Dafür habe ich Verwaltung gewählt – also eine transaktionale bzw. Utility-Nachricht, nicht Marketing.

Kategorie Verwaltung für eine WhatsApp-Nachrichtenvorlage auswählen

Für Buchungsstatus und Transaktionshinweise passt die Kategorie Verwaltung/Utility.

Der Vorlagenname muss exakt zu WordPress passen. Bei mir lautet er:

erf_buchungsstatus

Als Sprache wurde normales Deutsch gewählt – nicht Deutsch (AUT) und nicht Deutsch (CHE).

Name und Sprache einer WhatsApp-Nachrichtenvorlage festlegen

Vorlagenname und Sprache müssen exakt zu dem passen, was WordPress später sendet.

Meine Vorlage

Parkplatzbuchung {1}: Der Status Ihrer Buchung ist jetzt: {2}. {3}

Vielen Dank
Roman von
parken-am-flughafen-erfurt-weimar.de

Die Variablen sind so gedacht:

  • {1} = Buchungs-/Bestellnummer
  • {2} = Status, zum Beispiel „Zahlung offen“
  • {3} = passender Hinweis, zum Beispiel zur Zahlungsfrist

Meta akzeptiert Variablen nicht an jeder Stelle

Ein überraschender Fehler: Meta beanstandete die Vorlage, als {3} praktisch am Ende stand. Die Oberfläche meldete sinngemäß, dass Variablen nicht am Anfang oder Ende der Vorlage stehen dürfen. Ich habe deshalb noch einen normalen Textblock angehängt.

Text und Variablen der WhatsApp-Nachrichtenvorlage erf_buchungsstatus

Meta prüft auch die Position von Variablen; eine Variable darf nicht allein am Ende stehen.

Außerdem verlangt Meta Beispiele für die Variablen. Dafür sollte man keine echten Kundendaten verwenden, sondern neutrale Musterwerte.

9. Nach dem Einreichen: „Wird überprüft“ ist normal

Nach dem Einreichen erscheint die Vorlage zunächst mit dem Status „Wird überprüft“. Genau dort stand meine Vorlage beim Schreiben dieses Artikels.

Nachrichtenvorlage erf_buchungsstatus während der Meta-Prüfung

Nach dem Einreichen steht die Vorlage zunächst auf „Wird überprüft“.

Jetzt heißt es tatsächlich: nichts mehr ändern und warten. Eine Änderung kann eine neue Prüfung auslösen.

10. Was ich heute anders machen würde

  1. Erst Testnummer, dann WordPress, ganz zuletzt produktive Nummer.
  2. Die eigene WhatsApp-Business-App nicht vorschnell migrieren. Wenn die Nummer am Handy erhalten bleiben soll, zuerst klären, ob man wirklich Coexistence braucht.
  3. Token sofort wie Passwörter behandeln. Schon ein Screenshot kann reichen, um einen Token versehentlich zu veröffentlichen.
  4. Meta-IDs auseinanderhalten. App-ID, Business-ID, WABA-ID, Phone Number ID und Konfigurations-ID sind verschiedene Dinge.
  5. Templates früh anlegen. Sonst ist die WordPress-Integration fertig, aber der reale Versand wartet auf die Meta-Prüfung.
  6. Nicht jede Meta-Empfehlung ist für den eigenen Fall gedacht. Tech-Provider-Funktionen richten sich vor allem an Lösungen, die fremde Unternehmen onboarden. Für ein einzelnes eigenes Unternehmen sollte man nicht unnötig in diesen Pfad wechseln.

11. Der WordPress-Teil in einem Satz

WordPress muss bei einem definierten Ereignis die Meta-Messages-API mit der richtigen Phone Number ID, einem gültigen Access Token, dem freigegebenen Template-Namen und den passenden Variablen aufrufen. Welche Ereignisse das sind, ist dann reine Geschäftslogik.

Für mein Parkplatz-System sind beispielsweise Buchungsbestätigung, P2-Anfrage, Genehmigung/Ablehnung, Zahlungsaufforderung, Zahlungserinnerung, Zahlungseingang und Storno sinnvolle Trigger.

12. Aktueller Stand meines Projekts

  • Meta-Testnummer: funktioniert.
  • Testnachricht aufs eigene Handy: funktioniert.
  • WordPress-Konfiguration: vorhanden.
  • Template erf_buchungsstatus: eingereicht, Prüfung läuft.
  • Produktive eigene Nummer: bewusst noch nicht migriert.
  • Coexistence: technisch untersucht, aber noch nicht produktiv abgeschlossen.
  • Kostenpflichtiger Drittanbieter: für die Testphase verworfen.

Fazit

WhatsApp aus WordPress zu automatisieren ist machbar – aber Meta verteilt die Einrichtung auf so viele Ebenen, dass man ohne Gesamtbild sehr schnell nur noch Klickfolgen abarbeitet. Der entscheidende Fortschritt für mich war, die Einrichtung in drei getrennte Aufgaben zu zerlegen: API mit Testnummer beweisen, WordPress-Versand bauen, produktive Nummer erst danach anbinden.

Damit lässt sich fast alles kostenlos testen, ohne die bestehende WhatsApp-Business-App zu riskieren. Erst wenn Testversand, Templates und WordPress-Ereignisse stabil laufen, lohnt sich die Entscheidung, wie die produktive Nummer angebunden werden soll.

Quellen und weiterführende Dokumentation