This guide shows how to send non-templated interactive button messages to recipients using Plivo’s APIs. You can only send a non-templated WhatsApp message as a reply to a user-initiated conversation or as part of an existing ongoing conversation that started with a templated WhatsApp message.
To get started, you need a Plivo account — sign up with your work email address if you don’t have one already. If this is your first time using Plivo APIs, follow our instructions to set up a PHP development environment.
Create a file called send_whatsapp.php
and paste into it this code.
<?php
require '/usr/src/app/vendor/autoload.php';
use Plivo\RestClient;
$client = new RestClient(""<auth_id>"",""<auth_token>"");
$interactive = '{
""type"": ""button"",
""header"": {
""type"": ""media"",
""media"": ""https://media.geeksforgeeks.org/wp-content/uploads/20190712220639/ybearoutput-300x225.png""
},
""body"": {
""text"": ""Make your selection""
},
""action"": {
""buttons"": [
{
""title"": ""Click here"",
""id"": ""bt1j1k2j""
},
{
""title"": ""Know More"",
""id"": ""bt1j1k2jkjk""
},
{
""title"": ""Request Callback"",
""id"": ""bt1j1kfd2jkjk""
}
]
}
}';
$response = $client->messages->create([""src""=>""+14151112221"",""dst""=>""+14151112222"",""type""=>""whatsapp"",""interactive""=>$interactive]);
print_r($response);
?>
Replace the auth placeholders with your authentication credentials from the Plivo console. Replace the phone number placeholders with your phone numbers in E.164 format (for example, +12025551234). src should be a phone number registered to your WhatsApp Business Account. dst should be the recipient’s WhatsApp number.
Save the file and run it.