Messenger Business Calling API

Messenger Business Calling API aims to bring the VoIP communication channel in addition to text messaging between Messenger consumers and Businesses on Messenger. The consumers would use the Messenger consumer app in a manner similar to the current Consumer to Consumer Calling product. Businesses would however interface with Messenger via GraphAPI and Webhooks for the initial call signaling and connection.

Before You Start

The Calling APIs utilize the same authorization tokens as the rest of the Messenger Platform API. You will need this permission to access the Messenger Calling API:

  • pages_messaging

You will also need to subscribe to these webhooks:

  • messages
  • standby
  • call_permission_reply
  • calls

Messenger Calling APIs

Page Onboarding API

Automatic page allowlisting is available on the API. Businesses will call this API to onboard their pages.

Property Description

Page-ID

string

This is the page ID connected to the app

POST /{PAGE-ID}/messenger_call_settings

{
  "audio_enabled": <boolean>,
  "call_routing": {
        "ring_target": {META/PARTNERS}
    }
}

You will either receive success or failure based on whether the request was successful or not.

For a complete explanation of all available parameters, please refer to the Inbound Call Routing section.

Experiment API

Check your page's eligibility based on the Page ID to use the Messenger Calling API.

Property Description

Page-ID

string

This is the page ID connected to the app

features

array

List of features to check.

feature

string

The name of the feature to check

POST /{PAGE-ID/business_messaging_feature_status

{
  "features": [
    {
      "feature": "messenger_api_calling"
    }
  ]
}

Example Response

Property Description

feature

string

The name of the input feature

status

string

ENABLED means the page has access to the feature

DISABLED means the page does not have access to the feature

{
  "data": [
    {
      "feature": "messenger_api_calling",  
      "status": {ENABLED/DISABLED}
    }
  ]
}

Error Response

The following error can happen:

  • Permission error, when the page/app lacks permission to check the feature status.

For more details on these errors, visit here.