Sending SMS Using Twilio

Sending SMS Using Twilio in Express.js (Full Guide)

Twilio হল বিশ্বের অন্যতম জনপ্রিয় cloud communication platform যা আপনাকে সহজেই SMS, WhatsApp Message, Voice Call ইত্যাদি পাঠাতে সাহায্য করে। Express.js এর সাথে Twilio ব্যবহার করে আপনি খুব কম কোডের সাহায্যে OTP, Notifications, Alerts, বা User Verification SMS পাঠাতে পারবেন। নিচে Twilio installation, setup, environment variables, এবং SMS পাঠানোর সম্পূর্ণ গাইড দেওয়া হল।


Twilio কী?

Twilio একটি cloud communication API provider, যা দিয়ে আপনি প্রোগ্রামিং এর মাধ্যমে SMS, Voice Call, WhatsApp, Email ইত্যাদি পাঠাতে পারেন। Developers-এর কাছে এটি খুব জনপ্রিয় কারণ এর API খুব simple ও beginner-friendly।

Twilio কোথায় ব্যবহার হয়?
  • OTP Verification
  • Password Reset SMS
  • Order Confirmation SMS
  • Emergency Alert System
  • Login Notifications

Twilio Install করা

প্রথমে Twilio SDK install করুন:

npm install twilio

Twilio Account তৈরি ও Credentials পাওয়া

SMS পাঠাতে আপনাকে Twilio Dashboard থেকে কিছু তথ্য লাগবে:

  • Account SID
  • Auth Token
  • Twilio Phone Number
⚠️ গুরুত্বপূর্ণ: Twilio Free account দিয়ে SMS পাঠাতে পারবেন কিন্তু শুধুমাত্র Verified Number-এ।

.env File Setup

Environment variables এ Twilio credentials রাখুন:

TWILIO_ACCOUNT_SID=your_account_sid TWILIO_AUTH_TOKEN=your_auth_token TWILIO_PHONE=your_twilio_phone_number

Express.js দিয়ে SMS Sending API

নিচে একটি simple SMS sending API তৈরি করা হলো, যেখানে client POST request পাঠালে Twilio SMS পাঠাবে।

const express = require("express");
const twilio = require("twilio");
require("dotenv").config();

const app = express();
app.use(express.json());

// Twilio Client Setup
const client = twilio(
    process.env.TWILIO_ACCOUNT_SID,
    process.env.TWILIO_AUTH_TOKEN
);

app.post("/send-sms", async (req, res) => {
    const { to, message } = req.body;

    try {
        const sms = await client.messages.create({
            from: process.env.TWILIO_PHONE,
            to,
            body: message
        });

        return res.json({
            success: true,
            message: "SMS Sent Successfully!",
            sid: sms.sid
        });

    } catch (error) {
        return res.status(500).json({
            success: false,
            error: error.message
        });
    }
});

app.listen(5000, () => console.log("Server running on port 5000"));

Example Client Request (POSTMAN / Frontend)

POST /send-sms
Content-Type: application/json

{
  "to": "+91XXXXXXXXXX",
  "message": "Your OTP is 543211"
}

OTP SMS পাঠানোর জন্য Example

const otp = Math.floor(100000 + Math.random() * 900000); await client.messages.create({ from: process.env.TWILIO_PHONE, to: "+91XXXXXXXXXX", body: `Your OTP is ${otp}` });

Common Twilio Errors ও সমাধান

  • Error 21606: Unverified number → Number verify করুন
  • Error 20003: Auth credentials ভুল → SID / Token চেক করুন
  • Error 21211: Invalid phone number format → Country code যুক্ত করুন

Best Practices

  • .env ফাইলে Twilio credentials রাখুন
  • Production এ Queue ব্যবহার করুন (Bull / Redis)
  • OTP expiry 2–5 মিনিট সেট করুন
  • International format ব্যবহার করুন (+91XXXXXXXXXX)

Conclusion

Twilio ব্যবহার করে Express.js থেকে SMS পাঠানো খুবই সহজ। OTP system, login notifications, emergency alerts — সব কিছুই খুব দ্রুত implement করা যায়। Twilio-এর API simple, secure এবং production-ready, তাই এটি industry-standard choice।

👼 Quiz
/

লোড হচ্ছে...

Interview Questions:

1. Twilio কী এবং কেন ব্যবহার করা হয়?

Twilio ব্যবহার করে SMS, OTP এবং কল সার্ভিস ইন্টিগ্রেট করা যায়।