@rusoft/dialog-esms
v1.0.3
Published
Dialog eSMS API SDK for Node.js and React Native
Maintainers
Readme
@rusoft/dialog-esms
Dialog eSMS API SDK for Node.js and React Native.
Provides a simple wrapper for authentication, sending SMS, checking campaign status, and balance queries.
Installation
npm install @rusoft/dialog-esms
Usage
import DialogESMS from '@rusoft/dialog-esms';
const client = new DialogESMS({
username: "YOUR_USERNAME",
password: "YOUR_PASSWORD"
});
async function run() {
// Authenticate
const auth = await client.login();
console.log("Logged in:", auth.status);
// Send SMS
const smsRes = await client.sendSMS({
msisdn: [{ mobile: "9477xxxxxxx" }],
sourceAddress: "YOURMASK",
message: "Hello from Dialog eSMS API",
transaction_id: 1001,
payment_method: 0,
push_notification_url: "https://your-server.com/dlr"
});
console.log("SMS response:", smsRes);
// Check campaign
const status = await client.checkCampaign(1001);
console.log("Campaign status:", status);
// Balance check (URL flow)
const balance = await client.checkBalance("YOUR_ESMSQK");
console.log("Balance:", balance);
}
run();
API
new DialogESMS({ baseUrl, username, password })
baseUrl (optional): defaults to https://esms.dialog.lk
username: your Dialog eSMS username
password: your Dialog eSMS password
login()
Authenticates and stores the bearer token.sendSMS(payload)
Send SMS to one or more recipients.checkCampaign(transactionId)
Check status of a campaign by transaction ID.checkBalance(esmsqk)
Check wallet/package balance for URL-based flow.Notes
Default base URL is https://esms.dialog.lk
Auth path is /api/v2/user/login
Requires a valid Dialog eSMS account with API access enabled.