> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ouraicalling.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WhatsApp (Text + Sprache)

> Verbinde die WhatsApp Business Cloud API für Chat und Plattform-Sprachanrufe

WhatsApp ist ein Workspace-Kanal unter **Einstellungen → Kanäle → WhatsApp**.

| Modus        | Stack                                  | Plan-Flag                |
| ------------ | -------------------------------------- | ------------------------ |
| Textchat     | Meta Cloud API                         | `plans.whatsapp_channel` |
| Sprachanrufe | Plattform-WhatsApp-Sprachanschluss     | `plans.whatsapp_voice`   |
| Vorlagen     | Meta Message Templates API + Cron-Sync | gleiche WABA wie Text    |

**Bevorzugtes Onboarding (nur auf der Plattform-Domain, z. B. app.famulor.io):** [WhatsApp Embedded Signup](/channels/whatsapp-embedded-signup) (Mit Meta verbinden). Auf individuellen Whitelabel-Domains können Workspaces Zugangsdaten nur **manuell einfügen**.

**Marketplace-Nummern** (Einstellungen → Nummern) sind **PSTN/SIP** für Telefonanrufe. Dieselbe E.164-Nummer wird erst zu WhatsApp, nachdem Meta sie per OTP verifiziert hat. Deine SIP-Trunk-Einstellungen sind unabhängig von der WhatsApp Cloud API. Die Plattform-SMS-Hilfsfunktionen sind nur für SMS/MMS gedacht – nicht für WhatsApp.

## Voraussetzungen

**Workspace-Nutzer**

* Der Plan umfasst WhatsApp-Text und/oder WhatsApp-Sprache
* Webhooks verwenden deine **Basis-App-URL** (Plattform-Host oder verifizierte Individualdomain). Nach dem Verbinden zeigen dir die Einstellungen die genaue Webhook-URL, die du bei Bedarf bei Meta einfügst – du brauchst dafür keinen Zugriff auf die Server-Umgebung

**Plattformbetreiber** (Embedded Signup/Meta-App): siehe [WhatsApp Embedded Signup](/channels/whatsapp-embedded-signup).

## Produktoberfläche

1. **Mit Meta verbinden** (Embedded Signup) – wähle einen Assistenten, optional eine Marketplace-Nummer, OTP-Hilfe für Marketplace-SMS
2. Oder füge die Zugangsdaten manuell ein (Token, App-Secret, Verify-Token, Telefonnummer-ID, WABA-ID)
3. Toggles: Text / eingehende Sprache / ausgehende Sprache
4. **Bearbeiten** einer Verbindung → WhatsApp-Absenderdetails (Anzeigename, automatische KI-Antworten, als ungelesen markiert lassen, Unternehmensprofil, **Profil zu WhatsApp synchronisieren**, Anrufbereitschaft)
5. Wähle **Vorlagen** neben einem Absender, um seine eigene Vorlagenseite zu öffnen. Mit **Aktualisieren** lädst du die Status; **Neu hinzufügen** erstellt einen eigenen Entwurf oder öffnet Metas offizielle Template Library mit Sprachfilter. Variablen müssen lückenlos nummeriert (`{{1}}`, `{{2}}`, `{{3}}`) und einer Systemvariable, einem Lead-Attribut, einer Assistant-Variable oder einem eigenen Schlüssel zugeordnet sein.
6. WhatsApp-Anruf testen (`POST /api/calls/whatsapp-outbound`)

Webhook (nach dem Verbinden): `https://app.famulor.io/api/webhooks/messaging/whatsapp/{connectorId}`\
Abonnieren: **messages**, **calls**, **message\_template\_status\_update** (API v23/v24). Aktiviere für Sprache zusätzlich das Anrufen für die Telefonnummer (Bearbeiten → Anrufe bei Meta aktivieren).

## Kampagnen

Wähle **WhatsApp** im Kampagnen-Wizard, um ein freigegebenes Text-Template eines aktiven Senders einmal pro Lead zu senden. Gespeicherte Template-Bindings werden vorausgefüllt und können pro Kampagne überschrieben werden. Mappings unterstützen Kontaktfelder, schreibgeschützte Kanal-/Systemvariablen, Lead-Attribute, Assistant-Variablen und eigene Lead-Schlüssel.

