Webhooks

Übersicht

Webhooks ermöglichen es Apps mit benutzerdefinierter Integration, Events in Workplace zu abonnieren und Updates in Echtzeit zu erhalten. Wenn eine Änderung in Workplace auftritt, wird für jede App mit benutzerdefinierter Integration, die das entsprechende Webhook-Thema abonniert hat, eine HTTPS POST-Anfrage an eine Rückruf-URL gesendet.

Dadurch werden Apps effizienter, da sie genau ermitteln können, wann eine Änderung vorgenommen wird, und nicht auf fortlaufende oder sogar periodische Graph API-Anfragen angewiesen sind, um die neuesten Inhalte abzurufen.

Der Support von Webhooks für Workplace wird vom selben Framework bereitgestellt wie Webhooks für die Graph API.

Webhook-Themen abonnieren

Der Dialog Benutzerdefinierte Integration bearbeiten verfügt über Tabs zu jedem für Apps auf Workplace verfügbaren Webhook-Thema.

Den Abschnitt „Webhooks“ im Dialog „Benutzerdefinierte Integration bearbeiten“

Stelle eine Rückruf-URL und ein Verifizierungs-Token bereit, um ein neues Webhook-Abonnement zu einem vorhandenen Thema hinzuzufügen. Wähle dann die Abonnementfelder aus, die für die von deiner App bereitgestellte Funktion erforderlich sind.

Du kannst pro Webhook-Thema nur eine URL abonnieren, aber du kannst dieselbe URL für mehrere Themen verwenden.

Verifizierungsanfragen verarbeiten

Wenn du ein neues Abonnement hinzufügst oder ein vorhandenes bearbeitest, führen Meta-Server eine GET-Anfrage an deine Rückruf-URL aus, um die Gültigkeit des Rückrufservers zu überprüfen.

Ein Abfrage-String mit folgenden Parametern wird an diese URL angehängt:

  • hub.mode – Der String „subscribe“ wird in diesem Parameter übergeben.
  • hub.challenge – Ein zufälliger String.
  • hub.verify_token – Der verify_token-Wert, den du beim Erstellen des Abonnements angegeben hast.

Jedes Mal, wenn dein Endpunkt eine Verifizierungsanfrage erhält, muss er folgende Schritte ausführen:

  • Stelle sicher, dass der hub.verify_token-Wert mit dem String übereinstimmt, der im Feld „Verifizierungs-Token“ angegeben ist, wenn du den Webhook konfigurierst.
  • Eine Antwort mit dem hub.challenge-Wert senden.

Webhook-Sicherheit

Alle Webhook-Anrufe an von Entwickler*innen definierte Rückruf-URLs erfolgen über HTTPS, wodurch die Sicherheit von Webhook-Payloads auf Transportebene gewährleistet wird.

Um zusätzliche Sicherheit zu bieten, wird ein HTTP-Header X-Hub-Signature-256 zu jeder POST-Payload hinzugefügt, den du verwenden solltest, um sicherzustellen, dass die Payload von einem Meta-Server stammt.

Umfassende Informationen zu diesem Verhalten findest du in der Dokumentation zum Webhook Framework.

Alle Webhook-Anrufe an von Entwickler*innen definierte Rückruf-URLs erfolgen über HTTPS, wodurch die Sicherheit von Webhook-Payloads auf Transportebene gewährleistet wird.

Abonnieren von Webhooks mittels eines API-Aurufs

API-Aufrufe zum Lesen oder Ändern von Webhook-Abonnements müssen über ein App-Token erfolgen anstelle des üblichen Tokens der benutzerdefinierten Integration. Ein App-Token kann durch die Verkettung der App-ID, eines „|“-Symbols und des App-Geheimcodes generiert werden.

Beispiel:

DatenString

App-ID

504221332732118

App-Geheimcode

d76ab3f35f3ff5aa6ffdc8637a660d2ea7

App-Token:

504221332732118|d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Aktuelle Webhook-Abonnements abrufen (über App-Token)

GET graph.facebook.com
  /{app-id}/subscriptions
    &access_token={your_app_token}

Neues Webhook-Abonnement hinzufügen (über App-Token)

