Webhooks von Meta

Mit Webhooks erhältst du HTTP-Benachrichtigungen in Echtzeit, die dich über Änderungen an bestimmten Objekten im Meta Social Graph informieren. Wir könnten dir z. B. eine Benachrichtigung senden, wenn ein*e beliebige*r Nutzer*in deiner App seine*ihre E-Mail-Adresse ändert oder einen Kommentar auf deiner Facebook-Seite hinterlässt. So musst du keine Anfrage an die Graph API stellen, um zu ermitteln, ob möglicherweise Änderungen an Objekten vorgenommen wurden. Dies hilft dir auch dabei, deine Ratenbegrenzung nicht zu erreichen.

Die für Webhooks für Zahlungen und Webhooks für Messenger erforderlichen Konfigurationsschritte sind leicht unterschiedlich. Wenn du einen Webhook für eines dieser Produkte einrichten möchtest, findest du entsprechende Anweisungen in der jeweiligen Dokumentation zum Produkt.

Objekte, Felder und Werte

Im Meta Social Graph gibt es viele verschiedene Objekttypen, darunter Objekte für Nutzer*innen und Seiten. Wenn du einen Webhook konfigurierst, musst du deshalb zunächst einen Objekttyp auswählen. Da unterschiedlichen Objekten unterschiedliche Felder zugeordnet sind, musst du für diesen Objekttyp bestimmte Felder abonnieren. Wenn dann am Wert eines Objektfelds, das du abonniert hast, eine Änderung vorgenommen wird, 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. Hier ein Beispiel: Du hast einen User-Webhook eingerichtet und das Photos-Feld abonniert. Wenn ein Nutzer deiner App ein Foto hochlädt, erhältst du eine Benachrichtigung, die wie folgt aussieht:

Beispielbenachrichtigung

{
  "entry": [
    {
      "time": 1520383571,
      "changes": [
        {
          "field": "photos",
          "value": {
            "verb": "update",
            "object_id": "10211885744794461"
          }
        }
      ],
      "id": "10210299214172187",
      "uid": "10210299214172187"
    }
  ],
  "object": "user"
}

HTTPS-Server

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.

App-Review

Webhooks erfordert keine App Review. Um Webhooks-Benachrichtigungen über Änderungen an Objekten zu empfangen, wenn deine App im Live-Modus ist, muss deine App jedoch die relevanten Berechtigungen zum Zugriff auf diese Objekte haben. Siehe Berechtigungen unten.

Berechtigungen

Bevor eine App veröffentlicht werden kann, muss sie in der Regel die App Review durchlaufen. Während der Review können Apps bestimmte Berechtigungen beantragen, die kontrollieren, auf welche Datentypen die App bei Verwendung der Graph API zugreifen darf.

Auch wenn das Webhooks-Produkt keine App Review erfordert, berücksichtigt es Berechtigungen. Das heißt: Selbst wenn du ein Webhook einrichtest und spezifische Felder eines Objekttyps abonnierst, erhältst du keine Benachrichtigungen über Änderungen an Objekten dieses Typs. Es sei denn:

  • deine App hat die Berechtigung(en) erhalten, die diesem Datentyp entsprechen, und
  • das Objekt, dem die Daten gehören, hat deiner App die Berechtigung zum Zugriff auf diese Daten gewährt (z. B. ein*e Nutzer*in erlaubt deiner App, auf seinen*ihren Feed zuzugreifen).

Entwicklungsmodus

Apps im Entwicklungsmodus können nur Testbenachrichtigungen über das App-Dashboard erhalten oder Benachrichtigungen, die durch eine Person initiiert wurden, die eine Rolle in der App innehat.

Beachte, dass sich das Verhalten im Entwicklungsmodus bei Messenger-Webhooks-Events unterscheidet. Details findest du im Webhooks für Messenger-Dokument.

Setup

Zur Nutzung von Webhooks musst du einen Endpunkt auf einem sicheren (HTTPS-)Server einrichten und dann das Webhooks-Produkt im Dashboard deiner App hinzufügen und konfigurieren. Diese Dokumente erläutern im Folgenden, wie diese beiden Schritte abgeschlossen werden.

Bereit? Los geht‘s.

Mehr dazu

  • Erfahre, wie du Benachrichtigungen erhältst, wenn eine Unterhaltung mithilfe des Messenger-Übergabeprotokolls von einer App an eine andere übergeben wird.