Namespace Pollution Mechanism

    sendotp-promise

    1.0.5 • Public • Published

    SendOtp-Promise - Node.js SDK

    Build Status   Maintainability   npm version

    This SDK is the promise wrapper for SentOtp by MSG91

    NPM

    Set-up:

    1. Download the NPM module
    // using npm
    npm install sendotp -S
     
    // using yarn
    yarn add sendotp-promise
    1. Require the package in your code.
    const SendOTP = require('sendotp-promise'); / import SendOTP from 'sendotp-promise';
    1. Initialize with your MSG91 auth key
    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.

    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

    // normal callback
    sendOtp.send("919999999999", "PRIIND", function (error, data, response) {
      console.log(data);
    });
     

    Using async-await

     
    // 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

    sendOtp.send("919999999999", "PRIIND", "4635", function (error, data, response) {
      console.log(data);
    });

    If you want to set custom expiry of OTP verification

    sendOtp.setOtpExpiry('90'); //in minutes

    To retry OTP

    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 true

    To verify OTP

    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

    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

    Licence:

    Read it here

    Install

    npm i sendotp-promise

    DownloadsWeekly Downloads

    174

    Version

    1.0.5

    License

    MIT

    Last publish

    Collaborators

    • ashokdey