JavaScript client which allows you to send SMS messages and manage your account in SMSAPI.com
Switch branches/tags
Clone or download
Pull request Compare This branch is 19 commits ahead, 35 commits behind smsapi:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
lib
test
.editorconfig
.gitignore
CHANGELOG.md
LICENSE
README.md
THANKS.md
index.js
package.json
yarn.lock

README.md

SMSAPI.com JavaScript (node.js) Client

npm version

JavaScript client for sending SMS and account management on SMSAPI.com

Installation (node.js)

$ npm install smsapicom --save

Example

var SMSAPI = require('smsapicom'),
    smsapi = new SMSAPI();

smsapi.authentication
    .login('username', 'password')
    .then(sendMessage)
    .then(displayResult)
    .catch(displayError);

function sendMessage(){
    return smsapi.message
        .sms()
        .from('Info')
        .to('+48605xxxxxx')
        .message('My first message!')
        .execute(); // return Promise
}

function displayResult(result){
    console.log(result);
}

function displayError(err){
    console.error(err);
}

Example (backup server)

var SMSAPI = require('smsapi'),
    smsapi = new SMSAPI({
    	server: 'https://api2.smsapi.com/'
    });

smsapi.authentication
    .login('username', 'password')
    .then(sendMessage)
    .then(displayResult)
    .catch(displayError);

function sendMessage(){
    return smsapi.message
        .sms()
        .from('Info')
        .to('605xxxxxx')
        .message('My first message!')
        .execute(); // return Promise
}

function displayResult(result){
    console.log(result);
}

function displayError(err){
    console.error(err);
}

Authentication

Library supports plain text password and md5 hash as a method of authentication. By default Basic auth is used.

Plain text example

var promise = smsapi.authentication
    .login('username', 'password');

md5 hash example

var promise = smsapi.authentication
    .loginHashed('username', '5f4dcc3b5aa765d61d8327deb882cf99');

OAuth

To use OAuth add parameter while SMSAPI object creation:

  • oauth.accessToken
var SMSAPI = require('smsapi'),
    smsapi = new SMSAPI({
        oauth: {
            accessToken: 'your-access-token'
        }
    });

sendMessage()
    .then(displayResult)
    .catch(displayError);

function sendMessage(){
    return smsapi.message
        .sms()
        .from('Info')
        .to('605xxxxxx')
        .message('My first message!')
        .execute(); // return Promise
}

function displayResult(result){
    console.log(result);
}

function displayError(err){
    console.error(err);
}

Token can be generated in SMSAPI panel, under address: https://ssl.smsapi.com/webapp#/oauth/manage

Documentation

REST API documentation: http://www.smsapi.com/rest.

Requests are returning Promises/A+. Used implementation: https://github.com/tildeio/rsvp.js

List of available operations

  • message
    • sms
  • points
    • get
  • sender
    • add
    • delete
    • status
    • default
    • list
  • hlr
    • check
  • user
    • add
    • delete
    • update
    • get
    • list
  • contacts
    • list
    • add
    • get
    • update
    • delete
    • fields
      • list
      • add
      • update
      • delete
    • groups
      • list
      • add
      • get
      • update
      • delete
      • assignments
        • list
        • add
        • get
        • delete
      • permissions
        • list
        • add
        • get
        • update
        • delete
      • members
        • add
        • get
        • delete

Examples

Additional examples can be found in test folder (./test).

Testing

$ npm install mocha -g
$ npm install .
$ npm test

License

Apache 2.0 License