WaveSMS Api
This is a Typescript package that interfaces with the WaveSMS Api. The API enables you to initiate mobile Sms notifications.
Documentation
Installation
You can install the package via npm or yarn:
yarn add @nabcellent/wavesms
Getting Started
Initialize the WaveSMS class with your config.
import { WaveSMS, WaveSMSConfig } from '@nabcellent/wavesms';
let config: WaveSMSConfig = {
apiKey : process.env.WAVE_SMS_API_KEY,
partnerId: process.env.WAVE_SMS_PARTNER_ID,
senderId : process.env.WAVE_SMS_SENDER_ID
};
const wave = new WaveSMS(config);
-
Sms
Enables you to send text messages
1. Send Sms
const response = await wave.sms.text('#WaveSMSTest').to(254123456789).send()
// OR
const response = await wave.sms.text('#WaveSMSTest').to([254123456789]).send()
// Expected responses
[
{
code: 200,
description: "Success",
mobile: "254123456789",
message_id: 75085465,
client_sms_id: "1234",
network_id: "2"
},
{
code: 1004,
description: "Low credit units...",
mobile: "254123456789",
}
]
2. Schedule Sms
Provide a Moment or Date instance to the send method.
const response = await wave.sms.text('#WaveSMSTest').to(254123456789).send(new Date('2023-12-20'))
PS: The date must be after current time.
3. Get Delivery Report
// Provide Message ID
const response = await wave.sms.getDeliveryReport("123456789")
// Expected response
{
code: 200,
message_id: "123456789",
description: "Success",
delivery_status: 32,
delivery_description: "DeliveredToTerminal",
delivery_tat: "00:00:06",
delivery_networkid: 1,
delivery_time: "2023-02-18 21:16:22"
}
3. Calculate SMS Cost
Provide the text message.
const response = wave.sms.cost('Hello World.')
// Expected response(number)
0.2
-
Account
Enables you to check the balance of your account
- Account balance
const response = await wave.balance.fetch()
// Expected response(number)
7.33
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email nabcellent.dev@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.