Les Webhooks vous permettent de recevoir des notifications HTTP en temps réel relatives aux modifications apportées à des objets spécifiques du graphe social Meta. Par exemple, nous pouvons vous envoyer une notification quand un·e utilisateur·ice de votre application modifie son adresse e-mail ou ajoute un commentaire à votre Page Facebook. Ainsi, vous n’avez plus besoin d'interroger l'API Graph pour savoir si des modifications ont été apportées à des objets, et cela vous aider à éviter d’atteindre votre plafond.
Les étapes de configuration de Webhooks pour les paiements sont légèrement différentes de celles de Webhooks pour Messenger. Si vous configurez un Webhook pour l’un de ces produits, consultez leurs documents respectifs pour connaître la marche à suivre.
Il existe plusieurs types d’objets dans le graphe social Facebook, comme les objets Utilisateur et Page. Ainsi, chaque fois que vous configurez un Webhook, vous devez d’abord choisir un type d’objet. Puisque les objets comportent différents champs, vous devez vous abonner aux champs spécifiques du type d’objet concerné. Nous vous envoyons une notification pour chaque modification apportée à la valeur d’un champ d’objet auquel vous vous êtes abonné·e.
Les notifications vous sont envoyées sous forme de requêtes HTTP POST et contiennent une charge utile JSON décrivant la modification. Imaginons par exemple que vous avez configuré un Webhook User
et que vous vous êtes abonné·e au champ Photos
. Si l’un des personnes utilisant votre application importe une photo, nous vous envoyons une notification qui se présente comme suit :
{ "entry": [ { "time": 1520383571, "changes": [ { "field": "photos", "value": { "verb": "update", "object_id": "10211885744794461" } } ], "id": "10210299214172187", "uid": "10210299214172187" } ], "object": "user" }
Les Webhooks sont envoyés via HTTPS. Votre serveur doit donc être en mesure de recevoir et de traiter des requêtes HTTPS. Il doit également disposer d’un certificat TLS/SSL valide. Les certificats auto-signés ne sont pas pris en charge.
Webhooks ne nécessite pas le processus de Contrôle app. Toutefois, pour que votre application puisse recevoir les notifications Webhooks de modification d’objets une fois qu’elle sera en mode en ligne, les autorisations nécessaires pour accéder à ces objets doivent lui être accordées au préalable. Consultez la section Autorisations ci-dessous.
Avant de pouvoir être mise à disposition du public, une application doit généralement passer par le processus de Contrôle app. Pendant ce processus, l’application peut demander l’approbation de certaines autorisations spécifiques, qui contrôlent les types de données auxquelles elle peut accéder via l’API Graph.
Le produit Webhooks ne nécessite pas de Contrôle app, mais il respecte les autorisations. Cela signifie que, même si vous configurez un Webhook et que vous vous abonnez aux champs spécifiques d’un type d’objet, vous ne recevrez pas les notifications des modifications apportées aux objets de ce type, sauf :
Une application en mode développement peut uniquement recevoir les notifications de test émises via le tableau de bord de l’application ou les notifications envoyées par les personnes ayant un rôle dans l’application.
Notez que le comportement du mode développement est différent concernant les évènements Webhooks pour Messenger. Pour plus d’informations, consultez le document Webhooks pour Messenger.
Pour utiliser Webhooks, vous devez configurer un point de terminaison sur un serveur (HTTPS) sécurisé, puis ajouter et configurer le produit Webhooks dans le tableau de bord de votre application. Le reste de ces documents détaille la procédure à suivre pour réaliser ces deux étapes.
Prêt·e ? Commençons !