# এসএমএস সিস্টেম সেটআপ - দ্রুত নির্দেশনা

আপনার বিদ্দা প্রজেক্টে এসএমএস পাঠানোর সিস্টেম যোগ করা হয়েছে। এই নির্দেশনা অনুসরণ করুন।

## ⚡ ৫ মিনিটে শুরু করুন

### 1️⃣ ডাটাবেস সেটআপ (১ মিনিট)

টার্মিনালে এই কমান্ড চালান:

```bash
cd c:\MAMP\htdocs\bidda
php setup_sms_system.php
```

**আউটপুট:**
```
✓ sms_logs টেবিল সফলভাবে তৈরি হয়েছে
✓ sms_templates টেবিল সফলভাবে তৈরি হয়েছে
✓ sms_campaigns টেবিল সফলভাবে তৈরি হয়েছে
✓ sms_settings টেবিল সফলভাবে তৈরি হয়েছে
✓ সমস্ত টেবিল সফলভাবে তৈরি হয়েছে!
```

### 2️⃣ BulkSMSDhaka অ্যাকাউন্ট (২ মিনিট)

1. **https://bulksmsdhaka.net/register** ভিজিট করুন
2. একটি নতুন অ্যাকাউন্ট তৈরি করুন
3. ইমেল যাচাই করুন
4. অ্যাকাউন্টে লগইন করুন
5. **Settings → API** থেকে API Key কপি করুন
6. কমপক্ষে ৫০০ টাকা দিয়ে একটি প্যাকেজ কিনুন (প্রতি SMS = ০.৩৪ টাকা)

### 3️⃣ API Key কনফিগার করুন (১ মিনিট)

1. **Admin Panel এ লগইন করুন**
2. **Admin → SMS সেটিংস** এ যান
3. আপনার **API Key** পেস্ট করুন
4. **সংরক্ষণ করুন** ক্লিক করুন
5. **API সংযোগ টেস্ট করুন** ক্লিক করুন → সবুজ চেকমার্ক দেখবেন

### 4️⃣ প্রথম SMS পাঠান (১ মিনিট)

1. **Admin → এসএমএস পাঠান** এ যান
2. স্টুডেন্ট নির্বাচন করুন (চেকবক্স টিক করুন)
3. একটি বার্তা টাইপ করুন
4. **এসএমএস পাঠান** ক্লিক করুন
5. ✓ সফল বার্তা দেখবেন

## 📁 তৈরি ফাইলসমূহ

```
Admin Panel
├── 📱 SMS সেটিংস     → admin/sms-settings.php
├── 📤 এসএমএস পাঠান   → admin/send-sms.php
└── 📊 SMS লগ দেখুন   → admin/sms-logs.php

Core Files
├── SMSService.php      → classes/SMSService.php
├── sms.php             → config/sms.php
└── setup_sms_system.php → root

Examples
├── quick-sms.php       → examples/quick-sms.php
├── send-result-notification.php → examples/send-result-notification.php
└── send-fee-reminder.php → examples/send-fee-reminder.php

Documentation
├── SMS_SETUP_GUIDE_BN.md   → এই ফাইল (বিস্তারিত গাইড)
└── এই ফাইল (দ্রুত নির্দেশনা)
```

## 📱 পাঠানোর তিনটি উপায়

### উপায় ১: Admin Panel (সহজতম)

```
Admin → এসএমএস পাঠান
├── স্টুডেন্টদের কাছে পাঠান
├── পুরো ক্লাসে পাঠান
└── কাস্টম নম্বরে পাঠান
```

### উপায় ২: PHP কোড (প্রোগ্রামার)

```php
<?php
require_once(__DIR__ . '/config/database.php');
require_once(__DIR__ . '/classes/SMSService.php');

// সেটিংস নিন
$stmt = $pdo->prepare("SELECT key_name, value FROM sms_settings");
$stmt->execute();
$settings = [];
while ($row = $stmt->fetch()) {
    $settings[$row['key_name']] = $row['value'];
}

// SMS সেবা শুরু করুন
$smsService = new SMSService($settings['api_key'], $settings['caller_id'], $pdo);

// একটি নম্বরে পাঠান
$result = $smsService->send('01711111111', 'আপনার বার্তা');

// একাধিক নম্বরে পাঠান
$numbers = ['01711111111', '01822222222'];
$result = $smsService->send($numbers, 'আপনার বার্তা');

// ক্লাসে পাঠান
$result = $smsService->sendToClass(5, 'আপনার বার্তা');

// স্টুডেন্টদের কাছে পাঠান
$result = $smsService->sendToStudents([1, 5, 10], 'আপনার বার্তা');
?>
```

