@extends('layouts.app') @section('content')

Bulk SMS Campaign Manager

Send personalized SMS messages to multiple recipients with advanced analytics

CSV
Upload Format
{{ !empty($cleanData) ? count($cleanData) : '0' }}
Valid Numbers
{{ !empty($problematicData) ? count($problematicData) : '0' }}
Invalid Numbers
{{ !empty($cleanData) && !empty($problematicData) ? number_format((count($cleanData) / (count($cleanData) + count($problematicData))) * 100, 1) : '0' }}%
Success Rate
1
2
3
{{ empty($headers) ? 'Upload CSV File' : 'SMS Campaign Composer' }}
{{-- Status Messages --}} @if(session('success')) @endif @if(session('error')) @endif @if($errors->any()) @endif {{-- Display Failed Sends Summary --}} @if(session('failedSendsSummary') && count(session('failedSendsSummary')) > 0)
Warning: Some SMS sending jobs could not be queued
    @foreach(session('failedSendsSummary') as $failed)
  • Phone Number: {{ $failed['phone'] ?? 'N/A' }}
    Reason: {{ $failed['reason'] ?? 'Unknown' }}
    @if(isset($failed['message'])) Message: "{{ Str::limit($failed['message'], 50) }}" @endif
  • @endforeach
@csrf
@endif {{-- Step 1: Upload CSV File --}} @if(empty($headers))
@csrf
Upload Data File

Click to browse or drag & drop your Excel/CSV file

Supported formats: .csv, .xlsx, .xls (Max 5MB)
@else {{-- Step 2: Compose & Send SMS - Only if there's clean data --}} @if(!empty($cleanData) && count($cleanData) > 0)
Ready to Send! You have {{ count($cleanData) }} valid phone numbers ready for SMS sending.
@csrf {{-- Pass only the clean CSV data --}}
{{-- Initial text input and field select --}}
{{-- Real-time Message Preview --}}
Character count: 0/160 (Standard SMS)
@endif
{{-- Display Clean Data --}} @if(!empty($cleanData) && count($cleanData) > 0)
Valid Recipients Data ({{ count($cleanData) }} rows)
@foreach($headers as $h) @endforeach @foreach($cleanData as $row) @foreach($row as $cell) @endforeach @endforeach
{{ strtoupper($h) }}
{{ $cell }}
@endif {{-- Display Problematic Data --}} @if(!empty($problematicData) && count($problematicData) > 0)
Problematic Data ({{ count($problematicData) }} rows)
Data Quality Issues: The following rows contain invalid phone numbers or missing data. You can download this data to correct it and re-upload.
@csrf
@foreach($headers as $h) @endforeach @foreach($problematicData as $row) @foreach($row['data'] as $cell) @endforeach @endforeach
{{ strtoupper($h) }}Issue
{{ $cell }} {{ $row['reason'] }}
@endif @endif
{{-- JavaScript for dynamic SMS builder --}} {{-- DataTables initializations --}} @if(!empty($problematicData) && count($problematicData) > 0) @endif @endsection