### App Installation Success Response Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-leadgen A successful response when installing an app to a Page's subscribed apps. This indicates the subscription was successful. ```json { "success": "true" } ``` -------------------------------- ### Install App to Page Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-pages Use this cURL command to install your app to a Facebook Page, enabling webhook notifications. Ensure you have the correct Page access token and subscribed fields. ```bash curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps ?subscribed_fields=feed &access_token={page-access-token}" ``` -------------------------------- ### Page Subscribed Apps Response Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-leadgen Sample response showing the data for apps installed on a Page. If no apps are installed, the 'data' array will be empty. ```json { "data": [ { "category": "Business", "link": "https://my-clever-domain-name.com/app", "name": "My Sample App", "id": "{page-id}" } ] } ``` -------------------------------- ### Sample Verification Request Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started This is an example of a GET request sent by Facebook to verify your webhook endpoint. It includes mode, challenge, and verify token parameters. ```http GET https://www.your-clever-domain-name.com/webhooks? hub.mode=subscribe& hub.challenge=1158201444& hub.verify_token=meatyhamhock ``` -------------------------------- ### Check Installed Apps on Page Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-pages Use this cURL command to retrieve a list of apps that are currently installed on a Facebook Page. This helps verify your app's installation status. ```bash curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps &access_token={page-access-token}" ``` -------------------------------- ### Install App to Page Subscribed Apps Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-leadgen Use this cURL command to install your app to a Facebook Page, subscribing it to leadgen notifications. Ensure you have the necessary Page access token and permissions. ```bash curl -i -X POST "https://graph.facebook.com/{page-id}/subscribed_apps ?subscribed_fields=leadgen &access_token={page-access-token}" ``` -------------------------------- ### Get Subscription Information Source: https://developers.facebook.com/docs/graph-api/webhooks/subscriptions-edge Send a `GET` request to the `/app/subscriptions` edge to retrieve the object and field subscriptions configured for your app. This helps you verify your current webhook setup. ```http GET graph.facebook.com/188559381496048/subscriptions ``` -------------------------------- ### Getting Subscription Information Source: https://developers.facebook.com/docs/graph-api/webhooks/subscriptions-edge Retrieve the object and field subscriptions currently set up for your app by sending a GET request to the /app/subscriptions edge. ```APIDOC ## GET /{app-id}/subscriptions ### Description Retrieve the object and field subscriptions that have been set up for your app. ### Method GET ### Endpoint `/{app-id}/subscriptions` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ``` GET graph.facebook.com/188559381496048/subscriptions ``` ### Response #### Success Response (200) - **data** (array) - An array of subscription objects. - **object** (string) - The type of object subscribed to. - **callback_url** (string) - The URL for receiving notifications. - **active** (boolean) - Indicates if the subscription is active. - **fields** (array) - An array of subscribed fields. - **name** (string) - The name of the field. - **version** (string) - The API version for the field. #### Response Example ```json { "data": [ { "object": "user", "callback_url": "https://your-clever-domain-name.com/webhooks", "active": true, "fields": [ { "name": "photos", "version": "v2.10" }, { "name": "feed", "version": "v2.10" } ] } ] } ``` ``` -------------------------------- ### Webhook Notification Example: Ad Object Issues Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-ad-accounts This is an example of a webhook notification payload received when an ad object encounters issues. ```json [ { "object": "ad_account", "entry": [ { "id": "0", "time": 1568132516, "changes": [ { "field": "with_issues_ad_objects", "value": { "id": "111111111111", "level": "AD", "error_code": "567", "error_summary": "error summary", "error_message": "error message" } } ] } ] } ] ``` -------------------------------- ### founded Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/page Describes changes to a page's Founded profile field. This is different from the Start Date field. ```APIDOC ## `founded` ### Description Describes changes to a page's Founded profile field. This is different from the Start Date field. ### Field Details Field| Description ---|--- `field`string| Name of the updated field `value`string| The result value. ``` -------------------------------- ### Subscription Information Response Source: https://developers.facebook.com/docs/graph-api/webhooks/subscriptions-edge The response to a `GET` request for subscription information includes an array of 'data' objects, each detailing the subscribed object, callback URL, active status, and the specific fields being monitored. ```json { "data": [ { "object": "user", "callback_url": "https://your-clever-domain-name.com/webhooks", "active": true, "fields": [ { "name": "photos", "version": "v2.10" }, { "name": "feed", "version": "v2.10" } ] } ] } ``` -------------------------------- ### Response for Caption Contents Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram Sample response from querying the 'GET /{ig-user-id}/mentioned_media' edge, containing the caption text and media type. ```json { "mentioned_media": { "caption": "@bluebottle There can be only one!", "media_type": "IMAGE", "id": "17918195224117851" }, "id": "17841405726653026" } ``` -------------------------------- ### Get Page Subscribed Apps Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-leadgen Use this cURL command to retrieve a list of apps currently installed and subscribed to by a Facebook Page. This helps in managing webhook subscriptions. ```bash curl -i -X GET "https://graph.facebook.com/{page-id}/subscribed_apps ?access_token={page-access-token}" ``` -------------------------------- ### Sample Event Notification Request Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started This is an example of a POST request sent by Facebook when a subscribed field changes. It contains a JSON payload detailing the event. ```http POST / HTTPS/1.1 Host: your-clever-domain-name.com/webhooks Content-Type: application/json X-Hub-Signature-256: sha256={super-long-SHA256-signature} Content-Length: 311 { "entry": [ { "time": 1520383571, "changes": [ { "field": "photos", "value": { "verb": "update", "object_id": "10211885744794461" } } ], "id": "10210299214172187", "uid": "10210299214172187" } ], "object": "user" } ``` -------------------------------- ### Response for Comment Contents Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram Sample response from querying the 'GET /{ig-user-id}/mentioned_comment' edge, containing the comment's text and metadata. ```json { "mentioned_comment": { "timestamp": "2018-03-20T00:05:29+0000", "text": "@bluebottle challenge?", "id": "17894227972186120" }, "id": "17841405726653026" } ``` -------------------------------- ### Retrieve Ad Account App Subscriptions Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-ad-accounts Send a GET request to retrieve a list of apps subscribed to receive webhook notifications for a specific ad account. ```curl curl -i -X GET \ -d "access_token=" \ "https://graph.facebook.com/v25.0/act_/subscribed_apps" ``` -------------------------------- ### Retrieve an ad account's app subscriptions Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-ad-accounts Send a GET request to retrieve a list of apps that are currently subscribed to receive webhook notifications for a specific ad account. ```APIDOC ## GET /:ad-account-id/subscribed_apps ### Description Retrieves a list of apps subscribed to receive webhook notifications for an ad account. ### Method GET ### Endpoint `https://graph.facebook.com/v25.0/act_/subscribed_apps` ### Parameters #### Query Parameters - **access_token** (string) - Required - The access token for the app. ### Request Example ```curl curl -i -X GET \ -d "access_token=" \ "https://graph.facebook.com/v25.0/act_/subscribed_apps" ``` ### Response #### Success Response (200) - **data** (array) - An array of subscribed app objects. - **name** (string) - The name of the subscribed app. - **id** (string) - The ID of the subscribed app. ### Response Example ```json { "data":[ { "name": "", "id": "" } ] } ``` ``` -------------------------------- ### View Subscribed Apps for a Catalog Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-catalogs Use this GET request to retrieve a list of all apps currently subscribed to receive webhook notifications for your catalog. ```curl curl -X GET \ "https://graph.facebook.com///subscribed_apps?access_token=" ``` -------------------------------- ### oe_reseller_onboarding_request_created Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/application The node for the webhook called during oe reseller create. ```APIDOC ## oe_reseller_onboarding_request_created ### Description The node for the webhook called during oe reseller create. ### Fields - **field** (string) - Name of the updated field - **value** (object) - The data storing the id. - **id** (numeric string) - The associated oe request id, that can be used to query more information ``` -------------------------------- ### Create a Webhook Subscription Source: https://developers.facebook.com/docs/graph-api/webhooks/subscriptions-edge Use this `POST` request to subscribe to an object and its fields. Ensure you provide the object type, callback URL, a verification token, the fields you want to subscribe to, and your app's access token. ```curl curl -F "object=user" \ -F "callback_url=https://your-clever-domain-name.com/webhooks" \ -F "fields=photos" \ -F "verify_token=your-verify-token" \ -F "access_token=your-app-access-token" \ "https://graph.facebook.com/188559381496048/subscriptions" ``` -------------------------------- ### Enable Page Subscriptions Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram Use this POST request to enable Page subscriptions for your app. Ensure you have the Page Access Token and the necessary permissions. ```bash curl -i -X POST \ "https://graph.facebook.com/v25.0/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..." ``` -------------------------------- ### group_install Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/application The group_install field for the Webhooks group topic, tracking application installations/uninstalls in groups. ```APIDOC ## group_install ### Description The group_install field for the Webhooks group topic. ### Fields - **field** (string) - Name of the updated field - **value** (object) - The contents of the update - **group_id** (numeric string) - Group ID on which application was installed or uninstalled - **update_time** (datetime) - The time of update - **verb** (enum {add, block, edit, edited, delete, follow, hide, mute, remove, unblock, unhide, update}) - The type of action taken - **actor_id** (numeric string) - Admin who installed or uninstalled the application ``` -------------------------------- ### live_videos Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Live Video section of the user's profile, including the ID of the live video and its status. ```APIDOC ## live_videos ### Description Describes changes to the Live Video section of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (object): Contents of the update. - **id** (id): The ID of the live video. - **status** (enum): The status of the live video. ``` -------------------------------- ### Creating Subscriptions Source: https://developers.facebook.com/docs/graph-api/webhooks/subscriptions-edge Subscribe to an object and its fields by sending a POST request to the /app/subscriptions edge. This allows your app to receive notifications for specific events. ```APIDOC ## POST /app/subscriptions ### Description Subscribe to an object and its fields to receive webhook notifications. ### Method POST ### Endpoint `/{app-id}/subscriptions` ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body - **object** (string) - Required - The type of object to subscribe to (e.g., `user`). - **callback_url** (string) - Required - Your endpoint's URL where notifications will be sent. - **verify_token** (string) - Required - A string used for verification requests. - **fields** (string) - Required - The fields to subscribe to (e.g., `photos`). - **access_token** (string) - Required - Your app's access token. ### Request Example ```json { "object": "user", "callback_url": "https://your-clever-domain-name.com/webhooks", "fields": "photos", "verify_token": "your-verify-token", "access_token": "your-app-access-token" } ``` ### Response #### Success Response (200) - **success** (string) - Indicates if the subscription creation was successful. #### Response Example ```json { "success": "true" } ``` ``` -------------------------------- ### platform Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Indicates that the user has enabled or disabled the Platform setting, detailing the name of the updated field and the type of operation. ```APIDOC ## platform ### Description Indicates that the user has enabled or disabled the Platform setting. ### Fields - **field** (string): Name of the updated field. - **verb** (enum): Type of operation. ``` -------------------------------- ### Query Caption Contents Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram Use the 'media_id' from a caption mention webhook to query the 'GET /{ig-user-id}/mentioned_media' edge to retrieve caption details. ```http GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_media.media_id(17918195224117851){caption,media_type} ``` -------------------------------- ### Query Comment Contents Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram Use the 'comment_id' from a mention webhook to query the 'GET /{ig-user-id}/mentioned_comment' edge to retrieve the comment's content. ```http GET https://graph.facebook.com/17841405726653026 ?fields=mentioned_comment.comment_id(17894227972186120) ``` -------------------------------- ### View Subscribed Apps for a Catalog Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-catalogs Retrieve a list of all applications currently subscribed to receive webhook notifications for a specific catalog. ```APIDOC ## GET ///subscribed_apps ### Description Retrieves a list of apps subscribed to a catalog's webhooks. ### Method GET ### Endpoint `https://graph.facebook.com///subscribed_apps` ### Parameters #### Query Parameters - **access_token** (string) - Required - The access token for the user or app. ### Request Example ```bash curl -X GET \ "https://graph.facebook.com///subscribed_apps?access_token=" ``` ### Response #### Success Response (200) - **data** (array) - A list of subscribed apps. - **name** (string) - The name of the subscribed app. - **id** (string) - The ID of the subscribed app. #### Response Example ```json { "data": [ { "name": "", "id": "" } ] } ``` ``` -------------------------------- ### Subscribe an App to Catalog Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-catalogs Subscribe your application to receive webhook notifications for a specific catalog. This requires your app to have edit permissions for the catalog and the `catalog_management` permission. ```APIDOC ## POST ///subscribed_apps ### Description Subscribes an app to receive webhook notifications for a catalog. ### Method POST ### Endpoint `https://graph.facebook.com///subscribed_apps` ### Parameters #### Query Parameters - **access_token** (string) - Required - The access token for the user or app. #### Request Body - **app_id** (string) - Required - The ID of the app to subscribe. ### Request Example ```bash curl -X POST \ "https://graph.facebook.com///subscribed_apps?access_token=" \ -d 'app_id=' ``` ### Response #### Success Response (200) This endpoint does not return a specific JSON response body on success, but the subscription is established if no error is returned. ``` -------------------------------- ### View Subscribed Apps Response Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-catalogs This is the expected JSON response when successfully retrieving a list of subscribed apps for a catalog. ```json { "data": [ { "name": "", "id": "" } ] } ``` -------------------------------- ### Response for Replying to Comment Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram Sample response from the 'POST /{ig-user-id}/mentions' endpoint after successfully replying to a comment mention. ```json { "id": "17911496353086895" } ``` -------------------------------- ### Subscribe an App to Catalog Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-catalogs Use this POST request to subscribe your app to receive webhook notifications for a specific catalog. Ensure your app has the necessary permissions. ```curl curl -X POST \ "https://graph.facebook.com///subscribed_apps?access_token=" \ -d 'app_id=' ``` -------------------------------- ### messaging_handover Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/instagram Handles the handover of conversations between different applications or services. It supports passing, taking, and requesting control of message threads. ```APIDOC ## messaging_handover ### Description Handles the handover of conversations between different applications or services. It supports passing, taking, and requesting control of message threads. ### Field `field` (string) - Name of the updated field ### Value `value` (object) - The handover details - `sender` (IDName) - Information about the sender of the message - `id` (id) - The ID of the sender - `recipient` (IDName) - Information about the recipient of the message - `id` (id) - The ID of the recipient - `timestamp` (unsigned integer) - The timestamp of the event - `pass_thread_control` (object) - Details when thread control is passed - `previous_owner_app_id` (numeric string) - The ID of the previous owner application - `new_owner_app_id` (numeric string) - The ID of the new owner application - `metadata` (string) - Additional metadata - `take_thread_control` (object) - Details when thread control is taken - `previous_owner_app_id` (numeric string) - The ID of the previous owner application - `new_owner_app_id` (numeric string) - The ID of the new owner application - `metadata` (string) - Additional metadata - `request_thread_control` (object) - Details when thread control is requested - `requested_owner_app_id` (numeric string) - The ID of the requested owner application - `metadata` (string) - Additional metadata - `app_roles` (map) - Application roles ``` -------------------------------- ### Managed Meta Account Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Covers categories of updates relating to managed meta account migration. ```APIDOC ## Managed Meta Account Webhooks ### Description Category of updates relating to managed meta account migration (EntMWABusinessUserMigration). ### Topic `Managed Meta Account` ``` -------------------------------- ### AdAccountGuidanceField Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/ad-account Details about guidance and recommendations for ad accounts. ```APIDOC ## `ad_recommendations` ### Description Provides recommendations and guidance for ad accounts, including object IDs and recommendation types. ### Fields - **`field`** (string): Name of the updated field. - **`value`** (object): The value associated with the field. - **`ad_account_id`** (numeric string): The ID of the ad account. - **`ad_object_ids`** (list): A list of ad object IDs. - **`recommendation_type`** (enum): The type of recommendation. - **`recommendation_signature`** (string): A signature for the recommendation. - **`recommendation_message`** (string): A message detailing the recommendation. - **`recommendation_stage`** (string): The stage of the recommendation. - **`recommendation_hash`** (string): A hash of the recommendation. ``` -------------------------------- ### messaging_handovers Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/page This webhook event is related to the handover of conversations in Messenger, typically between a bot and a human agent. ```APIDOC ## `messaging_handovers` ### Description This webhook event is related to the handover of conversations in Messenger, typically between a bot and a human agent. ### Field * `field` (string) - Name of the updated field ``` -------------------------------- ### dev_alerts Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/application ApplicationDevAlertsField for developer alerts. ```APIDOC ## dev_alerts ### Description ApplicationDevAlertsField. ### Fields - **field** (string) - Name of the updated field - **value** (object) - value - **notification_id** (numeric string) - notification_id - **date** (datetime) - date - **header** (string) - header - **subtitle** (string) - subtitle ``` -------------------------------- ### Subscribe your app to ad account webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-ad-accounts Send a POST request to subscribe your app to receive webhook notifications for an ad account. Your app must have edit permission for the ad account and the `ads_management` permission. ```APIDOC ## POST /:ad-account-id/subscribed_apps ### Description Subscribes an app to receive webhook notifications for an ad account. ### Method POST ### Endpoint `https://graph.facebook.com/v25.0/act_/subscribed_apps` ### Parameters #### Request Body - **access_token** (string) - Required - The access token for the app. - **app_id** (string) - Required - The ID of the app to subscribe. ### Request Example ```curl curl -i -X POST \ -d "access_token=" \ -d "app_id=" \ "https://graph.facebook.com/v25.0/act_/subscribed_apps" ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the subscription was successful. ### Response Example ```json { "success": "true" } ``` ``` -------------------------------- ### call_permission_reply Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/page This webhook event is sent when a reply to a call permission request is received. It includes details about the sender, recipient, and the reply itself. ```APIDOC ## `call_permission_reply` ### Description This webhook event is sent when a reply to a call permission request is received. It includes details about the sender, recipient, and the reply itself. ### Fields * `field` (string) - Name of the updated field * `value` (object) - Contains details about the call permission reply. * `sender` (MessengerCommerceSenderData) - Information about the sender. * `recipient` (IDName) - Information about the recipient. * `id` (id) - The ID of the message. * `name` (string) - The name associated with the ID. * `timestamp` (integer) - The time the event occurred. * `call_permission_reply` (MessengerCommerceCallPermissionReplyData) - Details of the call permission reply. * `response` (string) - The response to the call permission request. * `expiration_timestamp` (integer) - The timestamp when the reply expires. ``` -------------------------------- ### items_batch Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/catalog Handles batch updates for catalog items. It allows for updating multiple fields of catalog items and provides a handle to check the status of the request. ```APIDOC ## `items_batch` ### Description Handles batch updates for catalog items. It allows for updating multiple fields of catalog items and provides a handle to check the status of the request. ### Parameters #### Request Body - **field** (string) - Name of the updated field - **value** (object) - The new value for the field - **catalog_id** (numeric string) - The ID of the catalog - **handle** (string) - The handle to check the status of the submitted request via the /check_batch_request_status API endpoint. - **status** (string) - Status of a batch request. Possible values are: Finished - The action was completed successfully; individual requests with errors were not saved. ``` -------------------------------- ### Leadgen Webhook Notification Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-leadgen This is a sample webhook payload received when a user interacts with a lead ad. It contains details about the lead event, including IDs and timestamps. ```json { "object": "page", "entry": [ { "id": 153125381133, "time": 1438292065, "changes": [ { "field": "leadgen", "value": { "leadgen_id": 123123123123, "page_id": 123123123, "form_id": 12312312312, "adgroup_id": 12312312312, "ad_id": 12312312312, "created_time": 1440120384 } }, { "field": "leadgen", "value": { "leadgen_id": 123123123124, "page_id": 123123123, "form_id": 12312312312, "adgroup_id": 12312312312, "ad_id": 12312312312, "created_time": 1440120384 } } ] } ] } ``` -------------------------------- ### likes Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Music section of the user''s profile, including the type of operation and the page associated with the update. ```APIDOC ## likes ### Description Describes changes to the Music section of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (object): Contents of the update. - **page** (numeric string): Page that corresponds with the update. - **verb** (enum): Type of operation. Possible values: add, block, edit, edited, delete, follow, hide, mute, remove, unblock, unhide, update. ``` -------------------------------- ### pic_small_https Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Profile Picture section of the user's profile, providing the URL of the new profile picture. ```APIDOC ## pic_small_https ### Description Describes changes to the Profile Picture section of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (string): The picture's URL. ``` -------------------------------- ### photos Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Photos, Profile Photo, and Cover Photos sections of the user's profile, including the type of action and the ID of the photo. ```APIDOC ## photos ### Description Describes changes to the Photos, Profile Photo, and Cover Photos sections of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (object): Contents of the update. - **verb** (enum): The type of action that triggered the update. Possible values: add, block, edit, edited, delete, follow, hide, mute, remove, unblock, unhide, update. - **object_id** (numeric string): The ID of the photo. ``` -------------------------------- ### Catalog Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Covers categories of updates relating to product catalog changes and events. ```APIDOC ## Catalog Webhooks ### Description Category of updates relating to product catalog changes and events. ### Topic `Catalog` ``` -------------------------------- ### AdAccountAdsAsyncCreationRequestField Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/ad-account Details about the fields related to asynchronous ad creation requests. ```APIDOC ## `ads_async_creation_request` ### Description Provides details on asynchronous ad creation requests, including status and results. ### Fields - **`field`** (string): Name of the updated field. - **`value`** (object): The value associated with the field. - **`status`** (enum): The status of the asynchronous request. - **`result`** (object): The result of the asynchronous operation. - **`result_id`** (numeric string): The ID of the result. - **`error_code`** (unsigned int32): The error code if the operation failed. - **`error_message`** (string): The error message if the operation failed. ``` -------------------------------- ### messaging_customer_information Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/page This webhook event is triggered when customer information is submitted via Messenger. It includes details about the sender, recipient, and the submitted information. ```APIDOC ## `messaging_customer_information` ### Description This webhook event is triggered when customer information is submitted via Messenger. It includes details about the sender, recipient, and the submitted information. ### Fields * `field` (string) - Name of the updated field * `value` (object) - Contains the customer information submitted. * `sender` (IDName) - Information about the sender. * `id` (id) - The ID of the sender. * `name` (string) - The name of the sender. * `recipient` (IDName) - Information about the recipient. * `id` (id) - The ID of the recipient. * `name` (string) - The name of the recipient. * `timestamp` (unsigned integer) - The time the information was submitted. * `messaging_customer_information` (MessengerCommerceCustomerInfomationScreensData) - Details about the customer information screens. * `screens` (list) - A list of customer information screens. * `screen_id` (string) - The ID of the screen. * `responses` (list) - The user's responses to the customer information screen. * `key` (string) - The key for a response pair. * `value` (string) - The value for a response pair. ``` -------------------------------- ### AdAccountInProcessAdObjectsField Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/ad-account Details about ad objects that are currently in process. ```APIDOC ## `in_process_ad_objects` ### Description Provides data on ad objects that are in an in-process status. ### Fields - **`field`** (string): Name of the updated field. - **`value`** (object): Data of the ad object in an in-process status. - **`id`** (numeric string): The ID of the ad object. - **`level`** (string): The level of the ad object (e.g., 'CREATIVE', 'AD', 'AD_SET', 'CAMPAIGN'). - **`status_name`** (string): The current status name of the ad object's transition. ``` -------------------------------- ### standby Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/instagram This webhook event is used for messages that are routed to a standby channel, typically for fallback or archival purposes. ```APIDOC ## `standby` ### Description This webhook event is used for messages that are routed to a standby channel, typically for fallback or archival purposes. ### Fields - `field` (string): Name of the updated field. - `value` (string): The content of the standby message. ``` -------------------------------- ### User Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Provides a full list of user profile fields that can be subscribed to for webhook notifications. ```APIDOC ## User Webhooks ### Description Full list of user profile fields that you can subscribe to. ### Topic `User` ``` -------------------------------- ### call_settings_update Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/page This webhook event indicates that the call settings for a page have been updated. It includes information about audio, icon, video enablement, and call routing. ```APIDOC ## `call_settings_update` ### Description This webhook event indicates that the call settings for a page have been updated. It includes information about audio, icon, video enablement, and call routing. ### Fields * `field` (string) - Name of the updated field * `value` (object) - Contains the updated call settings. * `timestamp` (unsigned integer) - The time the settings were updated. * `audio_enabled` (bool) - Indicates if audio is enabled for calls. * `icon_enabled` (bool) - Indicates if the call icon is enabled. * `video_enabled` (bool) - Indicates if video is enabled for calls. * `call_routing` (CallRouting) - The call routing configuration. * `ring_target` (string) - The target for incoming calls. * `call_hours` (CallHours) - The hours during which calls are active. ``` -------------------------------- ### name Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Name section of the user's profile, including first name, last name, middle name, localized names, and the full name value. ```APIDOC ## name ### Description Describes changes to the Name section of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (string): The new name. - **first_name** (string): The new first name. - **last_name** (string): The new last name. - **middle_name** (string): The new middle name. - **localized_names** (object): The new localized names of the user. ``` -------------------------------- ### AdAccountProductSetIssueField Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/ad-account Details about issues related to product sets within an ad account. ```APIDOC ## `product_set_issue` ### Description Provides details on issues encountered with product sets in an ad account. ### Fields - **`field`** (string): Name of the updated field. - **`value`** (object): Product Set Issue Details. - **`ad_account_id`** (numeric string): The ID of the Ad Account. - **`product_set_id`** (numeric string): The ID of the Product Set. - **`type`** (enum): An enum representing the type of product set issue. - **`description`** (string): A detailed explanation of the specific issue. - **`recommended_action`** (string): Suggested actions to resolve the described issue. ``` -------------------------------- ### Enable Page Subscriptions Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram This endpoint allows your app to enable Page subscriptions on the Page connected to the app user's account. You need to send a POST request to the Page Subscribed Apps edge and subscribe to any Page field. ```APIDOC ## POST /{page-id}/subscribed_apps ### Description Enables your app to receive notifications for Page events by subscribing to specific fields. ### Method POST ### Endpoint `https://graph.facebook.com/v25.0/{page-id}/subscribed_apps` ### Parameters #### Path Parameters - **{page-id}** (string) - Required - ID of the Page connected to the app user's account. #### Query Parameters - **access_token** (string) - Required - App user's Page access token. - **subscribed_fields** (string) - Required - A Page field to subscribe to (e.g., `feed`, `comments`, `mentions`). ### Request Example ```curl curl -i -X POST \ "https://graph.facebook.com/v25.0/1755847768034402/subscribed_apps?subscribed_fields=feed&access_token=EAAFB..." ``` ### Response #### Success Response (200) - **success** (boolean) - Indicates if the subscription was successful. #### Response Example ```json { "success": true } ``` ``` -------------------------------- ### Application Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Details the categories of updates that are sent to a specific application via webhooks. ```APIDOC ## Application Webhooks ### Description Category of updates that are sent to a specific app. ### Topic `Application` ``` -------------------------------- ### Page Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Lists Page profile webhook fields that can be subscribed to. Requires the `pages_manage_metadata` permission granted by a page admin. ```APIDOC ## Page Webhooks ### Description Page profile webhook fields you can subscribe to. In order for these webhooks to be sent to an app's webhook callback URL, a page admin with MODERATE privileges must grant the app the pages_manage_metadata permission. ### Topic `Page` ``` -------------------------------- ### music Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Music section of the user's profile, including the type of operation and the page associated with the update. ```APIDOC ## music ### Description Describes changes to the Music section of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (object): Contents of the update. - **page** (numeric string): Page that corresponds with the update. - **verb** (enum): Type of operation. Possible values: add, block, edit, edited, delete, follow, hide, mute, remove, unblock, unhide, update. ``` -------------------------------- ### last_name Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Details changes to the 'last_name' field of the 'user' topic, including the name of the updated field and its new value. ```APIDOC ## last_name ### Description Field 'last_name' of Topic 'user'. ### Fields - **field** (string): Name of the updated field. - **value** (string): The new last name. ``` -------------------------------- ### Sample Webhook Notification Payload Source: https://developers.facebook.com/docs/graph-api/webhooks This JSON payload represents a sample notification received when a user uploads a photo, triggering a change in the 'photos' field. ```json { "entry": [ { "time": 1520383571, "changes": [ { "field": "photos", "value": { "verb": "update", "object_id": "10211885744794461" } } ], "id": "10210299214172187", "uid": "10210299214172187" } ], "object": "user" } ``` -------------------------------- ### product_feed Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/catalog Manages product feeds within a catalog. This endpoint allows for updating product feeds and checking their status. ```APIDOC ## `product_feed` ### Description Manages product feeds within a catalog. This endpoint allows for updating product feeds and checking their status. ### Parameters #### Request Body - **field** (string) - Name of the updated field - **value** (object) - The new value for the field - **catalog_id** (numeric string) - The ID of the catalog - **product_feed_id** (numeric string) - The ID of the product feed - **status** (string) - Status of a Product Feed. Possible values are: Finished - The action was completed successfully ``` -------------------------------- ### pic_https Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/user Describes changes to the Profile Picture section of the user's profile, providing the URL of the new profile picture. ```APIDOC ## pic_https ### Description Describes changes to the Profile Picture section of the user's profile. ### Fields - **field** (string): Name of the updated field. - **value** (string): The picture's URL. ``` -------------------------------- ### Subscribe App to Ad Account Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-ad-accounts Send a POST request to subscribe your app to receive webhook notifications for an ad account. Ensure your app has the necessary permissions. ```curl curl -i -X POST \ -d "access_token=" \ -d "app_id=" \ "https://graph.facebook.com/v25.0/act_/subscribed_apps" ``` -------------------------------- ### messaging_referral Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/instagram This webhook event is triggered when a message referral occurs. It provides details about the sender, recipient, and the referral itself. ```APIDOC ## `messaging_referral` ### Description This webhook event is triggered when a message referral occurs. It provides details about the sender, recipient, and the referral itself. ### Fields - `field` (string): Name of the updated field. - `value` (object): The referral information along with sender and business IDs, and timestamp. - `sender` (MessengerParticipantID): The sender of the message. - `id` (numeric string): The ID of the sender. - `recipient` (MessengerParticipantID): The recipient of the message. - `id` (numeric string): The ID of the recipient. - `timestamp` (unsigned integer): The timestamp when the referral occurred. - `referral` (object): Details about the referral. ``` -------------------------------- ### messaging_postbacks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/instagram This webhook event is triggered by postbacks, which are typically used for interactive elements in messaging. It includes sender, recipient, and postback details. ```APIDOC ## `messaging_postbacks` ### Description This webhook event is triggered by postbacks, which are typically used for interactive elements in messaging. It includes sender, recipient, and postback details. ### Fields - `field` (string): Name of the updated field. - `value` (object): The value of the postback event. - `sender` (IDName): The sender of the postback. - `id` (id): The ID of the sender. - `recipient` (IDName): The recipient of the postback. - `id` (id): The ID of the recipient. - `is_self` (bool): Indicates if the postback was sent by the user themselves. - `timestamp` (unsigned integer): The timestamp when the postback was sent. - `postback` (object): The postback payload details. - `title` (string): The title of the postback button. - `payload` (string): The payload associated with the postback. - `referral` (object): Referral details if the postback originated from a referral. - `mid` (string): The message ID associated with the postback. ``` -------------------------------- ### Whatsapp Business Account Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Details categories of updates relating to a WhatsApp business account. ```APIDOC ## Whatsapp Business Account Webhooks ### Description Category of updates relating to a WhatsApp business account. ### Topic `Whatsapp Business Account` ``` -------------------------------- ### general_info Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/page Describes changes to a page's General Information profile field. ```APIDOC ## `general_info` ### Description Describes changes to a page's General Information profile field. ### Field Details Field| Description ---|--- `field`string| Name of the updated field `value`string| The result value. ``` -------------------------------- ### async_requests Source: https://developers.facebook.com/docs/graph-api/webhooks/reference/application The async_requests field of the Webhooks application topic, for asynchronous job status. ```APIDOC ## async_requests ### Description The async_requests field of the Webhooks application topic. ### Fields - **field** (string) - Name of the updated field - **value** (object) - The result values. - **category** (string) - Category. - **verb** (enum {complete, fail}) - Status of the async job. - **report_id** (id) - Report run id. ``` -------------------------------- ### Ad Account Webhooks Source: https://developers.facebook.com/docs/graph-api/webhooks/reference Provides a list of Ad account fields that can be subscribed to for webhook notifications. ```APIDOC ## Ad Account Webhooks ### Description List of Ad account fields you can subscribe to. ### Topic `Ad Account` ``` -------------------------------- ### Sample Comment @Mention Payload Source: https://developers.facebook.com/docs/graph-api/webhooks/getting-started/webhooks-for-instagram A sample JSON payload received when subscribing to the 'mentions' field for comment mentions on Instagram. ```json [ { "entry": [ { "changes": [ { "field": "mentions", "value": { "comment_id": "17894227972186120", // ID of the comment in which your app user's Instagram professional account was mentioned "media_id": "17918195224117851" // ID of the media the Instagram user commented on } } ], "id": "17841405726653026", // ID of your app user's Instagram professional account "time": 1520622968 // Time the notification was sent } ], "object": "instagram" } ] ```