Send an SMS message
Sending an SMS message with the Messages API can be done with one API call, authenticated using a JWT.
In the example code below you will need to replace the following variables with actual values:
| Key | Description |
|---|---|
FROM_NUMBER | The phone number you are sending the message from. |
TO_NUMBER | The phone number you are sending the message to. |
NOTE: Don't use a leading + or 00 when entering a phone number, start with the country code, for example 447700900000.
Example
Write the code
Add the following to send-sms.sh:
curl -X POST https://api.nexmo.com/v1/messages \
-H "Authorization: Bearer "$JWT\
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d $'{
"to": "'${MESSAGES_TO_NUMBER}'",
"from": "'${SMS_SENDER_ID}'",
"channel": "sms",
"message_type": "text",
"text": "This is an SMS sent using the Vonage Messages API."
}'
Run your code
Save this file to your machine and run it:
Prerequisites
npm install @vonage/server-sdk @vonage/messagesCreate a file named send-sms.js and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
Add the following to build.gradle:
Create a class named SendSmsText and add the following code to the main method:
val client = Vonage {
applicationId(VONAGE_APPLICATION_ID)
privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
}Write the code
Add the following to the main method of the SendSmsText class:
val messageId = client.messages.send(
smsText {
to(MESSAGES_TO_NUMBER)
from(SMS_SENDER_ID)
text("This is an SMS text message sent using the Messages API")
}
)Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.kt.messages.sms with the package containing SendSmsText:
Prerequisites
Add the following to build.gradle:
Create a class named SendSmsText and add the following code to the main method:
VonageClient client = VonageClient.builder()
.applicationId(VONAGE_APPLICATION_ID)
.privateKeyPath(VONAGE_PRIVATE_KEY_PATH)
.build();Write the code
Add the following to the main method of the SendSmsText class:
var response = client.getMessagesClient().sendMessage(
SmsTextRequest.builder()
.from(SMS_SENDER_ID).to(MESSAGES_TO_NUMBER)
.text("This is an SMS text message sent using the Messages API")
.build()
);
System.out.println("Message sent successfully. ID: " + response.getMessageUuid());Run your code
We can use the application plugin for Gradle to simplify the running of our application. Update your build.gradle with the following:
Run the following gradle command to execute your application, replacing com.vonage.quickstart.messages.sms with the package containing SendSmsText:
Prerequisites
Install-Package VonageWrite the code
Add the following to SendSms.cs:
var credentials = Credentials.FromAppIdAndPrivateKeyPath(VONAGE_APP_ID, VONAGE_PRIVATE_KEY_PATH);
var vonageClient = new VonageClient(credentials);
var request = new Vonage.Messages.Sms.SmsRequest
{
To = MESSAGES_TO_NUMBER,
From = SMS_SENDER_ID,
Text = "An SMS sent using the Vonage Messages API"
};
var response = await vonageClient.MessagesClient.SendAsync(request);Prerequisites
composer require vonage/clientCreate a file named send-sms.php and add the following code:
Run your code
Save this file to your machine and run it:
Prerequisites
pip install vonage python-dotenvRun your code
Save this file to your machine and run it:
Prerequisites
gem install vonageCreate a file named send-sms.rb and add the following code:
Run your code
Save this file to your machine and run it:
This will send an SMS message to the destination number you specified.
TIP: If testing using Curl you will need a JWT. You can see how to create one in the documentation on creating a JWT.
Sending an SMS message
The Messages API provides the ability to send messages to various channels, including Facebook Messenger, SMS, WhatsApp and Viber. This task looks at using the Messages API to send an SMS message.