Mit Webhooks kannst du HTTP-Benachrichtigungen in Echtzeit erhalten, die dich über Änderungen an bestimmten Objekten informieren. Du kannst beispielsweise eine Benachrichtigung erhalten, wenn ein*e Nutzer*in dir eine Nachricht sendet oder sich der Status einer Nachrichtenvorlage geändert hat. Dies verhindert, dass du unsere APIs nach Änderungen an Objekten, die möglicherweise vorgenommen wurden, abfragen musst. So kannst du außerdem vermeiden, dass du deine Ratenbegrenzung erreichst.
Dieses Dokument bietet eine Übersicht über Webhooks für die WhatsApp Business Management API, WhatsApp Business Platform Cloud API und WhatsApp Business Platform On-Premises API.
Jede API kann über mehrere Objekttypen verfügen. Wenn du einen Webhook konfigurierst, musst du also zuerst einen Objekttyp auswählen. Da unterschiedlichen Objekten unterschiedliche Felder zugeordnet sind, musst du für diesen Objekttyp bestimmte Felder abonnieren. Wenn dann eine Änderung am Wert eines Objektfelds vorgenommen wird, das du abonniert hast, erhältst du eine Benachrichtigung.
Benachrichtigungen werden in Form von HTTP-POST-Anfragen an dich übermittelt und umfassen eine JSON-Payload mit einer Beschreibung der Änderung.
Die folgende Tabelle zeigt die Informationen, die du von Webhooks erhalten kannst.
API | Objekte |
---|---|
Cloud API |
|
On-Premises API |
|
WhatsApp Business Management API |
|
Die folgenden Beispiele zeigen eine Webhook-Benachrichtigung, die du erhältst, wenn dir ein*e Nutzer*in eine Textnachricht gesendet hat.
Für die Cloud API ist das Objekt immer whatsapp_business_account
, doch das field
weist auf die Art der Information hin, die gesendet wird.
{ "object": "whatsapp_business_account", "entry": [{ "id": "WHATSAPP_BUSINESS_ACCOUNT_ID", "changes": [{ "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": PHONE_NUMBER, "phone_number_id": PHONE_NUMBER_ID }, "contacts": [{ "profile": { "name": "NAME" }, "wa_id": PHONE_NUMBER }], "messages": [{ "from": PHONE_NUMBER, "id": "wamid.ID", "timestamp": TIMESTAMP, "text": { "body": "MESSAGE_BODY" }, "type": "text" }] }, "field": "messages" }] }] }
Für die On-Premises API ist das Objekt contacts
und messages
, errors
oder statuses
und pricing
, da der Webhook von deinem Client gesendet wird statt von Meta.
{ "contacts": [{ "profile": { "name": "NAME" }, "wa_id": "WHATSAPP_BUSINESS_ACCOUNT_ID" }], "messages":[{ "from": "PHONE_NUMBER", "id": "wamid.ID", "timestamp": "TIMESTAMP", "text": { "body": "MESSAGE_BODY" }, "type": "text" }] }
Alle Webhooks werden über HTTPS gesendet, daher muss dein Server in der Lage sein, HTTPS-Anfragen zu empfangen und zu verarbeiten. Außerdem muss ein gültiges TLS/SSL-Zertifikat darauf installiert sein. Selbstsignierte Zertifikate werden nicht unterstützt.
Erfahre mehr über Webhooks für eine bestimmte API.