flowroute-sms v1.1.1
flowroute-sms
Send SMS messages using Flowroute's v2 Messaging API.
Features
- Allows sending SMS messages with Flowroute and Nodejs
- Super-lightweight compared to scaffolded Flowroute SDK for Nodejs
- Supported as standard installable npm module
- Methods return ES6 Promises
Installation
npm install flowroute-smsConfiguration
There are two ways to configure the client: environment variables, or passing credentials when the client is instantiated. The values for access key and secret key can be found in the Flowroute Manager.
Environment Variables
FLOWROUTE_KEY- your Flowroute Access KeyFLOWROUTE_SECRET- your Flowroute Secret Key
If these environment variables are set, the client can be instantiated without specifying any values (see following section).
Create client
var FlowrouteSMS = require('flowroute-sms');
var client = new FlowrouteSMS(accessKey,secretKey);The new keyword is optional. So, this could be shortened as:
var SMS = require('flowroute-sms')(accessKey,secretKey);Send message
var from = '18185551234';
var to = '12135559090';
client.send(to, from, 'Hello World!')
.then(function(result){
console.log('Sent message',result.id);
});Note that send (and other methods) return an ES6 Promise.
Lookup message
Fetch information for a single message ID.
client.lookup('mdr1-a6abeaedcafe4bd79841c5477b65fcba')
.then(function(result){
console.log(result);
});If successful, this will return an object:
{
"attributes": {
"body": "The eagle has landed.",
"direction": "outbound",
"timestamp": "2016-06-04T07:14:00.538022+00:00",
"amount_nanodollars": 4000000,
"from": "18185551234",
"message_encoding": 0,
"has_mms": false,
"to": "12135559999",
"amount_display": "$0.0040",
"callback_url": null,
"message_type": "long-code"
},
"type": "message",
"id": "mdr1-a6abeaedcafe4bd79841c5477b65fcba"
}Search range of messages
var start = '2016-06-03';
var end = new Date();
var limit = 10;
var offset = 0;
client.search(start,end,limit,offset)
.then(function(results){
console.log(results);
});If successful, this method will return an array of message objects in the
format returned by the lookup method.
Notes: As per
the documentation,
start and end parameters can be strings in the following formats: YYYY-MM-DD,
an ISO8601-style date like YYYY-MM-DDTHH:mm:ss.SSZ, or a Javascript Date object.
limit is optional and defaults to 250. offset is optional and defaults to zero.
To Dos
- Remove
requestdependency (could be implemented with native nodejs libraries)