Webhooks

Présentation

Les webhooks permettent d’abonner les applications d’intégration personnalisée à des évènements dans Workplace et de recevoir des mises à jour en temps réel. Quand une modification est apportée dans Workplace, une requête HTTPS POST est envoyée à une URL de rappel pour chaque application d’intégration personnalisée abonnée au sujet de webhook pertinent.

Les applications sont ainsi plus efficaces, car elles savent exactement quand une modification a été apportée et ne dépendent plus des requêtes continues ou même périodiques de l’API Graph pour obtenir les contenus les plus récents.

La prise en charge des webhooks pour Workplace est assurée par le même framework que les webhooks pour l’API Graph.

Abonnement aux sujets de webhook

La boîte de dialogue Modifier l’intégration personnalisée contient un onglet par sujet de webhook disponible pour les applications dans Workplace.

Section Webhooks dans la boîte de dialogue Modifier l’intégration personnalisée

Pour ajouter un nouvel abonnement webhook à un sujet donné, fournissez une URL de rappel et un token de vérification, puis sélectionnez les champs d’abonnement dont vous avez besoin pour les fonctionnalités que proposera votre application.

Vous ne pouvez abonner qu’une seule URL à chaque sujet de webhook, mais vous pouvez utiliser la même URL pour plusieurs sujets.

Gestion des requêtes de vérification

Quand vous ajoutez un nouvel abonnement ou modifiez un abonnement existant, les serveurs de Meta envoient une requête GET à votre URL de rappel afin de vérifier la validité du serveur de rappel.

Une chaîne de requête est ajoutée à cette URL avec les paramètres suivants :

  • hub.mode : la chaîne subscribe est transmise dans ce paramètre
  • hub.challenge : une chaîne aléatoire
  • hub.verify_token : la valeur du verify_token spécifiée lors de la création de l’abonnement

Chaque fois que votre point de terminaison reçoit une requête de vérification, il doit :

  • vérifier que la valeur hub.verify_token correspond à la chaîne définie dans le champ Vérifier le token lorsque vous configurez le webhook ;
  • répondre avec la valeur hub.challenge.

Sécurité des webhooks

Tous les appels webhook aux URL de rappel définies par l’équipe de développement sont réalisés via HTTPS pour garantir la sécurité des charges utiles des webhooks pendant le transport.

Pour renforcer la sécurité, une X-Hub-Signature-256 avec un en-tête HTTP est intégrée dans chaque charge utile POST, que nous vous recommandons d’utiliser pour vérifier que la charge utile provient d’un serveur de Meta.

Pour tout savoir sur ce processus, consultez la documentation sur le framework des webhooks.

Tous les appels webhook aux URL de rappel définies par l’équipe de développement sont réalisés via HTTPS pour garantir la sécurité des charges utiles des webhooks pendant le transport.

Abonnement aux webhooks via un appel d’API

Les appels d’API servant à lire ou à modifier les abonnements webhook doivent être réalisés avec un token d’application plutôt qu’avec le token d’intégration personnalisée habituel. Pour générer un token d’application, concaténez l’ID de l’app, le symbole « | » et la clé secrète.

Par exemple :

DonnéesChaîne

Identifiant de l’application

504221332732118

Clé secrète

d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Token de l’application :

504221332732118|d76ab3f35f3ff5aa6ffdc8637a660d2ea7

Obtenir les abonnements actuels aux webhooks (avec le token de l’application)

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

Ajouter un nouvel abonnement webhook (avec le token de l’application)

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}

Résolution des problèmes liés aux abonnements des Pages/applications

Si vous ne recevez pas les webhooks comme prévu, vérifiez la configuration de l’abonnement entre la page et l’application. Celle-ci est effectuée automatiquement, mais des erreurs peuvent se produire. Par exemple, si la diffusion d’un webhook ne fonctionne pas sur une période prolongée, cet abonnement peut être supprimé. Dans le cas d’applications tierces, une alerte est alors affichée dans le tableau de bord des applications.

Pour vérifier cet abonnement, vous pouvez utiliser les appels d’API suivants :

Obtenir l’abonnement application/page actuel (avec le token de la page)

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

Pour recréer cet abonnement, vous pouvez utiliser les appels d’API suivants :

Recréer l’abonnement app/page actuel (avec le token de la page)

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

Sujets de webhooks

Les activités réalisées dans Workplace sont regroupées en sujets. Chaque sujet contient un certain nombre de champs associés à des évènements sur un sujet donné. Les applications peuvent être abonnées aux notifications webhook de chaque sujet ou à certains champs de chaque sujet.

