This guide shows how to send non-templated location 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 locationJson = "{\"longitude\":\"122.148981\",\"latitude\":\"37.483307\",\"name\":\"PabloMorales\",\"address\":\"1HackerWay,MenloPark,CA94025\"}";
MessageCreateResponse response = Message.creator("+14151112221","+14151112222").location_json_string(locationJson).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.