### উপায় ৩: কমান্ড লাইন (স্বয়ংক্রিয়)

```bash
# ফলাফল নোটিফিকেশন পাঠান
php examples/send-result-notification.php 2025

# ফি অনুস্মারক পাঠান
php examples/send-fee-reminder.php

# উদাহরণ চালান
php examples/quick-sms.php
```

## 🔧 API কীভাবে কাজ করে

```
আপনার অ্যাপ্লিকেশন
        ↓
   SMSService.php
        ↓
  BulkSMSDhaka API
        ↓
   প্রাপকের ফোন
```

### ফ্লো

1. আপনার অ্যাপে SMS অনুরোধ করুন
2. SMSService API কল করে
3. BulkSMSDhaka এ পাঠায়
4. SMS প্রাপকের ফোনে পৌঁছায়
5. ডাটাবেসে লগ সংরক্ষিত হয়

### Response

```php
[
    'success' => true/false,
    'results' => [
        '8801711111111' => [
            'success' => true,
            'status_code' => '1000',
            'message' => 'SMS request successful!!'
        ]
    ],
    'timestamp' => '2025-01-18 10:30:00'
]
```

## 📊 SMS লগ দেখুন

**Admin → SMS লগ দেখুন** এ:
- ✓ সফল SMS
- ✗ ব্যর্থ SMS
- ⏳ পেন্ডিং SMS
- 🔍 ফিল্টার করুন
- 📅 তারিখ অনুযায়ী দেখুন

## 💰 খরচ এবং হার

| পরিষেবা | হার | নোট |
|---------|-----|------|
| Non-Masking SMS | ০.৩৪ টাকা | র্যান্ডম Caller ID |
| Masking SMS | ০.৫৫ টাকা | ব্র্যান্ডেড Caller ID |
| OTP SMS | ০.৩৪+ টাকা | নিরাপত্তা কোড |
| আপনার ব্যালেন্স | Admin এ দেখুন | API থেকে লাইভ |

**মিনিমাম ক্রয়:** ৫০০ টাকা = ~১৪৭০ SMS

## ⚠️ সাধারণ সমস্যা এবং সমাধান

### সমস্যা 1: "API Key কনফিগার করা হয়নি"

**সমাধান:**
```
1. Admin → SMS সেটিংস যান
2. আপনার API Key পেস্ট করুন (খুবই গুরুত্বপূর্ণ!)
3. সংরক্ষণ করুন
4. API টেস্ট করুন
```

### সমস্যা 2: "সংযোগ ব্যর্থ"

**কারণ এবং সমাধান:**
- ❌ API Key ভুল → সঠিক কী পান
- ❌ ব্যালেন্স ০ → ৫০০ টাকা চার্জ করুন
- ❌ IP হোয়াইটলিস্ট → BulkSMSDhaka এ যোগ করুন
- ❌ ইন্টারনেট নেই → সংযোগ চেক করুন

### সমস্যা 3: "SMS পাঠানো হয় কিন্তু প্রাপক পায় না"

**সমাধান:**
1. ফোন নম্বর সঠিক কিনা চেক করুন
2. SMS লগ এ দেখুন - স্ট্যাটাস কি?
3. ব্যালেন্স যথেষ্ট কিনা চেক করুন
4. BulkSMSDhaka ড্যাশবোর্ড খুলুন এবং ম্যানুয়ালি পাঠান

### সমস্যা 4: "ফোন নম্বর ফরম্যাট ত্রুটি"

**সঠিক ফরম্যাট:**
```
✓ 01711111111    (বাংলাদেশী ফরম্যাট)
✓ 8801711111111  (আন্তর্জাতিক ফরম্যাট)
✗ 711111111      (অসম্পূর্ণ)
✗ +880711111111  (ভুল চিহ্ন)
```

