bsms
v1.0.0
Published
Lightweight NPM package for sending bulk sms for any bulk sms API online within JavaScript frontend and as well as backend, works as universal module
Downloads
3
Maintainers
Readme
BSMS
BSMS is a all-in-one class to build Bulk SMS query and send through any Bulk SMS web API online.
Advantages
- Works on both Backend and Frontend
- Lightweight (under 2 kb)
- Promise based (axios)
Install
npm i bsms
# or
yarn add bsms
Usages
Instance
Login/Register to your BulkSMS provider, collect API information to get started.
Server Side
const BSMS = require("bsms");
// Calling an intance of BSMS
const options = {
api: "API_URL", // Web API URL
username: "YOUR_USERNAME", // Username
password: "YOUR_PASSWORD" // Password,
apiKey: "API_KEY" // alternative of user and password
}
const SMS = new BSMS(options);
ES6 Module
import BSMS from "bsms";
// options
const options = {
api: "API_URL",
username: "YOUR_USERNAME",
password: "YOUR_PASSWORD"
}
const SMS = new BSMS(options);
Sending SMS
// assign number
SMS.number("RECIPIENT_NUMBER")
// assign message
SMS.message("Hello world")
// Send SMS
SMS.send()
.then((sent) => {
// sent
})
.catch((err) => {
// error
})
Configuration
Configuration structure
const options = {
api: "", // Web API Endpoint
username: "", // username
password: "", // password
apiKey: "",
// using apiKey will ignore username nd password
params: { // query parameters for server
username: "username",
// username will send as username
password: "password",
apiKey: "apiKey",
message: "message",
,
bulk: true // false will ignore bulk recipients
}
Advanced usages
- Supports nested methods
- Supports dynamic arguments as numbers
- Supports array as numbers
SMS
.number("number1", "number2", ...numbers) // dynamic arg
// .number(["number1", "number2", ...numbers]) // as array
// .number("number1") // as nesting
// .number("number2") // as nesting
// .number("number3") // as nesting
.message("Hello world")
.send() // auto assign POST method if numbers are more than 20, default: GET
// .get() // GET method
// .post() // POST method
.then((sent) => {
// sent
})
.catch((err) => {
// error
}).finally(() => {
// always executes
})
License
This project is open-source, free-forever with MIT license.
Contrubutions
Pull requests are welcome, but you are requested to open a ticket first to discuss in which part you want to contribute. You will find Github repository here.
Core development Jafran Hasan
Send bug reports to [email protected]