Sending an SMS
To send an SMS, replace the following variables in the example below:
Key | Description |
---|---|
VONAGE_API_KEY |
Your Vonage API key (see it on your dashboard). |
VONAGE_API_SECRET |
Your Vonage API secret (also available on your dashboard). |
VONAGE_BRAND_NAME |
The alphanumeric string that represents the name or number of the organization sending the message. |
TO_NUMBER |
The phone number you are sending the message to. |
Write the code
Add the following to send-sms.sh
:
curl -X "POST" "https://rest.nexmo.com/sms/json" \
-d "from=$VONAGE_BRAND_NAME" \
-d "text=A text message sent using the Vonage SMS API" \
-d "to=$TO_NUMBER" \
-d "api_key=$VONAGE_API_KEY" \
-d "api_secret=$VONAGE_API_SECRET"
Run your code
Save this file to your machine and run it:
sh send-sms.sh
Prerequisites
npm install @vonage/server-sdk
Create a file named send.js
and add the following code:
const Vonage = require('@vonage/server-sdk')
const vonage = new Vonage({
apiKey: VONAGE_API_KEY,
apiSecret: VONAGE_API_SECRET
})
Write the code
Add the following to send.js
:
const from = VONAGE_BRAND_NAME
const to = TO_NUMBER
const text = 'A text message sent using the Vonage SMS API'
vonage.message.sendSms(from, to, text, (err, responseData) => {
if (err) {
console.log(err);
} else {
if(responseData.messages[0]['status'] === "0") {
console.log("Message sent successfully.");
} else {
console.log(`Message failed with error: ${responseData.messages[0]['error-text']}`);
}
}
})
Run your code
Save this file to your machine and run it:
node send.js
Prerequisites
Add the following to `build.gradle`:
compile 'com.vonage:client:5.5.0'
Create a class named SendMessage
and add the following code to the main
method:
VonageClient client = VonageClient.builder().apiKey(VONAGE_API_KEY).apiSecret(VONAGE_API_SECRET).build();
Write the code
Add the following to the main
method of the SendMessage
class:
TextMessage message = new TextMessage(VONAGE_BRAND_NAME,
TO_NUMBER,
"A text message sent using the Vonage SMS API"
);
SmsSubmissionResponse response = client.getSmsClient().submitMessage(message);
if (response.getMessages().get(0).getStatus() == MessageStatus.OK) {
System.out.println("Message sent successfully.");
} else {
System.out.println("Message failed with error: " + response.getMessages().get(0).getErrorText());
}
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:
apply plugin: 'application'
mainClassName = project.hasProperty('main') ? project.getProperty('main') : ''
Run the following gradle
command to execute your application, replacing com.vonage.quickstart.sms
with the package containing SendMessage
:
gradle run -Pmain=com.vonage.quickstart.sms.SendMessage
Prerequisites
Install-Package Vonage
Create a file named SendSms.cs
and add the following code:
using Vonage;
using Vonage.Request;
Add the following to SendSms.cs
:
var credentials = Credentials.FromApiKeyAndSecret(
VONAGE_API_KEY,
VONAGE_API_SECRET
);
var VonageClient = new VonageClient(credentials);
Write the code
Add the following to SendSms.cs
:
var response = VonageClient.SmsClient.SendAnSms(new Vonage.Messaging.SendSmsRequest()
{
To = TO_NUMBER,
From = VONAGE_BRAND_NAME,
Text = "A text message sent using the Vonage SMS API"
});
Prerequisites
composer require vonage/client
Create a file named send-sms.php
and add the following code:
$basic = new \Vonage\Client\Credentials\Basic(VONAGE_API_KEY, VONAGE_API_SECRET);
$client = new \Vonage\Client($basic);
Write the code
Add the following to send-sms.php
:
$response = $client->sms()->send(
new \Vonage\SMS\Message\SMS(TO_NUMBER, BRAND_NAME, 'A text message sent using the Nexmo SMS API')
);
$message = $response->current();
if ($message->getStatus() == 0) {
echo "The message was sent successfully\n";
} else {
echo "The message failed with status: " . $message->getStatus() . "\n";
}
Run your code
Save this file to your machine and run it:
php send-sms.php
Prerequisites
pip install vonage
Create a file named send-an-sms.py
and add the following code:
client = vonage.Client(key=VONAGE_API_KEY, secret=VONAGE_API_SECRET)
sms = vonage.Sms(client)
Write the code
Add the following to send-an-sms.py
:
responseData = sms.send_message(
{
"from": VONAGE_BRAND_NAME,
"to": TO_NUMBER,
"text": "A text message sent using the Nexmo SMS API",
}
)
if responseData["messages"][0]["status"] == "0":
print("Message sent successfully.")
else:
print(f"Message failed with error: {responseData['messages'][0]['error-text']}")
Run your code
Save this file to your machine and run it:
python send-an-sms.py
Prerequisites
gem install vonage
Create a file named send.rb
and add the following code:
client = Vonage::Client.new(
api_key: VONAGE_API_KEY,
api_secret: VONAGE_API_SECRET
)
Write the code
Add the following to send.rb
:
client.sms.send(
from: VONAGE_BRAND_NAME,
to: TO_NUMBER,
text: 'A text message sent using the Vonage SMS API'
)
Run your code
Save this file to your machine and run it:
ruby send.rb
Try it out
When you run the example above, the text message will be sent to the mobile number that you specified.