Zum Hauptinhalt springen
Diese Befehle kapseln die API /v1/whatsapp/*. Der Umfang ist bewusst schmal gehalten — Lebenszyklus der Vorlagen plus Versand ausgehender Vorlagennachrichten. Die WABA-Verbindung erfolgt ausschließlich im Browser (OAuth) und bleibt im Dashboard.
Alle Befehle akzeptieren an der Stelle <account-id> entweder die interne Social-Konto-UUID (aus accounts:list) oder die Meta-WABA-Anbieter-ID. Der v1-Controller löst UUIDs serverseitig in Anbieter-IDs auf.

whatsapp:templates

Listet jede Vorlage auf, die in einem WhatsApp-Business-Konto registriert ist, einschließlich Status (APPROVED, PENDING, REJECTED), Kategorie, Sprache und Komponentenstruktur.
Beispiele

whatsapp:create-template

Reicht eine neue Vorlage bei Meta zur Genehmigung ein. Die Genehmigung von Vorlagen kann Minuten bis Stunden dauern; frage whatsapp:templates ab, um den Statusübergang von PENDING → APPROVED zu sehen.
Übergib die Vorlagendefinition entweder mit --file oder mit --data (werden beide angegeben, gewinnt --file; wird keines angegeben, gibt der Befehl einen Fehler aus). Die Payload entspricht dem Schema der WhatsApp Cloud API von Meta. Mindestfelder:
  • name — Kleinbuchstaben, mit Unterstrichen
  • language — z. B. en_US
  • category — MARKETING, UTILITY oder AUTHENTICATION
  • components[] — HEADER, BODY, FOOTER, BUTTONS
Die CLI fügt accountId (aus --account) vor dem Absenden in die Payload ein, du musst es also nicht im JSON angeben.
Beispiele
Vorlagennamen müssen aus Kleinbuchstaben, Ziffern und Unterstrichen bestehen (^[a-z0-9_]+$). Meta validiert das — nicht passende Namen werden sofort mit 400 abgelehnt.

whatsapp:delete-template

Löscht eine Vorlage dauerhaft. Nach dem Löschen kann sie nicht wiederhergestellt werden; du musst sie unter einem neuen Namen erneut einreichen.
Ohne -y fragt der Befehl Delete template "<name>" on account <id>? (y/N) und bricht ab, sofern du nicht mit y antwortest.
Beispiele

whatsapp:send

Sendet eine genehmigte Vorlagennachricht an einen Empfänger. Das ist der wichtigste Weg, eine WhatsApp-Konversation außerhalb des 24-Stunden-Kundenservice-Fensters zu eröffnen.
--components und --file sind beide optional (eine Vorlage ohne Variablen braucht keines von beiden). Werden beide angegeben, hat --file Vorrang. Komponentenparameter füllen die Variablen ({{1}}, {{2}} usw.) der genehmigten Vorlage. Das Format entspricht der Cloud API von Meta:
Beispiele
Der Versand von Vorlagen wird gemäß der WhatsApp-Business-Preisgestaltung von Meta abgerechnet. Teste immer zuerst mit einem einzelnen Empfänger. Nicht genehmigte oder abgelehnte Vorlagen schlagen mit 400 fehl.

whatsapp:upload-media

Lädt Header-Medien (Bild/Video/Dokument) zur Verwendung in der HEADER-Komponente einer Vorlage hoch. Gibt ein Medien-Handle zurück, das du beim Erstellen oder Senden von Vorlagen referenzieren kannst.
Gib genau eines von --url oder --base64 an — der Befehl gibt einen Fehler aus, wenn du keines oder beide angibst.
Beispiele

Das große Ganze

  • Session-Nachrichten (Antworten innerhalb von 24 Stunden nach einer eingehenden Nachricht) laufen über inbox:reply — keine Vorlage erforderlich.
  • Vorlagennachrichten (Erstkontakt oder außerhalb des 24-Stunden-Fensters) verwenden whatsapp:send und erfordern eine von Meta genehmigte Vorlage.
  • Das Verbinden eines WhatsApp-Business-Kontos erfolgt weiterhin ausschließlich im Browser — schließe zuerst OAuth im Dashboard ab, dann können deine CLI-Skripte auf das verbundene Konto verweisen.