Messenger Profile API

During F8 2019, we announced our plans to launch a lighter, better and simpler Messenger designed to build closer connections between people and businesses.

Starting August 15, 2019, updated versions of the Messenger app will no longer support Nested menu. To create a more seamless experience for people on Messenger, we are transitioning from nested persistent menu to a single layer menu format, For Pages set with nested menu items they will render as a flat list. We believe this will create an even better experience for people on Messenger. Refer to June 10, 2019 Announcement

The Messenger Profile for your Page is where you set properties that define various aspects of the following Messenger Platform features. For more information, see the Messenger Profile Properties table below.

The Messenger Profile API allows you to set, update, retrieve, and delete properties from the Page Messenger Profile.

Permissions

A page access token with pages_messaging permission is required to interact with this endpoint.

Apps in Development Mode, the Messenger Profile settings will only be visible to people with role on the app.

Contents

Request URI

https://graph.facebook.com/v4.0/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>

Messenger Profile Properties

The following properties may be included in the Messenger profile for your PAge. See descriptions in the table below for the type and purpose of each property.

Property Type Description

account_linking_url

String

Authentication callback URL. Must use https protocol.


For more, see Account Linking URL Reference.

persistent_menu

Array<Object>

An array of call-to-action buttons to include in the persistent menu.


For more, see Persistent Menu Reference.

get_started

Object

The payload that will be sent as a messaging_postbacks event when someone taps the 'get started' button on your Page Messenger welcome screen.


For more, see Get Started Button Reference.

greeting

Array<Object>

An array of locale-specific greeting messages to display on your Page Messenger welcome screen.


For more, see Greeting Text Reference.

whitelisted_domains

Array<String>

A list of whitelisted domains. Required for Pages that use the Messenger Extensions SDK and the checkbox plugin.


For more, see Domain Whitelisitng Reference.

target_audience

Object

A set of criteria that determines the audience that your Messenger will appear for in the Discover Tab.


For more, see Target Audience Settings Reference.

home_url

Object

The URL that will be displayed in the Messenger webview when someone opens your Messenger Chat Extension.


For more, see Chat Extension Home URL Reference.

Retrieve Properties

Retrieves the current value of one or more Messenger Profile properties by name.

Request Parameters

The following parameters are included in the query string of the request:

ParameterDescription

fields

A comma-separated list of Messenger Profile properties to retrieve.

Example Request

curl -X GET "https://graph.facebook.com/v4.0/me/messenger_profile?fields=whitelisted_domains,greeting&access_token=<PAGE_ACCESS_TOKEN>"

Example Response

The current value of the requested properties will be returned in the data array:

{
   "data": [
        {
          "whitelisted_domains": [
            "https://facebook.com/"
          ],
          "greeting": [
            {
               "locale": "default",
               "text": "Hello!"
            },
            {
               "locale": "en_US",
               "text": "Timeless apparel for the masses."
            }
         ]
      }
   ]
}

Set/Update Properties

Sets the values of one or more Messenger Profile properties. Only properties set in the request body will be overwritten.

Example Request

curl -X POST -H "Content-Type: application/json" -d '{
  "<PROPERTY_NAME>": "<NEW_PROPERTY_VALUE>",
  "<PROPERTY_NAME>": "<NEW_PROPERTY_VALUE>",
  ...
}' "https://graph.facebook.com/v4.0/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"

Example Response

{
    "result": "success"
}

Delete Properties

Deletes one or more Messenger Profile properties. Only properties specified in the fields array will be deleted.

Example Request

curl -X DELETE -H "Content-Type: application/json" -d '{
  "fields": [
    "<PROPERTY_NAME>",
    "<PROPERTY_NAME>",
    "<PROPERTY_NAME>",
    ...
  ]
}' "https://graph.facebook.com/v4.0/me/messenger_profile?access_token=<PAGE_ACCESS_TOKEN>"

Example Response

{
    "result": "success"
}

Rate Limit

Calls to the Messenger Profile API are limited to 10 API calls per 10 minute interval. This rate limit is enforced per Page.