mobitel-esms
v1.0.0
Published
A Node.js client for Mobitel's eSMS Enterprise API, providing functions to send SMS messages, receive incoming messages, and check delivery status.
Downloads
117
Maintainers
Readme
mobitel-esms
Node.js library for Mobitel (Sri Lanka) Enterprise SMS.
Install
npm install mobitel-esmsWhat this library exposes
sendMessage(options)receiveMessage(options)getMessageDelivery(options)
Sessions are managed internally.
Message type mapping
"transactional"->0"promotional"->1
You can also pass 0 or 1 directly.
Transport options
sendMessage supports:
transport: "auto"(default) -> try SOAP, fallback to HTTPtransport: "soap"-> SOAP onlytransport: "http"-> HTTP only
Credentials
You can pass credentials in function options:
username(required)password(required)id(optional, default"")customer(optional, default"")wsdlUrl(optional)
Or use environment variables:
export ESMS_USERNAME="your_username"
export ESMS_PASSWORD="your_password"
# Optional
export ESMS_ID=""
export ESMS_CUSTOMER=""
export ESMS_WSDL_URL="https://msmsenterpriseapi.mobitel.lk/mSMSEnterpriseAPI/mSMSEnterpriseAPI.wsdl"Quick usage (CommonJS)
const { sendMessage } = require("mobitel-esms");
async function main() {
const result = await sendMessage({
username: "YOUR_USERNAME",
password: "YOUR_PASSWORD",
alias: "alias",
recipients: "07xxxxxxxx",
message: "test",
messageType: "transactional"
});
console.log(result);
// {
// transport: "soap" | "http",
// code: 200,
// success: true,
// response: ...
// }
}
main().catch(console.error);Quick usage (ESM)
import { sendMessage } from "mobitel-esms";API details
sendMessage(options)
Required:
aliasrecipients("071..."or"94..."string, comma-separated string, or array)message
Optional:
messageType("transactional"default,"promotional",0,1)multiLang(boolean)transport("auto"default,"soap","http")debug(boolean, useful with HTTP transport)- credential fields (
username,password,id,customer,wsdlUrl)
Note: local numbers like 071XXXXXXXX are normalized to 9471XXXXXXX.
receiveMessage(options)
Required:
- one of
shortCodeorlongNumber
Optional:
- credential fields (
username,password,id,customer,wsdlUrl)
getMessageDelivery(options)
Required:
alias
Optional:
- credential fields (
username,password,id,customer,wsdlUrl)
CLI
After install, use esms-cli:
esms-cli send --alias Alias --to 07xxxxxxxx --message "test" --type transactionalExplicit credentials:
esms-cli send \
--alias Alias \
--to 07xxxxxxxx \
--message "test" \
--type transactional \
--transport http \
--username "YOUR_USERNAME" \
--password "YOUR_PASSWORD"Receive and delivery:
esms-cli receive --shortcode 77000 --username "YOUR_USERNAME" --password "YOUR_PASSWORD"
esms-cli delivery --alias Alias --username "YOUR_USERNAME" --password "YOUR_PASSWORD"With npx:
npx mobitel-esms send --alias Alias --to 07xxxxxxxx --message "test"