@pandodev/twilio-sdk
v1.0.2
Published
Internal Pando SDK with built-in SMS functionality
Downloads
22
Readme
Overview
This package provides a Twilio integration for NestJS applications, allowing you to send SMS, make calls, and perform OTP verification using Twilio's Verify API
Installation
npm install @pandodev/twilio-sdkConfiguration
Create a .env file in your project and set the following variables:
TWILIO_ACCOUNT_SID=your-account-sid
TWILIO_AUTH_TOKEN=your-auth-token
TWILIO_FROM_NUMBER=twilio-phone-number
TWILIO_VERIFY_SERVICE_SID=twilio-verify-service-sidUsage
1. Importing the Service
In your NestJS module, import and provide the TwilioService:
import { Module } from '@nestjs/common';
import { ConfigModule } from '@nestjs/config';
import { TwilioService } from '@pandodev/twilio-sdk';
@Module({
imports: [ConfigModule.forRoot()],
providers: [TwilioService],
exports: [TwilioService],
})
export class TwilioModule {}2. Injecting the Service
import { Injectable } from '@nestjs/common';
import { TwilioService } from '@pandodev/twilio-sdk';
@Injectable()
export class SmsService {
constructor(private readonly twilioService: TwilioService) {}
async sendSms(to: string, message: string) {
return this.twilioService.sendSms(to, message);
}
async sendOtp(to: string) {
return this.twilioService.sendOtp(to);
}
async verifyOtp(to: string, code: string) {
return this.twilioService.verifyOtp(to, code);
}
}Alternatively, you can pass configuration directly:
const twilioService = new TwilioService({ accountSid: 'your-account-sid', authToken: 'your-auth-token', phoneNumber: 'twilio-phone-number', serviceSid: 'twilio-verify-service-sid' });
3. Available Methods
// Send SMS message to specified phone number
sendSms(to: string, message: string): Promise<string>// Makes a call to the specified phone number
makeCall(to: string, message: string): Promise<any>// Creates a one-time password to get verification from client
sendOtp(to: string): Promise<string>// Verifies is the one-time password and the phone number are valid
verifyOtp(to: string, code: string): Promise<boolean>