El siguiente contenido procede de la documentación sobre el producto Webhooks. Consulta dicha documentación si no estás familiarizado con este producto.

Webhooks de páginas

Los webhooks para páginas pueden enviarte notificaciones en tiempo real sobre cambios en tus páginas. Por ejemplo, puedes recibir actualizaciones en tiempo real cada vez que los usuarios publiquen en tu lista, comenten una publicación o indiquen que les gustan tus publicaciones.

Para configurar el webhook de una página:

  1. Configura tu punto de conexión y el producto Webhooks.
  2. Instala tu app usando tu página de Facebook.

Configuración de tu punto de conexión y el producto Webhooks

Sigue nuestra Guía introductoria para crear tu punto de conexión y configurar el producto Webhooks. Durante la configuración, asegúrate de elegir el objeto Página y suscribirte a uno o más de los siguientes campos de Página.

CampoDescripción

feed

Te notifica cuando la lista de una página ha cambiado; publicaciones, reacciones, contenido compartido, etc.

messages

Te notifica cuando la página recibió un mensaje mediante Messenger. Consulta la guía de webhooks de Messenger para obtener una lista de todos los campos de webhooks de mensajes disponibles.

Instala tu app

Las notificaciones del webhook solo se enviarán si tu página tiene instalada la app configurada para Webhooks y si la página no tiene la plataforma App desactivada en la Configuración de la app. Para que tu página instale la app, haz que envíe una solicitud POST al perímetro subscribed_apps de la página usando el token de acceso a la página.

Requisitos

Solo en el caso de los campos relacionados con mensajes

  • Un token de acceso a la página que solicitó una persona que puede realizar la tarea MESSAGING en la página que se está consultando

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 ver las apps instaladas en tu página, envía una solicitud GET:

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 no hay apps instaladas en tu página, la API devolverá un conjunto de datos vacío.

Explorador de la API Graph

Si no quieres instalar tu app mediante programación, puedes hacerlo fácilmente con el Explorador de la API Graph:

  1. Selecciona tu app en el menú desplegable App. Esto te devolverá el token de acceso a tu app.
  2. Haz clic en el menú desplegable Obtener token, selecciona Obtener token de acceso de usuario y luego elige el permiso pages_manage_metadata. Esto cambiará el token de tu app por un token de acceso de usuario con el permiso pages_manage_metadata otorgado.
  3. Vuelve a hacer clic en Obtener token y selecciona tu página. Esto cambiará tu token de acceso de usuario por un token de acceso a la página.
  4. Cambia el modo de operación haciendo clic en el menú desplegable GET y seleccionando POST.
  5. Reemplaza la consulta predeterminada me?fields=id,name por el identificador de la página seguido por /subscribed_apps y luego envía la consulta.

Usos comunes

Obtener detalles de las noticias de la página

Tu app puede suscribirse a las noticias de una página y recibir notificaciones cada vez que ocurra un cambio relacionado con la lista. Por ejemplo, esta es una notificación que se envía cuando un usuario publica en una página.

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

Usa el post_id de la notificación para comentar en esa publicación de la página.

Ejemplo de solicitud a la 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 la API

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