This guide shows how to send non-templated interactive Call-to-Action URL 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\":\"cta_url\",\"header\":{\"type\":\"media\",\"media\":\"https://media.geeksforgeeks.org/wp-content/uploads/20190712220639/ybearoutput-300x225.png\"},\"body\":{\"text\":\"Know More\"},\"footer\":{\"text\":\"Plivo\"},\"action\":{\"buttons\":[{\"title\":\"Click here\",\"cta_url\":\"https://plivo.com\"}]}}";
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.