client-sms-node
TypeScript icon, indicating that this package has built-in type declarations

1.1.0 • Public • Published

Sms Delivery Microservice Client SDK for Node.js / ES2017

This is a Node.js client SDK for service-sms microservice. It provides an easy to use abstraction over communication protocols:

  • HTTP client
  • Seneca client (see http://www.senecajs.org)
  • Direct client for monolythic deployments
  • Null client to be used in testing

In addition to the microservice functionality the client SDK supports message templates that can be configured by client user.

Quick Links:

Install

Add dependency to the client SDK into package.json file of your project

{
    ...
    "dependencies": {
        ....
        "client-sms-node": "^1.0.*",
        ...
    }
}

Then install the dependency using npm tool

# Install new dependencies
npm install

# Update already installed dependencies
npm update

Use

Inside your code get the reference to the client SDK

var sdk = new require('client-sms-node');

Define client configuration parameters.

// Client configuration
var config = {
    parameters: {
        server_url: 'http://localhost:3000',
        client_url: 'http://localhost:8000',
        client_name: 'PipServices Sample',
        welcome_message: 'Congratulations with your signup in <%= clientName %>!',
        signature: 'Sincerely, <%= clientName %> Team'
    },
    connection: {
        protocol: 'http',
        host: 'localhost', 
        port: 8080
    }
};

Instantiate the client and open connection to the microservice

// Create the client instance
let client = sdk.SmsHttpClient(config);

// Connect to the microservice
try {
    await client.open(null);
    // Work with the microservice
    ...
}
catch (err) {
    console.error('Connection to the microservice failed');
    console.error(err);
}

Now the client is ready to perform operations

// Send sms message to address
await client.sendMessage(
    null,
    { 
        to: '+12343455633',
        text: 'This is a test message. Please, ignore it'
    },
    null
);
// Send sms message to users
await client.sendMessageToRecipients(
    null,
    [
        { id: '123', phone: '+12343455633' },
        { id: '321', phone: '+12343434633' }
    ],
    { 
        text: 'This is a test message. Please, ignore it'
    },
    null
);

Now you can send a message using the handlebars templates. Client will automatically load their content and parse.

// Send sms message to address using template
await client.sendMessage(
    null,
    { 
        to: 'somebody@somewhere.com',
        text: 'Today is {{ today }}'
    },
    {
        today: new Date.toISOString()
    }
);

Acknowledgements

This client SDK was created and currently maintained by Sergey Seroukhov.

Package Sidebar

Install

npm i client-sms-node

Weekly Downloads

8

Version

1.1.0

License

MIT

Unpacked Size

105 kB

Total Files

99

Last publish

Collaborators

  • pipdeveloper