Nexmo Grails Plugin
Download .zip Download .tar.gz View on GitHub
This plugin gives any Grails application the ability to send SMS messages and outgoing phone calls with text-to-speech using Nexmo's API.
Installation
You can add this plugin to your application by adding the following to your BuildConfig.groovy file
:
plugins {
compile ":nexmo:1.0" // Add this line
}
Methods
sendSms(String to, String text, String from)
This method allows you to send an SMS message to a mobile number.
- Parameters
- to - The mobile number in international format
- text - Body of the text message (with a maximum length of 3200 characters)
- from (optional) - The number to send from, defaults to the
default_from
number inNexmoConfig.groovy
.
- Returns
- status - The status code of the message
- id - The ID of the message
call(String to, String text, String from)
This method uses text-to-speech to call your recipient and deliver a message.
- Parameters
- to - The phone number to send the call to, in International Format
- text - The message to deliver during the call
- from (optional) - The number to send the call from. Must be a voice enabled inbound number associated with your account
- Returns
- status - The status code of the message
- id - The ID of the message
Usage
Set the configuration in your Config.groovy
file, as shown below:
nexmo {
api {
key = "abcde123" // Your Nexmo API Key
secret = "fghij456" // Your Nexmo API Secret
}
sms {
default_from = "15005551234" // Your default from telephone number for SMS
}
}
You can then proceed to use the plugin in a Grails controller or service by injecting the NexmoService bean, and calling the sendSms
method.
Example
class ExampleController {
// Inject the service
def nexmoService
def index() {
def smsResult
def callResult
try {
// Send the message "What's up?" to 1-500-123-4567
smsResult = nexmoService.sendSms("15001234567", "What's up?")
// Call the number and tell them a message
callResult = nexmoService.call("15001234567", "Have a great day! Goodbye.")
catch (NexmoException e) {
// Handle error if failure
}
}
}
Here is an example response:
// SMS
[ status: "0", id: "00000125" ]
// Call
[ status: "0", id: "14b75f2246e7c1a17d345449a20d93e5" ]