Webhooks para páginas

Los webhooks para páginas pueden enviarte notificaciones en tiempo real sobre los cambios realizados a tus páginas. Por ejemplo, puedes recibir actualizaciones en tiempo real cada vez que los usuarios realicen una publicación en tu sección de noticias, añadan comentarios a una publicación o indiquen que les gustan tus publicaciones.

Para configurar un webhook de página, haz lo siguiente:

  1. Configura tu extremo y el producto de Webhooks.
  2. Descarga la aplicación con la página de Facebook.

Configurar el extremo y el producto de Webhooks

Sigue nuestra guía de introducción para crear el extremo y configurar el producto de Webhooks. Durante la configuración, asegúrate de elegir el objeto Page y suscribirte a uno o varios de los campos de páginas a continuación.

CampoDescripción

feed

Envía una notificación cuando cambia la sección de noticias de la página, ya sea con publicaciones, reacciones, contenido compartido, etc.

messages

Envía una notificación cuando la página ha recibido un mensaje a través de Messenger. Consulta la guía sobre Webhooks para Messenger para obtener una lista de todos los campos de webhooks de mensajes disponibles.

Descargar la aplicación

Las notificaciones de webhook solo se enviarán si la página ha descargado la aplicación configurada para webhooks y no ha desactivado la plataforma de la aplicación en la Configuración de la aplicación. Para que la página descargue la aplicación, haz que la aplicación envíe una solicitud POST al perímetro subscribed_apps de la página con el identificador de acceso de la página.

Requisitos

Únicamente para los campos relacionados con los mensajes

  • Un identificador de acceso a la página solicitado por una persona que pueda realizar la tarea MESSAGING en la página que se consulta.

Ejemplo de solicitud

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

Ejemplo de respuesta

{
  "success": "true"
}

Para saber qué aplicaciones ha descargado la página, envía una solicitud GET en su lugar:

Ejemplo de solicitud

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

Ejemplo de respuesta

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

Si la página no ha descargado ninguna aplicación, la API devolverá un conjunto de datos vacío.

Explorador de la API Graph

Si no quieres descargar tu aplicación mediante programación, puedes hacerlo fácilmente a través del explorador de la API Graph en su lugar:

  1. Selecciona tu aplicación en el menú desplegable Aplicación. De este modo se devolverá el identificador de acceso de la aplicación.
  2. Haz clic en el menú desplegable Obtener identificador y selecciona Obtener identificador de acceso de usuario. Después, elige el permiso pages_manage_metadata. De este modo, el identificador de la aplicación se cambiará por un identificador de acceso de usuario que tenga concedido el permiso pages_manage_metadata.
  3. Haz clic en Obtener identificador nuevamente y selecciona tu página. De este modo, el identificador de acceso de usuario se cambiará por un identificador de acceso a la página.
  4. Para cambiar el método de operación, haz clic en el menú desplegable GET y selecciona POST.
  5. Reemplaza la consulta me?fields=id,name predeterminada por el identificador de la página seguido del elemento /subscribed_apps y, después, envía la consulta.

Usos habituales

Obtener detalles de la sección de noticias de la página

La aplicación puede suscribirse a la sección de noticias de una página y recibir notificaciones cada vez que se produzca un cambio relacionado con la sección de noticias. Por ejemplo, a continuación se muestra una notificación que se envió cuando un usuario publicó en una página.

Ejemplo de respuesta del 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"
  }
]

Utiliza el elemento post_id de la notificación para añadir un comentario en esa publicación de la página.

Ejemplo de solicitud de API

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

Ejemplo de respuesta de API

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