This guide shows how to send non-templated interactive list 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 Java development environment.
Create a file called send_whatsapp.java
and paste into it this code.
import java.io.IOException;
import java.net.URL;
import java.util.Collections;
import com.plivo.api.Plivo;
import com.plivo.api.exceptions.PlivoRestException;
import com.plivo.api.models.message.Message;
import com.plivo.api.models.message.MessageCreateResponse;
import com.plivo.api.models.message.MessageType;
import com.fasterxml.jackson.databind.ObjectMapper;
class Test
{
public static void main(String [] args)
{
Plivo.init("<auth_id>","<auth_token>");
try
{
String interactiveJson = "{\"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\":\"Clickhere\"}],\"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\"}]}]}}";
MessageCreateResponse response = Message.creator("+14151112221","+14151112222").interactive_json_string(interactiveJson).type(MessageType.WHATSAPP).create();
ObjectMapper ow = new ObjectMapper();
String json_output = ow.writeValueAsString(response);
System.out.println(json_output);
}
catch (PlivoRestException | IOException e)
{
e.printStackTrace();
}
}
}
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.