Sending an SMS

To send an SMS, replace the following variables in the example below:

Key Description
TO_NUMBER The number you are sending the SMS to in E.164 format. For example 447700900000.
NEXMO_API_KEY You can find this in your account overview
NEXMO_API_SECRET You can find this in your account overview

Write the code

Add the following to send-sms.sh:

Copy to Clipboard
curl -X "POST" "https://rest.nexmo.com/sms/json" \
  -d "from=AcmeInc" \
  -d "text=A text message sent using the Nexmo SMS API" \
  -d "to=$TO_NUMBER" \
  -d "api_key=$NEXMO_API_KEY" \
  -d "api_secret=$NEXMO_API_SECRET"

View full source

Run your code

Save this file to your machine and run it:

$ sh send-sms.sh

Prerequisites

Install dependencies

$ npm install nexmo
Initialize your dependencies

Create a file named send.js and add the following code:

Copy to Clipboard
const Nexmo = require('nexmo')

const nexmo = new Nexmo({
  apiKey: NEXMO_API_KEY,
  apiSecret: NEXMO_API_SECRET
})

View full source

Write the code

Add the following to send.js:

Copy to Clipboard
const from = 'Acme Inc'
const to = TO_NUMBER
const text = 'A text message sent using the Nexmo SMS API'

nexmo.message.sendSms(from, to, text)

View full source

Run your code

Save this file to your machine and run it:

$ node send.js

Prerequisites

Install dependencies

Add the following to build.gradle:

compile 'com.nexmo:client:4.0.0'
Initialize your dependencies

Create a class named SendMessage and add the following code to the main method:

Copy to Clipboard
NexmoClient client = new NexmoClient.Builder().apiKey(NEXMO_API_KEY).apiSecret(NEXMO_API_SECRET).build();

View full source

Write the code

Add the following to the main method of the SendMessage class:

Copy to Clipboard
TextMessage message = new TextMessage("Acme Inc", TO_NUMBER, "A text message sent using the Nexmo SMS API");

SmsSubmissionResponse response = client.getSmsClient().submitMessage(message);

for (SmsSubmissionResponseMessage responseMessage : response.getMessages()) {
    System.out.println(responseMessage);
}

View full source

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.nexmo.quickstart.sms with the package containing SendMessage:

gradle run -Pmain=com.nexmo.quickstart.sms.SendMessage

Prerequisites

Install dependencies

$ Install-Package Nexmo.Csharp.Client
Initialize your dependencies

Create a file named SMSController.cs and add the following code:

Copy to Clipboard
var client = new Client(creds: new Nexmo.Api.Request.Credentials
{
    ApiKey = "NEXMO_API_KEY",
    ApiSecret = "NEXMO_API_SECRET"
});

View full source

Write the code

Add the following to SMSController.cs:

Copy to Clipboard
var results = Client.SMS.Send(request: new SMS.SMSRequest
{
    from = "Acme Inc",
    to = TO_NUMBER,
    text = "A test SMS sent using the Nexmo SMS API"
});

View full source

Run your code

Save this file to your machine and run it:

$ Run using your IDE

Prerequisites

Install dependencies

$ composer require nexmo/client
Initialize your dependencies

Create a file named send-sms.php and add the following code:

Copy to Clipboard
$basic  = new \Nexmo\Client\Credentials\Basic(NEXMO_API_KEY, NEXMO_API_SECRET);
$client = new \Nexmo\Client($basic);

View full source

Write the code

Add the following to send-sms.php:

Copy to Clipboard
$message = $client->message()->send([
    'to' => TO_NUMBER,
    'from' => 'Acme Inc',
    'text' => 'A text message sent using the Nexmo SMS API'
]);

View full source

Run your code

Save this file to your machine and run it:

$ php send-sms.php

Prerequisites

Install dependencies

$ pip install nexmo
Initialize your dependencies

Create a file named send-an-sms.py and add the following code:

Copy to Clipboard
import nexmo

client = nexmo.Client(key=NEXMO_API_KEY, secret=NEXMO_API_SECRET)

View full source

Write the code

Add the following to send-an-sms.py:

Copy to Clipboard
client.send_message({
    'from': 'Acme Inc',
    'to': TO_NUMBER,
    'text': 'A text message sent using the Nexmo SMS API',
})

View full source

Run your code

Save this file to your machine and run it:

$ python send-an-sms.py

Prerequisites

Install dependencies

$ gem install nexmo
Initialize your dependencies

Create a file named send.rb and add the following code:

Copy to Clipboard
require 'nexmo'

client = Nexmo::Client.new(
  api_key: NEXMO_API_KEY,
  api_secret: NEXMO_API_SECRET
)

View full source

Write the code

Add the following to send.rb:

Copy to Clipboard
client.sms.send(
  from: 'Acme Inc',
  to: RECIPIENT_NUMBER,
  text: 'A text message sent using the Nexmo SMS API'
)

View full source

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.

Further reading