@extends('layout.app') @section('title', 'Pengaturan WhatsApp Basic Gateway - Sistem Manajemen ISP') @section('content')
@if(session('success')) @endif @if(session('error')) @endif
phone_android
1. Login Gateway

Scan QR sekali lalu biarkan perangkat WhatsApp tetap aktif.

send
2. Cron Kirim Tagihan

Scheduler menarik data tagihan & mengirim ke nomor pelanggan otomatis.

bar_chart
3. Monitoring

Gunakan statistik & log untuk memastikan semua pesan terkirim.

phone_android Status Device & QR Login
Device Status

Click "Cek Status" to see device status

settings Automation Overview
Tagihan dikirim otomatis sesuai konfigurasi di bawah.
{{ data_get($automationConfig, 'enabled', true) ? 'Aktif' : 'Nonaktif' }}

Session ID

{{ data_get($automationConfig, 'session_id', 'default') }}

Jadwal Harian

{{ data_get($automationConfig, 'tagihan.schedule_time', '08:00') }} WIB

Rentang Tagihan

≤ {{ data_get($automationConfig, 'tagihan.days_before_due', 3) }} hari sebelum jatuh tempo

Limit Pesan / Hari

{{ number_format(data_get($automationConfig, 'tagihan.daily_limit', 100)) }}

Tagihan Lewat Tempo

{{ data_get($automationConfig, 'tagihan.include_overdue', true) ? 'Ikut dikirim' : 'Tidak dikirim' }}

Dry Run

{{ data_get($automationConfig, 'tagihan.dry_run', false) ? 'Simulasi' : 'Produksi' }}
Command yang berjalan otomatis: php artisan whatsapp:auto-send --type=tagihan --session={{ data_get($automationConfig, 'session_id', 'default') }} Pastikan cron menjalankan `php artisan schedule:run` tiap menit.
@php $defaultTagihanTemplate = trim(config('whatsapp-basic.templates.tagihan')) ?: <<<'EOT' Halo {nama_pelanggan}, Ini adalah pemberitahuan tagihan layanan internet Anda periode {periode}. Detail Tagihan: • ID Layanan: {nomor_pelanggan} • Total Tagihan: Rp {total_tagihan} • Jatuh Tempo: {jatuh_tempo} Silakan selesaikan pembayaran melalui tautan berikut: {payment_link} Invoice PDF: {invoice_url} Jika sudah melakukan pembayaran, abaikan pesan ini. Terima kasih telah menggunakan layanan kami. - Tim ISP EOT; @endphp
description Template Pesan Tagihan
Gunakan placeholder sesuai data pelanggan & tagihan.
@csrf
Placeholder tersedia: {nama_pelanggan}, {nomor_pelanggan}, {nomor_invoice}, {periode}, {total_tagihan}, {total_tagihan_currency}, {jatuh_tempo}, {payment_link}, {invoice_url}, {tagihan_status}, {nomor_whatsapp}
Edit sesuai kebutuhan, placeholder akan diganti otomatis oleh sistem. @error('tagihan_template')
{{ $message }}
@enderror
Isikan URL invoice / PDF. Link akan otomatis ditambahkan saat template disalin. @error('invoice_link')
{{ $message }}
@enderror
Template siap digunakan.
calendar_today Tagihan Siap Dikirim
{{ $upcomingTagihan->count() }} pelanggan
@if($upcomingTagihan->count() > 0)
@foreach($upcomingTagihan as $tagihan) @endforeach
Pelanggan Invoice Jatuh Tempo Total Status
{{ $tagihan->pelanggan_nama }}
{{ $tagihan->nomor_pelanggan }}
{{ $tagihan->nomor_invoice ?? 'INV-'.$tagihan->id }} {{ \Carbon\Carbon::parse($tagihan->tanggal_jatuh_tempo)->format('d M Y') }} Rp {{ number_format($tagihan->total_tagihan, 0, ',', '.') }} {{ $tagihan->status_tagihan }}
@else
receipt_long

Belum ada tagihan dalam antrean pengiriman.

@endif
history Log Pengiriman Otomatis
{{ $recentLogs->count() }} terbaru
@if($recentLogs->count() > 0)
@foreach($recentLogs as $log) @php $payload = json_decode($log->payload, true) ?? []; @endphp @endforeach
Waktu Pelanggan Nomor Status
{{ \Carbon\Carbon::parse($log->created_at)->format('d M Y H:i') }} {{ data_get($payload, 'pelanggan.nama', '-') }}
Invoice: {{ data_get($payload, 'tagihan.nomor_invoice', '-') }}
{{ $log->target_number }} {{ ucfirst($log->status) }}
@else
history

Belum ada log pengiriman otomatis.

@endif
webhook Konfigurasi Webhook
@csrf
URL yang akan menerima notifikasi pesan masuk @error('webhook_url')
{{ $message }}
@enderror
Pilih event yang akan dikirim ke webhook @error('events')
{{ $message }}
@enderror
Token akan dikirim di header X-Webhook-Token @error('secret_token')
{{ $message }}
@enderror
person Active Sessions
@if($sessions->count() > 0) @foreach($sessions as $session)
Session: {{ $session->session_id }} {{ ucfirst($session->status) }}
@if($session->phone_number)

Number: {{ $session->phone_number }}

@endif @if($session->device_info)

Device: {{ $session->device_info }}

@endif @if($session->connected_at)

Connected: {{ \Carbon\Carbon::parse($session->connected_at)->format('d M Y H:i') }}

@endif
@endforeach @else

Belum ada session aktif

@endif
bar_chart Statistik
Total Pesan
{{ $stats['total_messages'] }}
Masuk
{{ $stats['incoming_messages'] }}
Keluar
{{ $stats['outgoing_messages'] }}
Connected
{{ $stats['connected_sessions'] }}
auto_awesome Blueprint Otomasi
Langkah 1
Hubungkan Device

Scan QR sekali, sistem akan menjaga sesi agar tetap aktif dan siap kirim.

Langkah 2
Siapkan Template

Gunakan composer di kiri untuk membuat pesan tagihan, pengingat, atau broadcast promo.

Langkah 3
Aktifkan Webhook

Terima event pesan masuk/status dan trigger automasi lanjutan (misal auto-close tiket).

Langkah 4
Monitor & Iterasi

Gunakan statistik, debug panel, dan log permintaan untuk memastikan SLA tercapai.

send Webhooks Aktif
@if($webhooks->count() > 0) @foreach($webhooks as $webhook)

URL: {{ Str::limit($webhook->webhook_url, 40) }}

Events: {{ json_decode($webhook->events, true) ? implode(', ', json_decode($webhook->events, true)) : 'All' }}

@endforeach @else

Belum ada webhook yang dikonfigurasi

@endif
settings Actions
Hapus session dan logout dari WhatsApp
send Uji Coba Kirim Pesan
Manual
@csrf
Gunakan format internasional tanpa tanda +. @error('number')
{{ $message }}
@enderror
@error('message')
{{ $message }}
@enderror
Pesan dikirim menggunakan session aktif saat ini. Gunakan fitur ini untuk memastikan gateway berfungsi.
bug_report Debug Panel
@endsection @section('scripts') @endsection