**WhatsApp Call (Beta)** benötigt aktivierte Workspace-Betafunktionen, `multichannel_campaigns`, `whatsapp_voice`, einen für ausgehende Anrufe bereiten Sender und eine konkret ausgewählte **GENEHMIGTE Anrufberechtigungs-Vorlage für genau diesen Sender** (`channel_config.permission_template_id`). Neue und bearbeitete Kampagnen scheitern ohne Auswahl geschlossen; bestehende Kampagnen behalten bis zur nächsten Bearbeitung ihren Fallback. Innerhalb des 24-Stunden-Servicefensters verwendet die Plattform Metas interaktive Anfrage; außerhalb öffnet die ausgewählte Vorlage die Berechtigungsanfrage.

Voice-Kampagnen können ein freigegebenes WhatsApp-Template als einmaliges Follow-up nach ausgeschöpften Anrufversuchen verwenden. Erfolgreiche Anrufe, unterdrückte Kontakte und manuell pausierte Kampagnen erzeugen kein Follow-up.

## Verlauf

* Textkonversationen: Kanal **WhatsApp** (`messaging_*`-Tabellen)
* Sprache: Kanal **WhatsApp-Sprache** (`calls.metadata.channel = whatsapp_voice`)

Abgeschlossene Textkonversationen bleiben manuell beantwortbar, solange Metas 24-Stunden-Servicefenster offen ist. Nach einer manuellen Antwort fragt der Verlauf, ob die Konversation abgeschlossen bleiben oder mit automatischen KI-Antworten erneut geöffnet werden soll. Beim Wiederöffnen startet ein neuer Inaktivitäts-Timer, ohne Metas 24-Stunden-Fenster zu verlängern.

## Abrechnung

* Text: bestehende Messaging-Credits für Empfang/Versand
* Sprache: bestehende Reservierung/Abrechnung von Sprachminuten-Credits (wie bei Telefon-/SIP-Anrufen)
* Meta-Konversationspreise: Zahlungsmethode des Kunden im WhatsApp Manager (Tech Provider)

## Öffentliche API

* Embedded Signup: `GET/POST /api/whatsapp/embedded-signup`, OTP-Session-Routen
* Messaging-Connectors: `GET/POST /api/v1/messaging-connectors` mit `platform=whatsapp`
* Vorlagen: `GET/POST /api/v1/whatsapp/templates`; mit `source=library`, `language`, `limit` und dem zurückgegebenen Cursor `paging.after` wird die offizielle Bibliothek vollständig durchlaufen. `parameter_bindings` ordnet Positionen wie `1` oder `header.1` Variablenschlüsseln zu. Bei URL- oder Telefon-Buttons werden neben `library_template_name` auch `library_button_values` benötigt.
* Ausgehende Anrufe: `POST /api/v1/calls/whatsapp-outbound`
* KI im Verlauf fortsetzen: `POST /api/v1/history/actions` mit `action=resume_ai`, `kind=messaging` und der Conversation-ID
* Anruf-Verwaltung: `GET /api/v1/whatsapp/calling` liest die Anrufbereitschaft (Meta-Anrufeinstellungen, Webhook-Abo, Qualitätsbewertung) für die Geschäftsnummer eines Connectors; `POST /api/v1/whatsapp/calling` führt `enable_calling`, `resubscribe` oder `ensure_voice` aus.
* Absender-Assets: `POST`/`DELETE /api/v1/whatsapp/connectors/{id}/assets` laden ein Business-Profil-Logo/-Banner hoch oder entfernen es (URL oder Base64).
* Messenger Connect lässt sich jetzt ebenfalls vollständig über die API abwickeln: `POST /api/v1/messenger/facebook-login/pages` listet die Facebook-Seiten, die ein User-Access-Token verwalten kann, vor `POST /api/v1/messenger/facebook-login`.
* MCP: WhatsApp-Vorlagen-Tools + `complete_whatsapp_embedded_signup` + `start_whatsapp_outbound_call` + `get_whatsapp_calling_status` + `manage_whatsapp_calling` + `upload_whatsapp_sender_asset` / `delete_whatsapp_sender_asset` + `list_messenger_facebook_pages`

Die **OTP-Erfassungssession** für Marketplace-Nummern (der Telefonnummer-Verifizierungsschritt, der eine gekaufte Nummer WhatsApp-fähig macht) bleibt reine Dashboard-Funktion – ein interaktiver Telefonie-Flow ohne REST-/MCP-Pendant.

Siehe auch [Embedded-Signup-Setup](/channels/whatsapp-embedded-signup), [Messaging-Kanäle](/channels/messaging), [WhatsApp Voice](/telephony/whatsapp-voice).
