This guide shows how to send non-templated WhatsApp messages to WhatsApp recipients using our APIs. Follow these instructions.
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.
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.
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.plivo.api.models.media.Media;
class MessageCreate
{
public static void main(String [] args)
{
Plivo.init("<auth_id>","<auth_token>");
try
{
String[] media = {"https://sample-videos.com/img/Sample-png-image-1mb.png"};
MessageCreateResponse response = Message.creator("+14151112221","14151112222",
"Hello, this is a test message")
.type(MessageType.WHATSAPP)
.media_urls(media)
.url(new URL("https://<yourdomain>.com/sms_status/") )
.create();
System.out.println(response);
// Prints only the message_uuid
System.out.println(response.getMessageUuid());
}
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.
Pass media using a hosted media URL. For details about this param, refer to our documentation.
Save the file and run it.