This guide shows how to send non-templated interactive list messages 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": "list",
"header": {
"type": "text",
"text": "Welcome to Plivo"
},
"body": {
"text": "You can review the list of rewards we offer"
},
"footer": {
"text": "Yours Truly"
},
"action": {
"buttons": [{
"title": "Click here"
}],
"sections": [
{
"title": "SECTION_1_TITLE",
"rows": [
{
"id": "SECTION_1_ROW_1_ID",
"title": "SECTION_1_ROW_1_TITLE",
"description": "SECTION_1_ROW_1_DESCRIPTION"
},
{
"id": "SECTION_1_ROW_2_ID",
"title": "SECTION_1_ROW_2_TITLE",
"description": "SECTION_1_ROW_2_DESCRIPTION"
}
]
},
{
"title": "SECTION_2_TITLE",
"rows": [
{
"id": "SECTION_2_ROW_1_ID",
"title": "SECTION_2_ROW_1_TITLE",
"description": "SECTION_2_ROW_1_DESCRIPTION"
},
{
"id": "SECTION_2_ROW_2_ID",
"title": "SECTION_2_ROW_2_TITLE",
"description": "SECTION_2_ROW_2_DESCRIPTION"
}
]
}
]
}
}';
$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.