Webhooks de Páginas

Os Webhooks de Páginas podem enviar notificações em tempo real sobre alterações nas suas páginas. Por exemplo, é possível receber notificações em tempo real sempre que usuários curtirem ou comentarem nas suas publicações ou publicarem no seu feed.

Para configurar um webhook de Página, faça o seguinte:

  1. Configure o ponto de extremidade e o produto Webhooks.
  2. Instale o aplicativo usando sua página do Facebook.

Como configurar o ponto de extremidade e o produto Webhook

Siga o guia de Introdução para criar um ponto de extremidade e configurar o produto Webhooks. Durante a configuração, escolha o objeto Página e assine pelo menos um dos campos a seguir.

CampoDescrição

feed

Envia notificações sobre alterações, publicações, reações, compartilhamentos e outras alterações no feed de uma Página.

messages

Envia uma notificação quando sua página recebe uma mensagem no Messenger. Consulte a lista de campos disponíveis para mensagens no guia Webhooks para a plataforma do Messenger.

Instalar o app

As notificações do webhook serão enviadas somente se a Página tiver instalado o seu aplicativo configurado para Webhooks e não tiver desativado a plataforma do aplicativo nas configurações. Para que a Página instale o aplicativo, faça com que ele envie uma solicitação POST para a borda subscribed_apps da Página usando o token de acesso da Página.

Requisitos

Apenas para campos relacionados a mensagens

Exemplo de solicitação

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

Exemplo de resposta

{
  "success": "true"
}

Para ver quais apps estão instalados na sua Página, envie uma solicitação GET:

Exemplo de solicitação

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

Exemplo de resposta

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

Se a Página não tiver apps instalados, a API retornará um conjunto de dados vazio.

Explorador da Graph API

Se você não quiser instalar o aplicativo de maneira programada, lembre-se de que é fácil realizar essa operação com o Explorador da Graph API:

  1. Selecione o app no menu suspenso Aplicativo. A ação retornará o token de acesso do aplicativo.
  2. Clique no menu suspenso Obter token e selecione a opção Obter token de acesso do usuário. Em seguida, escolha a permissão pages_manage_metadata. A ação substituirá o token do app por um token de acesso do usuário com a permissão pages_manage_metadata concedida.
  3. Clique novamente em Obter token e selecione sua Página. A ação substituirá o token de acesso do usuário por um token de acesso à Página.
  4. Altere o modo de operação clicando no menu suspenso GET e selecionando POST.
  5. Substitua a consulta padrão me?fields=id,name pelo id da Página seguido por /subscribed_apps. Depois, envie a consulta.

Usos comuns

Como obter detalhes do feed de Página

O aplicativo pode assinar o feed de uma Página e ser notificado sempre que ocorrerem alterações relacionadas. Por exemplo, esta é uma notificação enviada quando um usuário publica em uma Página.

Exemplo de resposta 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"
  }
]

Use o post_id da notificação para comentar na publicação da Página.

Exemplo de solicitação 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" 

Exemplo de resposta de API

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