1.0.2 • Published 11 months ago
@al-madhrasathul-arabiyyathul-islamiyya/ts-dhiraagu-bulk-sms v1.0.2
Dhiraagu Builk SMS (TypeScript)
TypeScript SDK for Dhiraagu Bulk SMS Gateway, inspired by the PHP SDK developed by Arushad Ahmed (@dash8x).
Installation
Install the library using npm or yarn:
npm install dhiraagu-sms
# or
yarn add dhiraagu-smsQuickstart
Sending an SMS
// Import the library
import { DhiraaguSms } from "dhiraagu-sms";
const username = "XXXXXXX"; // Your SMS username from Dhiraagu
const password = "YYYYYY"; // Your SMS password
const url = "https://bulksms.dhiraagu.com.mv/partners/xmlMessage.jsp"; // Optional, leave blank to use the default API endpoint
const client = new DhiraaguSms(username, password, url);
(async () => {
  try {
    const message = await client.send(
      "+9607777777", // Recipient's number; use an array for multiple recipients
      "Hello World!" // Your message
    );
    console.log("Message ID:", message.messageId);
  } catch (error) {
    console.error("Error sending SMS:", error);
  }
})();Checking SMS Delivery Status
import { DhiraaguSms } from "dhiraagu-sms";
const username = "XXXXXXX"; // Your SMS username
const password = "YYYYYY"; // Your SMS password
const client = new DhiraaguSms(username, password);
(async () => {
  try {
    const message = await client.send(
      "+9607777777", // Recipient's number
      "Hello World!" // Your message
    );
    const delivery = await client.delivery(
      message.messageId, // Message ID
      message.messageKey // Message key
    );
    console.log("Delivery Status:", delivery.messageStatusDesc);
    // Check the status for a particular recipient
    const device = delivery.getDevice("9607777777"); // Omit the "+" in the country code
    console.log("Recipient Status:", device?.statusDesc);
  } catch (error) {
    console.error("Error checking delivery status:", error);
  }
})();Features
- Send SMS messages to one or multiple recipients.
 - Check delivery statuses for sent messages.
 - Retrieve detailed recipient statuses.
 
XML Templates
The library uses XML templates similar to the PHP version. These templates are located in the src/xml folder.
Credits
This library was adapted from the PHP SDK by Arushad Ahmed (@dash8x). Special thanks for the original implementation and inspiration.
Disclaimer
This package is not officially affiliated with Dhiraagu. The "Dhiraagu" name is used under fair use.
License
This SDK is open-source software licensed under the MIT license.