https://github.com/ashokdey/sendotp-promise
promise bug fixed api for sendotp by msg91
https://github.com/ashokdey/sendotp-promise
async-await msg91 nodejs promise sendotp travis-ci
Last synced: about 2 months ago
JSON representation
promise bug fixed api for sendotp by msg91
- Host: GitHub
- URL: https://github.com/ashokdey/sendotp-promise
- Owner: ashokdey
- License: mit
- Created: 2017-12-08T10:52:00.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2017-12-09T09:00:59.000Z (over 7 years ago)
- Last Synced: 2025-05-07T20:04:01.661Z (about 2 months ago)
- Topics: async-await, msg91, nodejs, promise, sendotp, travis-ci
- Language: JavaScript
- Homepage:
- Size: 33.2 KB
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
## SendOtp-Promise - Node.js SDK
[](https://travis-ci.org/ashokdey/sendotp-promise) [](https://codeclimate.com/github/ashokdey/sendotp-promise/maintainability) [](https://badge.fury.io/js/sendotp-promise)
This SDK is the promise wrapper for **[SentOtp](https://github.com/MSG91/sendotp-node)** by MSG91
[](https://nodei.co/npm/sendotp-promise/)
### Set-up:
1. Download the NPM module
```javascript
// using npm
npm install sendotp -S// using yarn
yarn add sendotp-promise
```
2. Require the package in your code.
```javascript
const SendOTP = require('sendotp-promise'); / import SendOTP from 'sendotp-promise';
```
3. Initialize with your [MSG91](https://msg91.com) auth key
```javascript
const sendOtp = new SendOTP('AuthKey');
```
That's all, your SDK is set up!### Requests
You now have the send, retry and verify otp via following methods.
```javascript
sendOtp.send(contactNumber, senderId, otp, callback); //otp is optional if not sent it'll be generated automatically
sendOtp.retry(contactNumber, retryVoice, callback);
sendOtp.verify(contactNumber, otpToVerify, callback);
```### Usage:
To send OTP, without optional parameters
```javascript
// normal callback
sendOtp.send("919999999999", "PRIIND", function (error, data, response) {
console.log(data);
});```
### Using async-await
```javascript
// ES6 import
import SendOTP from 'sendotp-promise';// using commonJS pattern
// const SendOTP = require('sendotp-promise');const MSG91_AUTH_KEY = 'your auth key here';
const MSG91_SENDER_ID = 'your sender id of 6 characters';// new instance of SendOTP
const sendOtp = new SendOtp(MSG91_AUTH_KEY);// set the expiry for your OTP
sendOtp.setOtpExpiry('60');const sendOtpToMobile = async (mobileNumber) => {
try {
// call the send() method
const response = await sendOtp.send(mobile, MSG91_SENDER_ID);
console.log(response);
if (response.type === 'success') {
return console.log('OTP code sent');
}return console.log('Failed to sent OTP');
} catch (err) {
console.error(err);
return console.log('Something went wrong');
}
};// the mobile number
const countryCode = 'your country code';
const mobileNumber = 'any mobile number';
const completeMobileNumber = `${countryCode}${mobileNumber}`;// call
sendOtpToMobile(completeMobileNumber);
```To send OTP, with optional parameters
```javascript
sendOtp.send("919999999999", "PRIIND", "4635", function (error, data, response) {
console.log(data);
});
```If you want to set custom expiry of OTP verification
```javascript
sendOtp.setOtpExpiry('90'); //in minutes
```To retry OTP
```javascript
sendOtp.retry("919999999999", false, function (error, data, response) {
console.log(data);
});
```
**Note:** In sendOtp.retry() set retryVoice false if you want to retry otp via text, default value is trueTo verify OTP
```javascript
sendOtp.verify("919999999999", "4365", function (error, data, response) {
console.log(data); // data object with keys 'message' and 'type'
if(data.type == 'success') console.log('OTP verified successfully')
if(data.type == 'error') console.log('OTP verification failed')
});
```### Options:
By default sendotp uses default message template, but custom message template can also set in constructor like
```javascript
const SendOtp = require('sendotp');
const sendOtp = new SendOtp('AuthKey', 'Otp for your order is {{otp}}, please do not share it with anybody');
````{{otp}}` expression is used to inject generated otp in message.
### Want to Contribute?
[Read how to contribute](./CONTRIBUTING.md)### Licence:
[Read it here](./LICENSE)