Les webhooks sont actuellement disponibles pour les sujets et groupes suivants dans Workplace :

Page

Pour en savoir plus, consultez les documents de référence sur le sujet Page.

Champ d’abonnementComportement

mention

Déclenché quand une page d’intégrations personnalisées (bot) est mentionnée dans un groupe.

messages

Déclenché quand un message est envoyé dans Workplace Chat à une page d’intégrations personnalisées (bot).

message_deliveries

Déclenché quand un message envoyé par une page d’intégrations personnalisées (bot) est reçu.

messaging_postbacks

Déclenché quand quelqu’un appuie sur le bouton de postback dans Workplace Chat.

message_reads

Déclenché quand un message envoyé d’une page d’intégrations personnalisées (bot) est lu par le destinataire.

Groupes

Pour en savoir plus, consultez les documents de référence sur le sujet Groupe.

Champ d’abonnementComportement

posts

Déclenché quand une publication est ajoutée, mise à jour ou supprimée dans un groupe.

comments

Déclenché à chaque fois qu’un commentaire est ajouté, mis à jour ou supprimé sur une publication dans un groupe.

membership

Déclenché quand l’adhésion à un groupe est modifiée.

membership_requests

Déclenché lorsqu’une demande d’adhésion à un groupe est faite par un utilisateur.

Utilisateur·ice

Pour en savoir plus, consultez les documents de référence sur le sujet Utilisateur.

Champ d’abonnementComportement

status

Déclenché quand un utilisateur publie ou modifie une mise à jour de statut sur son profil. Cela inclut les publications sur le journal d’un utilisateur.

events

Déclenché à chaque fois qu’un utilisateur crée, accepte ou refuse un évènement.

message_sends

Déclenché à chaque fois qu’un utilisateur envoie un message Workplace Chat.

message_unsends

Déclenché à chaque fois qu’un utilisateur supprime un message Workplace Chat pour tous dans la conversation.

timeline_comments

Déclenché à chaque nouveau commentaire sur la publication du journal d’un utilisateur.

Sécurité

Pour en savoir plus, consultez les documents de référence sur le sujet Sécurité.

admin_activity

Évènements déclenchés quand un admin rejoint ou quitte une communauté Workplace.

ÉvènementComportement

admin_set_to_unclaimed

Un admin a défini l’état d’un compte utilisateur sur non revendiqué, via le panneau d’administration ou l’API Account Management.

admin_force_log_out

Un admin a forcé la déconnexion d’un utilisateur de tous les appareils à partir du panneau d’administration.

admin_deactivate

Un admin a désactivé un compte utilisateur à partir du panneau d’administration ou via l’API Account Management.

admin_activate_account

Un admin a désactivé un compte à partir du panneau d’administration ou via l’API Account Management.

force_password_reset

Un admin a forcé la réinitialisation du mot de passe d’un utilisateur à partir du panneau d’administration.

admin_create_account

Un admin a créé un compte à partir du panneau d’administration.

compromised_credentials

Évènements déclenchés quand nous soupçonnons que les mots de passe de certains comptes utilisateur d’une communauté Workplace ont été exposés.

ÉvènementComportement

found_compromised_credentials

Workplace a détecté des identifiants compromis.

files

Évènements déclenchés quand une activité est détectée dans les fichiers Workplace.

ÉvènementComportement

group_file_upload

Un utilisateur a importé un fichier dans un groupe.

group_file_download

Un utilisateur a téléchargé un fichier à partir d’un groupe.

file_upload_malware_found

Un fichier importé contient un logiciel malveillant.

groups

Évènements déclenchés quand une personne crée ou rejoint un groupe inter-entreprise Workplace.

ÉvènementComportement

mcg_join

Un utilisateur de la communauté a rejoint un groupe inter-entreprise Workplace.

mcg_create

Un utilisateur de la communauté a créé un groupe inter-entreprise Workplace.

integrations

Évènements déclenchés quand un admin crée ou modifie les propriétés d’intégration.

ÉvènementComportement

custom_integration_create

Un admin a créé une intégration personnalisée.

custom_integration_edit

Un admin a modifié une intégration personnalisée.

custom_integration_delete

Un admin a supprimé une intégration personnalisée.

custom_integration_token_reset

Un admin a généré un nouveau token d’accès pour une intégration personnalisée.

content_app_install

Un utilisateur a créé une intégration de contenu.

