You can sign up with Plivo and start with a free trial account to experiment with and learn about our services. This free trial account comes with free credits. If you wish to continue with our service, you can add more credits and buy a number by clicking here. Add a number and credits to your account to test the full range of our voice and SMS service features.
Sign up here to get your free Plivo account today.
Follow these steps to sign up for a free trial account:
If you have any issues creating a Plivo account, please reach out to our Support Team for assistance.
You must set up and install Java(Java 1.8 or higher) and Plivo’s Java SDK to send your first SMS. Here’s how.
Operating System | Instructions |
---|---|
OS X & Linux | You would already have Java installed, you can check this by running the command java -version in the terminal. If you do not have it installed, you can install it from here. |
Windows | To install Java on Windows you can follow the instructions from here. |
pom.xml
<dependency>
<groupId>com.plivo</groupId>
<artifactId>plivo-java</artifactId>
<version>4.7.1</version>
</dependency>
This section will guide you through how to use Plivo APIs to Send SMS from your application. First, let’s make sure you meet these prerequisites before we dive into the code.
Now, create a Java class in the project called SendSMS
and paste the below code.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.IOException;
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;
class SendSMS
{
public static void main(String [] args) throws IOException, PlivoRestException {
Plivo.init("auth_id","auth_token");
MessageCreateResponse response = Message.creator("plivo_src_number",
Collections.singletonList("the_destination_number"),
"Hello, this is test message")
.create();
System.out.println(response);
}
}
Save the file and run it.
In this section, we’ll walk you through how to set up a Spark Webapp in under five minutes and start handling incoming messages & callbacks.
Plivo supports receiving SMS text messages in 9 countries (see complete SMS API coverage). When an SMS is sent to a Plivo phone number, you can receive the text on your server by setting a Message URL in your Plivo app. Plivo will send the message along with other parameters to your Message URL.
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.21</version>
</dependency>
Create a Java class named ReceiveSMS and paste the following code.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import static spark.Spark.*;
public class ReceiveSms {
public static void main(String[] args) {
get("/receive_sms", (request, response) -> {
// Sender's phone number
String from_number = request.queryParams("From");
// Receiver's phone number - Plivo number
String to_number = request.queryParams("To");
// The text which was received
String text = request.queryParams("Text");
// Print the message
System.out.println(from_number + " " + to_number + " " + text);
return "Message Received";
});
}
}
Run the project and you should see your basic server app in action on http://localhost:4567/receive_sms
To receive Incoming Messages and to handle callbacks, your local server should be able to connect with Plivo API service, Ngrok is a tunneling software used to expose a web server running on your local machine to the internet. Using Ngrok you can set webhooks which can talk to Plivo server.
You can download and install ngrok from here. Follow the detailed configuration instructions to get started.
Run ngrok on the port which currently hosts your application. For example, if your port number is 80, run the following command:
./ngrok http <port_on_which_your_local_server_is_running>
This will give you a UI with links that look like ngrok.io/*
which you can use to access your local server using the public network.
New Application
. You can also use Plivo’s Application API.Receive SMS
. Enter your server URL (e.g. http://example.com/receive_sms/
) in the Message URL
field and set the method as POST
. See our Application API docs to learn how to modify your application through our APIs.Create
to save your application.Receive SMS
(name of the app) from the Plivo App dropdown list.Update
to save.Send an SMS to your Plivo number using a regular mobile phone. Plivo will send a request to your Message URL
with the parameters listed in the XML Request - Messages Documentation.
When an SMS is sent to an Plivo phone number, you can receive the text on your server by setting a Message URL in your Plivo app. Plivo will send the message along with other parameters to your Message URL. You can reply back using the Plivo Message XML.
Create a Java class named ReplytoInbound and paste the following code.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import com.plivo.api.xml.Message;
import com.plivo.api.xml.Response;
import static spark.Spark.*;
class ReplytoInbound {
public static void main(String[] args) {
post("/reply_to_inbound/", (request, response) -> {
response.type("application/xml");
Response resp = new Response()
.children(
new Message("+12023222222", "+15671234567", "Hi, message from Plivo.")
.callbackMethod("POST")
.callbackUrl("http://foo.com/sms status/")
.type("sms")
);
return resp.toXmlString();
});
}
}
Send an SMS to your Plivo number using a regular mobile phone and an automatic response will be sent from your Plivo number to your mobile phone. Also, Plivo will send a request to your Message URL
with the parameters listed in the XML Request - Messages Documentation.