POST graph.facebook.com
  /{app-id}/subscriptions
    ?object=page
    &fields=mention,messages
    &callback_url={your-url}
    &verify_token={your-verify-token}
    &access_token={your_app_token}

Fehlerbehebung für Seiten/App-Abonnements

Wenn Webhooks nicht wie erwartet erhalten werden, solltest du überprüfen, ob das Abonnement zwischen der Seite und der App korrekt eingerichtet ist. Diese Einrichtung erfolgt in der Regel automatisch. Sie kann jedoch fehlschlagen. Wenn beispielsweise die Auslieferung eines Webhooks über einen längeren Zeitraum nicht möglich ist, kann das Abonnement entfernt werden. Bei Apps von Drittanbietern erscheint dann eine Warnung im App-Dashboard.

Um dieses Abonnement zu überprüfen, sind folgende API-Aufrufe verfügbar:

Aktuelles Seiten/App-Abonnement abrufen (über App-Token)

GET graph.facebook.com
  /me/subscribed_apps?access_token={your_page_token}

Um dieses Abonnement neu zu erstellen, sind folgende API-Aufrufe verfügbar:

Aktuelles Seiten/App-Abonnement neu erstellen (über App-Token)

POST graph.facebook.com
  /me/subscribed_apps?access_token={your_page_token}
	{"subscribed_fields": ["messages"...]}

Webhook-Themen

Aktivitäten in Workplace werden in Themen gruppiert. Jedes Thema verfügt über eine Reihe von Feldern, die eine Verknüpfung zu Events zu einem bestimmten Thema herstellen. Apps können Webhook-Updates zu jedem Thema und für bestimmte Felder innerhalb eines Themas abonnieren.

Workplace stellt derzeit Webhooks für folgende Themen und Gruppen bereit:

Seite

Weitere Informationen findest du in den Referenzdokumenten zu Seitenthemen.

AbonnementfeldVerhalten

mention

Wird ausgelöst, wenn eine Seite mit benutzerdefinierter Integration (Bot) in einer Gruppe erwähnt wird.

messages

Wird ausgelöst, wenn eine Seite mit benutzerdefinierter Integration (Bot) eine Nachricht in Work Chat erhält.

message_deliveries

Wird ausgelöst, wenn eine von einer Seite mit benutzerdefinierter Integration (Bot) gesendete Nachricht zugestellt wird.

messaging_postbacks

Wird ausgelöst, wenn ein Postback-Button in Work Chat gedrückt wird.

message_reads

Wird ausgelöst, wenn eine Nachricht von einer Seite mit benutzerdefinierter Integration (Bot) vom Empfänger gelesen wird.

Gruppen

Weitere Informationen findest du in den Referenzdokumenten zu Gruppenthemen.

AbonnementfeldVerhalten

posts

Wird ausgelöst, wenn ein Beitrag in einer Gruppe hinzugefügt, aktualisiert oder gelöscht wird.

comments

Wird jedes Mal ausgelöst, wenn ein neuer Kommentar zu einem Beitrag in einer Gruppe hinzugefügt, aktualisiert oder gelöscht wird.

membership

Wird ausgelöst, wenn sich die Mitgliedschaft einer Gruppe ändert.

membership_requests

Wird ausgelöst, wenn ein*e Nutzer*in die Mitgliedschaft in einer Gruppe beantragt.

Nutzer*in

Weitere Informationen findest du in den Referenzdokumenten zu Nutzer*innen-Themen.

AbonnementfeldVerhalten

status

Wird ausgelöst, wenn ein*e Nutzer*in ein Status-Update in seinem*ihrem eigenen Profil postet oder bearbeitet. Dies umfasst Beiträge in der Chronik eines*einer Nutzer*in.

events

Wird jedes Mal ausgelöst, wenn ein*e Nutzer*in ein Event erstellt, annimmt oder ablehnt.

message_sends

Wird jedes Mal ausgelöst, wenn ein*e Nutzer*in eine Workplace-Chatnachricht sendet.

message_unsends

Wird jedes Mal ausgelöst, wenn ein*e Nutzer*in eine Workplace-Chatnachricht im Thread für alle entfernt.

timeline_comments

Wird jedes Mal ausgelöst, wenn ein Kommentar zu einem Beitrag in der Chronik eines*einer Nutzer*in verfasst wird.