content_app_uninstall

Un utilisateur a désinstallé une intégration de contenu.

invites

Évènements déclenchés quand une personne rejoint Workplace via une auto-invitation.

ÉvènementComportement

coworker_invite_sent

Un utilisateur a invité un collègue à rejoindre la communauté.

self_invite_sent

Un utilisateur a demandé un e-mail d’invitation pour lui-même.

passwords

Évènements déclenchés quand une personne modifie son mot de passe ou demande à le réinitialiser.

ÉvènementComportement

password_change

Le mot de passe d’un utilisateur a été modifié, suite à une procédure de récupération ou via les paramètres du compte.

password_reset_request

Une procédure de récupération du mot de passe d’un utilisateur a été initiée, et un code a été envoyé à l’adresse e-mail de l’utilisateur.

password_reset_wrong_code

Un utilisateur a saisi un code de récupération/réinitialisation du mot de passe incorrect.

password_reset_success

Une procédure de récupération du mot de passe a été suivie avec succès.

sessions

Évènements déclenchés quand une personne se connecte ou se déconnecte de Workplace.

ÉvènementComportement

log_in

Un utilisateur s’est connecté à Workplace avec son mot de passe ou l’authentification unique, sur le web ou une app mobile.

log_out

Un utilisateur s’est déconnecté de Workplace, sur le web ou une app mobile.

Ne comprend pas les déconnexions forcées à l’initiative de l’admin (consultez admin_force_log_out).

two_factor

Évènements déclenchés quand une personne active ou désactive l’authentification à deux facteurs.

ÉvènementComportement

two_factor_enable

Un utilisateur a activé l’authentification à deux facteurs à partir de l’onglet Paramètres. Cela indique uniquement que la fonctionnalité a été activée, et non le moment où l’utilisateur active la fonctionnalité sur un téléphone en particulier.

two_factor_disable

Un utilisateur a désactivé l’authentification à deux facteurs à partir de l’onglet Paramètres. Cela indique uniquement que la fonctionnalité a été désactivée, et non le moment où l’utilisateur supprime la fonctionnalité d’un téléphone en particulier.

add_two_factor_phone

Un utilisateur a ajouté et confirmé un téléphone utilisé pour l’authentification à deux facteurs.

two_factor_code_success

Un utilisateur a saisi un code valide pour l’authentification à deux facteurs lors de sa connexion au site web de Workplace sur ordinateur ou sur mobile.

two_factor_code_failure

Un utilisateur a saisi un code non valide pour l’authentification à deux facteurs lors de sa connexion au site web de Workplace sur ordinateur ou sur mobile.

two_factor_code_success_m

Un utilisateur a saisi un code valide pour l’authentification à deux facteurs lors de sa connexion à l’application Workplace sur un mobile iOS ou Android.

two_factor_code_failure_m

Un utilisateur a saisi un code non valide pour l’authentification à deux facteurs lors de sa connexion à l’application Workplace sur un mobile iOS ou Android.

reseller_events

Évènements relatifs au revendeur.

ÉvènementComportement

reseller_user_added

Un utilisateur revendeur qui n’est pas admin est autorisé à accéder à la console des revendeurs.

reseller_user_removed

Un utilisateur revendeur qui n’est pas admin n’est plus autorisé à accéder à la console des revendeurs.

reseller_invite_sent

Un revendeur invite une autre entreprise à s’associer à lui.

reseller_invite_accepted

Une entreprise accepte d’être associée à un revendeur.

reseller_invite_declined

Une entreprise refuse d’être associée à un revendeur.

Liens

Pour en savoir plus, consultez les documents de référence sur le sujet Liens.

ÉvènementComportement

preview

Métadonnées relatives à l’utilisateur demandant l’accès à des liens partageables.

collection

Métadonnées relatives à un lien partagé sur Workplace pour générer un aperçu.

Bibliothèque de connaissances

Pour en savoir plus, consultez les documents sur l’élément Catégorie de la bibliothèque de connaissances de l’API Graph.

Champ d’abonnementComportement

categories

Déclenché lorsque du contenu est ajouté, mis à jour ou supprimé de la bibliothèque de connaissances, ou lorsqu’une audience est modifiée.

comments

Déclenché à chaque fois qu’un commentaire est ajouté, mis à jour ou supprimé de la bibliothèque de connaissances.

quicklinks

Déclenché lorsqu’un lien rapide vers la bibliothèque de connaissances est ajouté, mis à jour ou supprimé.