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 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\"":\""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\""}]}}"";
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.