Sicherheit

Weitere Informationen findest du in den Referenzdokumenten zu Sicherheitsthemen.

admin_activity

Events, die ausgelöst werden, wenn ein*e Administrator*in zu einer Workplace-Community hinzugefügt oder daraus entfernt wird.

EventVerhalten

admin_set_to_unclaimed

Ein*e Administrator*in hat den Status eines Kontos im Administrationsbereich oder über die Account Management API auf nicht beansprucht festgelegt.

admin_force_log_out

Ein*e Administrator*in hat im Administrationsbereich die Abmeldung eines*einer Nutzer*in auf allen Geräten erzwungen.

admin_deactivate

Ein*e Administrator*in hat ein Konto im Administrationsbereich oder über die Account Management API deaktiviert.

admin_activate_account

Ein*e Administrator*in hat ein Konto im Administrationsbereich oder über die Account Management API aktiviert.

force_password_reset

Ein*e Administrator*in hat im Administrationsbereich das Zurücksetzen eines Passworts erzwungen.

admin_create_account

Ein*e Administrator*ion hat im Administrationsbereich ein Konto erstellt.

compromised_credentials

Events, die ausgelöst werden, wenn der Verdacht besteht, dass die Workplace-Passwörter einiger Konten in einer Community möglicherweise gefährdet sind.

EventVerhalten

found_compromised_credentials

Workplace hat kompromittierte Anmeldedaten erkannt.

files

Events, die bei Dateiaktivitäten in Workplace ausgelöst werden.

EventVerhalten

group_file_upload

Ein*e Nutzer*in hat eine Datei in einer Gruppe hochgeladen.

group_file_download

Ein*e Nutzer*in hat eine Datei aus einer Gruppe heruntergeladen.

file_upload_malware_found

In einer hochgeladenen Datei wurde Malware entdeckt.

groups

Events, die ausgelöst werden, wenn ein*e Nutzer*in eine unternehmensübergreifende Gruppe (MCG) in Workplace erstellt oder einer solchen beitritt.

EventVerhalten

mcg_join

Ein*e Nutzer*in in einer Community ist einer MCG beigetreten.

mcg_create

Ein*e Nutzer*in in einer Community hat eine MCG erstellt.

integrations

Events, die ausgelöst werden, wenn ein Administrator Eigenschaften einer Integration erstellt oder ändert.

EventVerhalten

custom_integration_create

Ein*e Administrator*in hat eine benutzerdefinierte Integration erstellt.

custom_integration_edit

Ein*e Administrator*in hat eine benutzerdefinierte Integration bearbeitet.

custom_integration_delete

Ein*e Administrator*in hat eine benutzerdefinierte Integration gelöscht.

custom_integration_token_reset

Ein*e Administrator*in hat einen neuen Zugriffsschlüssel für eine benutzerdefinierte Integration erstellt.

content_app_install

Ein*e Nutzer*in hat eine Content-Integration erstellt.

content_app_uninstall

Ein*e Nutzer*in hat eine Content-Integration deinstalliert.

invites

Events, die ausgelöst werden, wenn ein*e Nutzer*in Workplace beitritt, indem er*sie sich selbst einlädt.

EventVerhalten

coworker_invite_sent

Ein*e Nutzer*in hat eine*n Kolleg*in eingeladen, der Community beizutreten.

self_invite_sent

Ein*e Nutzer*in hat eine Einladungs-E-Mail für sich selbst angefordert.

passwords

Events, die ausgelöst werden, wenn ein*e Nutzer*in sein*ihr Passwort ändert oder das Zurücksetzen des Passworts anfordert.

EventVerhalten

password_change

Ein Passwort wurde über die Passwortwiederherstellung oder die Kontoeinstellungen geändert.

password_reset_request

Der Prozess zur Wiederherstellung eines Passworts wurde initiiert und ein Code an die E-Mail-Adresse des*der Nutzer*in gesendet.

password_reset_wrong_code

Ein*e Nutzer*in hat einen falschen Code für das Zurücksetzen des Passworts eingegeben.

password_reset_success

Der Prozess für das Zurücksetzen eines Passworts wurde erfolgreich abgeschlossen.

