Le contenu suivant provient du document relatif au produit Webhooks. Veuillez consulter ce document si vous ne connaissez pas Webhooks.

Webhooks pour Pages

Les Webhooks pour Pages peuvent vous envoyer des notifications en temps réel en cas de modifications apportées à vos Pages. Par exemple, vous pouvez être informé en temps réel quand un utilisateur publie du contenu sur votre fil, commente une publication ou aime l’une de vos publications.

Pour configurer un Webhook pour Page :

  1. Configurez votre point de terminaison et le produit Webhooks.
  2. Installez votre application à partir de votre Page Facebook.

Configuration de votre point de terminaison et du produit Webhooks

Suivez notre guide de démarrage afin de créer votre point de terminaison et de configurer le produit Webhooks. Au moment de la configuration, veillez à sélectionner l’objet Page et à vous abonner à un ou plusieurs des champs Pages ci-dessous.

ChampDescription

feed

Envoie une notification quand une modification est apportée au fil d’une Page (publication, réaction, partage, etc.).

messages

Envoie une notification quand un message est disponible dans Messenger pour votre Page. Pour obtenir la liste de tous les champs de webhooks disponibles pour les messages, voir le Guide des webhooks pour Messenger.

Installation de votre application

Les notifications Webhooks seront envoyées uniquement si l’application dans laquelle les Webhooks sont configurés est installée sur votre Page, et si la Page n’a pas désactivé la plateforme Application dans ses Paramètres de l’application. Pour que votre Page installe l’application, cette dernière doit envoyer une requête POST à l’arête subscribed_apps de la Page via le token d’accès de la Page.

Conditions requises

Pour les champs de messages uniquement

Exemple de requête

curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps
  ?subscribed_fields=feed
  &access_token={page-access-token}"

Exemple de réponse

{
  "success": "true"
}

Pour connaître les applications installées sur votre Page, envoyez plutôt une requête GET :

Exemple de requête

curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token} 

Exemple de réponse

{
  "data": [
    {
      "category": "Business",
      "link": "https://my-clever-domain-name.com/app",
      "name": "My Sample App",
      "id": "{page-id}"
    }
  ]
}

Si votre Page n’a installé aucune application, l’API renvoie un ensemble de données vide.

Explorateur de l’API Graph

Si vous ne souhaitez pas installer votre application par programmation, vous pouvez effectuer facilement l’opération à l’aide de l’Explorateur de l’API Graph :

  1. Sélectionnez votre application dans le menu déroulant Application. Vous obtiendrez ainsi le token d’accès de votre application.
  2. Cliquez sur le menu déroulant Obtenir le token et sélectionnez Obtenir le token d’accès utilisateur, puis choisissez l’autorisation pages_manage_metadata. Le token de votre application sera remplacé par un token d’accès utilisateur avec l’autorisation pages_manage_metadata.
  3. Cliquez à nouveau sur Obtenir le token et sélectionnez votre Page. Le token d’accès utilisateur sera remplacé par un token d’accès de Page.
  4. Cliquez sur le menu déroulant GET et sélectionnez POST pour changer de méthode de fonctionnement.
  5. Remplacez la requête par défaut me?fields=id,name par l’ID de la Page, ajoutez /subscribed_apps, puis envoyez la requête.

Usages courants

Obtenir les détails du fil de la Page

Votre application peut s’abonner au fil d’une Page et recevoir des notifications à chaque modification du fil. Voici un exemple de notification envoyée suite à la publication d’un utilisateur sur une Page.

Exemple de réponse webhook

[
  {
    "entry": [
      {
        "changes": [
          {
            "field": "feed",
            "value": {
              "from": {
                "id": "{user-id}",
                "name": "Cinderella Hoover"
              },
              "item": "post",
              "post_id": "{page-post-id}",
              "verb": "add",
              "created_time": 1520544814,
              "is_hidden": false,
              "message": "It's Thursday and I want to eat cake."
            }
          }
        ],
        "id": "{page-id}",
        "time": 1520544816
      }
    ],
    "object": "page"
  }
]

Utilisez le champ post_id de la notification pour commenter cette publication de Page.

Exemple de requête d’API

curl -i -X POST   "https://graph.facebook.com/{page-post-id}/comments
  ?message=I%20want%20chocolate%20cake%20!
  &access_token=page-access-token" 

Exemple de réponse d’API

{
  "id": "{comment-id}"
}