Webhooks for Pages
Updated: Jun 13, 2022
Copy for LLM
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:
- Set up your endpoint and configure the Webhooks product.
- Install your app using your Facebook page.
Setting Up Your Endpoint and Webhook Product
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.
| Field | Description |
|---|---|
feed | Notifies you when an Page’s feed has changed; posts, reactions, shares, etc. |
messages |
Notifies you when your page has received a message via Messenger. See the Webhooks for Messenger guide for a list of all available messages webhooks fields
|
Install Your App
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.Requirements
-
A Page access token requested from a person who can perform the
CREATE_CONTENT,MANAGE, orMODERATEtask on the Page being queried -
The
pages_manage_metadataandpages_show_listpermissions are required for thefeedwebhooks -
The
pages_messagingis also required for themessages
For the messages related fields only
- A Page access token requested from a person who can perform the
MESSAGINGtask on the Page being queried pages_messaging
Sample Request
curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps
?subscribed_fields=feed
&access_token={page-access-token}"
Sample Response
{
"success": "true"
}
To see which app’s your Page has installed, send a
GET request instead:Sample Request
curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token}
Sample Response
{
"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.
Graph API Explorer
If you don’t want to install your app programmatically, you can easily do it with the Graph API Explorer instead:
- Select your app in the Application dropdown menu. This will return your app’s access token.
- Click the Get Token dropdown and select Get User Access Token, then choose the
pages_manage_metadatapermission. This will exchange your app token for a User access token with thepages_manage_metadatapermission granted. - Click Get Token again and select your Page. This will exchange your User access token for a Page access token.
- Change the operation method by clicking the
GETdropdown menu and selectingPOST. - Replace the default
me?fields=id,namequery with the Page’s id followed by/subscribed_apps, then submit the query.
Common Uses
Getting Page Feed Details
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.
Sample Webhook Response
[
{
"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.Sample API Request
curl -i -X POST "https://graph.facebook.com/{page-post-id}/comments ?message=I%20want%20chocolate%20cake%20! &access_token=page-access-token"
Sample API Response
{
"id": "{comment-id}"
}