The following content is from the Webhooks product documentation. Please refer to the Webhooks documentation if you are unfamiliar with Webhooks.
Webhooks for Pages can send you real-time notifications of changes to your Pages. For example, you can receive real-time updates whenever users post to your feed, comment on a post, or like your posts.
To set up a Page Webhook:
Follow our Getting Started guide to create your endpoint and configure the Webhooks product. During configuration, make sure to choose the Page object and subscribe to one or more of the Pages fields below.
As part of the v3.3 changes, the conversations
webhook field was deprecated. Use messages
fields to receive Page Messenger messages. See Messenger Platform Webhooks
The conversations
webhook field will stop working after June 30 2020.
As part of the v4.0 changes, the likes
webhook field was deprecated. Use the reactions
field to receive Page feed likes.
The likes
field will stop working for all versions after October 29 2019.
Field | Description |
---|---|
| Notifies you when an Page's feed has changed; posts, reactions, shares, etc. |
| Notifies you when your page has received a Messenger update. See Messenger webhook for all messages fields |
Webhook notifications will only be sent if your Page has installed your Webhooks configured-app, and if the Page has not disabled the App platform in its App Settings. To get your Page to install the app, have your app send a POST
request to the Page's subscribed_apps edge using the Page's acccess token.
MODERATE
task on the Page being queriedpages_manage_metadata
pages_messaging
is requiredcurl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps ?subscribed_fields=feed &access_token={page-access-token}"
{ "success": "true" }
To see which app's your Page has installed, send a GET
request instead:
curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token}
{ "data": [ { "category": "Business", "link": "https://my-clever-domain-name.com/app", "name": "My Sample App", "id": "{page-id}" } ] }
If your Page has not installed any apps, the API will return an empty data set.
If you don't want to install your app programmatically, you can easily do it with the Graph API Explorer instead:
pages_manage_metadata
permission. This will exchange your app token for a User access token with the pages_manage_metadata
permission granted.GET
dropdown menu and selecting POST
.me?fields=id,name
query with the Page's id followed by /subscribed_apps
, then submit the query. Your app can subscribe to a Page's Feed and get notified anytime any Feed-related change occurs. For example, here's a notification sent when a User posted to a Page.
[ { "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 the post_id
from the notification to comment on that Page post.
curl -i -X POST "https://graph.facebook.com/{page-post-id}/comments ?message=I%20want%20chocolate%20cake%20! &access_token=page-access-token"
{ "id": "{comment-id}" }