Send a Facebook message with failover
Sending a Facebook message with failover to another channel is achieved by making a single request to the Dispatch API endpoint.
In this example you will implement the following workflow:
- Send a Facebook Messenger message to the user using the Messages API.
- If the Facebook Messenger message is not read after 600 seconds then the workflow will failover to the following step.
- Send an SMS to the user using the Messages API. The
FROM_NUMBERis the number you are sending a message from.TO_NUMBERis the recipient's phone number.
| Key | Description |
|---|---|
FROM_NUMBER | The phone number you are sending the message from. Don't use a leading + or 00 when entering a phone number, start with the country code, for example, 447700900000. |
TO_NUMBER | The recipient's phone number. Don't use a leading + or 00 when entering a phone number, start with the country code, for example, 447700900000. |
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-message-with-failover.sh:
curl -X POST https://api.nexmo.com/v0.1/dispatch \
-H 'Authorization: Bearer '$JWT\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"template":"failover",
"workflow": [
{
"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 via the Dispatch API"
}
},
"failover":{
"expiry_time": 600,
"condition_status": "read"
}
},
{
"from": {"type": "sms", "number": '$FROM_NUMBER'},
"to": { "type": "sms", "number": '$TO_NUMBER'},
"message": {
"content": {
"type": "text",
"text": "This is an SMS sent via the Dispatch API"
}
}
}
]
}'Run your code
Save this file to your machine and run it:
bash send-message-with-failover.sh
Sending a Facebook message with failover
The Dispatch API provides the ability to create message workflows with failover to secondary channels. This task looks at using the Dispatch API to send a Facebook message with failover to the SMS channel.
手順
1
Introduction to this task2
Prerequisites3
Link your Facebook Page to your Vonage account4
Send a Facebook message with failover5
What's next?