Send a Facebook message

You can then use the Messages API to respond to the inbound message received from the Facebook User.

Replace the following variables in the example below with actual values:

Key Description
FB_SENDER_ID Your Page ID. The FB_SENDER_ID is the same as the to.id value you received in the inbound messenger event on your Inbound Message Webhook URL.
FB_RECIPIENT_ID The PSID of the user you want to reply to. The FB_RECIPIENT_ID is the PSID of the Facebook User you are messaging. This value is the from.id value you received in the inbound messenger event on your Inbound Message Webhook URL.

Example

Write the code

Add the following to send-text.sh:

Copy to Clipboard
curl -X POST $MESSAGES_API_URL \
  -H 'Authorization: Bearer '$JWT\
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -d $'{
    "from": { "type": "messenger", "id": "'$FB_SENDER_ID'" },
    "to": { "type": "messenger", "id": "'$FB_RECIPIENT_ID'" },
    "message": {
      "content": {
        "type": "text",
        "text": "This is a Facebook Messenger Message sent from the Messages API"
      }
    }
  }'

View full source

Run your code

Save this file to your machine and run it:

bash send-text.sh

Prerequisites

npm install @vonage/server-sdk@beta

Write the code

Add the following to send-text.js:

Copy to Clipboard
const Vonage = require('@vonage/server-sdk');

const vonage = new Vonage(
    {
        apiKey: VONAGE_API_KEY,
        apiSecret: VONAGE_API_SECRET,
        applicationId: VONAGE_APPLICATION_ID,
        privateKey: VONAGE_APPLICATION_PRIVATE_KEY_PATH,
    },
    {
        apiHost: BASE_URL,
    }
);

vonage.channel.send(
    { type: 'messenger', id: FB_RECIPIENT_ID },
    { type: 'messenger', id: FB_SENDER_ID },
    {
        content: {
            type: 'text',
            text:
                'This is a Facebook Messenger text message sent using the Messages API',
        },
    },
    (err, data) => {
        if (err) {
            console.error(err);
        } else {
            console.log(data.message_uuid);
        }
    }
);

View full source

Run your code

Save this file to your machine and run it:

node send-text.js

TIP: If testing using Curl you will need a JWT. You can see how to create one in the documentation on creating a JWT.


Sending a Facebook Messenger message

The Messages API provides the ability to send messages to various channels, including Facebook Messenger, SMS, WhatsApp and Viber. This task looks at using the Messages API to send a Facebook Messenger message.



Steps