Java SMS Quickstart

Build a simple Java application that receives an SMS message and sends a reply.

👍

You're ready for this quickstart if you've got the following:

A free trial account
A registered application
A configured FreeClimb Number
Your tools and language installed:

Trial accounts: A verified number


Clone your quickstart

For this quickstart, clone the repository for Java Receive Message Tutorial using GitHub's interface or git in the command line.

git clone https://github.com/FreeClimbAPI/Java-Receive-Message-Tutorial.git

Configure your environment variables

Now that you've cloned the repo for your sample app, the next step is to configure your environment variables with To and From numbers, and your API credentials.

The To number should be a verified number, and the From number should be your configured FreeClimb number.

You can copy your API credentials from your dashboard homepage.

1114

Your API credentials can be copied from your dashboard homepage.

Set these all as environment variables according to your operating system.

ACCOUNT_ID="YOUR-ACCOUNT-TOKEN"
API_KEY="YOUR-API-KEY"
TO_PHONE_NUMBER="+15555555555"
FREECLIMB_PHONE_NUMBER="+15555550010"

Make your local server publicly accessible

The fastest way to start testing your FreeClimb application is to temporarily make your local server publicly accessible through a tunneling service. We'll use ngrok to do this. Start by downloading ngrok. Unzip the file to install, then open your terminal and navigate to the directory where you've unzipped ngrok. Use the following command to start a HTTP tunnel on port 0080.

./ngrok http 0080

Once you run ngrok you should receive a response with a public URL, that looks something like this:

ngrok by @inconshreveable

Tunnel Status                 online
Version                       2.0/2.0
Web Interface                 http://127.0.0.1:4040
Forwarding                    http://92832de0.ngrok.io -> localhost:0080
Forwarding                    https://92832de0.ngrok.io -> localhost:0080

Connnections                  ttl     opn     rt1     rt5     p50     p90
                              0       0       0.00    0.00    0.00    0.00

The Forwarding URLs point to your local server. Save the URLs and go on to the next step.


Configure your application's endpoints

Now that you've got a public URL you're ready to configure your application's endpoints. We'll be configuring the smsUrl using your ngrok URL and the route reference /InboundSms.

Go to the Apps page in your dashboard. You should see your registered FreeClimb app..

1740

Your Apps page with your registered app.

Open its App Config, and you'll see its application ID, alias, and some options for URL configuration. Enter your ngrok URL into the smsUrl field, and add the route /InboundSms at the end of the URL.

https://YOUR-URL.ngrok.io/InboundSms

When you're done the App Config should look something like this:

1380

Example of a completed App Config.

Save your updated App Config.


Run your app

Once you've updated your App Config you're all ready to run your app! Run the quickstart application with the command:

gradle build && java -Dserver.port=0080 -jar build/libs/gs-spring-boot-0.1.0.jar

Once the app is running, use your verified number to send a message to your configured FreeClimb number. If everything is set up right you should receive the message, "Hello from the FreeClimb API!"

Congratulations! You've just made your first messaging application!


Next steps

For a more detailed explanation of the code used, see our Receive a Message tutorial.