## 📞 সাপোর্ট

### BulkSMSDhaka সাপোর্ট

| যোগাযোগ | বিবরণ |
|----------|--------|
| ফোন | +8801682314951 |
| ইমেল | bulksmsdhaka@gmail.com |
| ওয়েবসাইট | https://bulksmsdhaka.net |
| লাইভ চ্যাট | ওয়েবসাইটের নীচে ডান কোণে |

### এই সিস্টেম

এই সিস্টেম সম্পর্কে প্রশ্ন থাকলে:
1. `SMS_SETUP_GUIDE_BN.md` পড়ুন
2. `examples/` ফোল্ডারের উদাহরণ দেখুন
3. কোড মন্তব্য দেখুন
4. Admin প্যানেলে API টেস্ট করুন

## 🚀 উন্নত ব্যবহার

### শিডিউল করা SMS (Cron Job)

```bash
# প্রতিদিন সকাল ৮টায় ফি অনুস্মারক পাঠান
0 8 * * * php /path/to/examples/send-fee-reminder.php
```

### বাল্ক ক্যাম্পেইন

```php
// ১০০ জন স্টুডেন্টকে একসাথে পাঠান
$studentIds = range(1, 100);
$result = $smsService->sendToStudents($studentIds, 'বার্তা');
```

### টেমপ্লেট ব্যবহার

```php
// পূর্বনির্ধারিত বার্তা ব্যবহার করুন
$message = "নমস্কার {student_name}, আপনার {exam} পরীক্ষার ফলাফল প্রকাশ করা হয়েছে।";
$message = str_replace('{student_name}', 'রহিম', $message);
$message = str_replace('{exam}', 'ষষ্ঠ শ্রেণী পরীক্ষা', $message);
```

### ত্রুটি হ্যান্ডলিং

```php
try {
    $result = $smsService->send('01711111111', 'বার্তা');
    
    if (!$result['success']) {
        // লগ করুন
        error_log('SMS ব্যর্থ: ' . $result['message']);
        // ব্যবহারকারীকে জানান
        echo "SMS পাঠানো ব্যর্থ হয়েছে";
    }
} catch (Exception $e) {
    error_log('SMS Exception: ' . $e->getMessage());
}
```

## ✅ চেকলিস্ট

মনে করে নিন আপনি করেছেন:

- [ ] `setup_sms_system.php` চালিয়েছেন?
- [ ] BulkSMSDhaka অ্যাকাউন্ট তৈরি করেছেন?
- [ ] API Key পেয়েছেন এবং Admin এ যোগ করেছেন?
- [ ] Admin এ API টেস্ট চালিয়েছেন?
- [ ] প্রথম SMS পাঠিয়েছেন?
- [ ] SMS লগ দেখেছেন?

সব "✓" হলে আপনি প্রস্তুত!

## 📚 আরও পড়ুন

- বিস্তারিত গাইড: `SMS_SETUP_GUIDE_BN.md`
- কোড উদাহরণ: `examples/` ফোল্ডার
- API ডকুমেন্টেশন: https://bulksmsdhaka.net/bulk-sms-api-in-bangladesh
- ক্লাস ডকুমেন্টেশন: `classes/SMSService.php` এ মন্তব্য

---

**সংস্করণ:** ১.০  
**শেষ আপডেট:** জানুয়ারি ২০২৬  
**লেখক:** AI Assistant  
**লাইসেন্স:** ফ্রি (আপনার প্রজেক্টের জন্য)

---

## 🎯 এখানেই শেষ নয়

এই সিস্টেম ব্যবহার করে আপনি পারবেন:
- ✓ স্টুডেন্ট এবং অভিভাবকদের নোটিফিকেশন পাঠাতে
- ✓ পরীক্ষার ফলাফল জানাতে
- ✓ ফি বকেয়া অনুস্মারক পাঠাতে
- ✓ ইভেন্ট নোটিফিকেশন দিতে
- ✓ জরুরি বার্তা জানাতে
- ✓ শিক্ষা এবং আপডেট শেয়ার করতে

যেকোনো সময় যেকোনো স্টুডেন্টকে SMS পাঠান!

---

**🎉 সবার জন্য সফল SMS সিস্টেম!**
