Webhooks de Meta

Gracias a los webhooks, podrás recibir notificaciones HTTP en tiempo real de los cambios que se produzcan en determinados objetos de la gráfica social de Meta. Por ejemplo, podríamos enviarte una notificación cuando cualquiera de los usuarios de tu aplicación cambie su dirección de correo electrónico o comente en tu página de Facebook. De esta manera, no tendrás que realizar consultas a la API Graph para obtener información sobre cambios en objetos que no sabes si se han producido realmente. Así, también será menos probable que alcances el límite de frecuencia.

Los pasos que hay que seguir para configurar los webhooks para pagos y los webhooks para Messenger son ligeramente distintos. Si vas a configurar un webhook para cualquiera de estos productos, encontrarás las instrucciones al respecto en la documentación de cada uno de ellos.

Objetos, campos y valores

Hay muchos tipos de objetos en la gráfica social de Meta, como los de usuario o los de página, por lo que el primer paso que debes seguir para configurar un webhook es elegir un tipo de objeto. Como cada objeto tiene sus propios campos, el siguiente paso es suscribirte a campos específicos de ese tipo de objeto. Cada vez que se produzca un cambio en el valor de cualquiera de los campos de objeto a los que te hayas suscrito, te enviaremos una notificación.

Las notificaciones se envían como solicitudes HTTP POST e incluyen una carga útil JSON con la que se describe el cambio. Por ejemplo, supongamos que configuras un Webhook User y te suscribes al campo Photos. Si uno de los usuarios de tu aplicación subiera una foto, te enviaríamos una notificación parecida a esta:

Notificación de ejemplo

{
  "entry": [
    {
      "time": 1520383571,
      "changes": [
        {
          "field": "photos",
          "value": {
            "verb": "update",
            "object_id": "10211885744794461"
          }
        }
      ],
      "id": "10210299214172187",
      "uid": "10210299214172187"
    }
  ],
  "object": "user"
}

Servidor HTTPS

Los webhooks se envían mediante HTTPS, por lo que tu servidor debe tener la capacidad de recibir y procesar solicitudes HTTPS. Además, debe tener instalado un certificado TLS/SSL válido. Ten en cuenta que no se admiten los certificados autofirmados.

Revisión de la aplicación

Los webhooks no requieren ninguna revisión de la aplicación. Sin embargo, debes otorgar a tu aplicación los permisos correspondientes para que pueda acceder a ciertos objetos. Así, podrás recibir notificaciones de webhooks relacionadas con los cambios en dichos objetos mientras tu aplicación está en modo publicado. Consulta la información sobre Permisos más adelante.

Permisos

Para poder publicar una aplicación, normalmente debe superar la revisión de la aplicación. Durante la revisión, las aplicaciones pueden solicitar la aprobación de permisos concretos, que controlan los tipos de datos a los que puede acceder la aplicación al utilizar API Graph.

A pesar de que el producto Webhooks no requiere ninguna revisión de la aplicación, respeta los permisos igualmente. Esto significa que, aunque configures un webhook y te suscribas a campos concretos en un tipo de objeto, no recibirás notificaciones de cambios en un objeto de ese tipo a menos que:

  • la aplicación se haya aprobado para los permisos correspondientes a ese tipo de datos;
  • el objeto que posee los datos haya concedido a la aplicación permiso para acceder a los datos (p. ej., un usuario que permite a la aplicación acceder a su sección de noticias).

Modo de desarrollo

Las aplicaciones en modo de desarrollo solo pueden recibir notificaciones de prueba iniciadas mediante el panel de aplicaciones o notificaciones iniciadas por usuarios que tengan un rol en la aplicación.

Ten presente que el comportamiento del modo de desarrollo es diferente para los eventos de webhooks de Messenger. Para obtener información adicional, consulta la documentación sobre Webhooks para Messenger.

Configuración

Para usar webhooks, debes configurar un extremo en un servidor (HTTPS) seguro y, a continuación, añadir el producto de webhooks al panel de tu aplicación y configurarlo. En el resto de estos documentos se explica cómo completar estos dos pasos.

¿Todo listo? ¡Empecemos!

Más información