sessions

Events, die ausgelöst werden, wenn sich ein*e Nutzer*in in Workplace ein- oder ausloggt.

EventVerhalten

log_in

Ein*e Nutzer*in hat sich über einen Internetbrowser oder eine mobile App mit seinem*ihrem Passwort oder SSO in Workplace eingeloggt.

log_out

Ein*e Nutzer*in hat sich über einen Internetbrowser oder eine mobile App mit seinem*ihrem Passwort oder SSO in Workplace ausgeloggt.

Dies umfasst nicht die von einem*einer Administrator*in initiierte, erzwungene Abmeldung (siehe admin_force_log_out).

two_factor

Events, die ausgelöst werden, wenn ein*e Nutzer*in die zweistufige Authentifizierung aktiviert oder deaktiviert.

EventVerhalten

two_factor_enable

Ein*e Nutzer*in hat die zweistufige Authentifizierung auf dem Einstellungen-Tab aktiviert. Dies erfasst nicht die Bestätigung eines bestimmten Telefons, sondern zeigt an, dass die Funktion aktiviert wurde.

two_factor_disable

Ein*e Nutzer*in hat die zweistufige Authentifizierung auf dem Einstellungen-Tab deaktiviert. Dies erfasst nicht die Deaktivierung der zweistufigen Authentifizierung auf einem bestimmten Telefon, sondern zeigt an, dass die Funktion deaktiviert wurde.

add_two_factor_phone

Ein*e Nutzer*in hat ein Telefon für die zweistufige Authentifizierung hinzugefügt und es bestätigt.

two_factor_code_success

Ein*e Nutzer*in hat bei der Anmeldung bei Workplace über die Website oder die mobile Website einen gültigen Code für die zweistufige Authentifizierung eingegeben.

two_factor_code_failure

Ein*e Nutzer*in hat bei der Anmeldung bei Workplace über die Website oder die mobile Website einen ungültigen Code für die zweistufige Authentifizierung eingegeben.

two_factor_code_success_m

Ein*e Nutzer*in hat bei der Anmeldung bei Workplace über die mobile App für Android oder iOS einen gültigen Code für die zweistufige Authentifizierung eingegeben.

two_factor_code_failure_m

Ein*e Nutzer*in hat bei der Anmeldung bei Workplace über die mobile App für Android oder iOS einen ungültigen Code für die zweistufige Authentifizierung eingegeben.

reseller_events

Events in Bezug auf Reseller.

EventVerhalten

reseller_user_added

Ermöglicht einem*einer Nutzer*in in einem Reseller-Unternehmen, der*die kein Administrator ist, die Reseller-Konsole anzuzeigen.

reseller_user_removed

Verhindert, dass ein*e Nutzer*in in einem Reseller-Unternehmen, der*die kein Administrator ist, die Reseller-Konsole anzeigen kann.

reseller_invite_sent

Ein Reseller lädt ein anderes Unternehmen ein, eine Verknüpfung zueinander herzustellen.

reseller_invite_accepted

Ein Unternehmen nimmt die Verknüpfungseinladung eines Resellers an.

reseller_invite_declined

Ein Unternehmen lehnt die Verknüpfungseinladung eines Resellers ab.

Links

Weitere Informationen findest du in den Referenzdokumenten zu Verknüpfungsthemen.

EventVerhalten

preview

Metadaten über den*die Nutzer*in, der*die Zugriff auf teilbare Links anfordert.

collection

Die Metadaten für einen Link, der in Workplace geteilt wird, um eine Vorschau zu erstellen.

Wissensdatenbank

Weitere Informationen findest du in der Wissensdatenbank unter der Kategorie Graph API-Dokumentation.

AbonnementfeldVerhalten

categories

Wird ausgelöst, wenn Inhalte der Wissensdatenbank hinzugefügt, aktualisiert oder gelöscht werden oder wenn die Leser*innen aktualisiert werden.

comments

Wird jedes Mal ausgelöst, wenn in der Wissensdatenbank ein neuer Kommentar hinzugefügt, aktualisiert oder gelöscht wird.

quicklinks

Wird ausgelöst, wenn der Quick Link der Wissensdatenbank hinzugefügt, aktualisiert oder gelöscht wird.