Pengaturan Aplikasi

Kelola pengaturan dan konfigurasi aplikasi

@if (session()->has('message')) @endif @if (session()->has('error')) @endif
@if($activeTab === 'company')

Informasi Perusahaan

@error('settings.company_name') {{ $message }} @enderror
@error('settings.company_email') {{ $message }} @enderror
@error('settings.company_address') {{ $message }} @enderror
@error('settings.company_phone') {{ $message }} @enderror
@php $logoPath = \App\Models\AppSetting::get('company_logo'); @endphp @if($logoPath)
Current Logo
@endif @error('files.company_logo') {{ $message }} @enderror

Format: PNG, JPG. Maksimal 2MB

@endif @if($activeTab === 'general')

Pengaturan Umum

@error('settings.app_name') {{ $message }} @enderror
@error('settings.app_timezone') {{ $message }} @enderror
@error('settings.app_description') {{ $message }} @enderror

Pengaturan Sistem

@error('settings.max_file_size') {{ $message }} @enderror

1024 KB = 1 MB

@error('settings.items_per_page') {{ $message }} @enderror
@error('settings.allowed_file_types') {{ $message }} @enderror

Pisahkan dengan koma (contoh: pdf,doc,docx,jpg,png)

Pengaturan Tampilan

@error('settings.primary_color') {{ $message }} @enderror

Menampilkan credit pengembang di footer

@endif @if($activeTab === 'ai-chatbot')

🤖 AI Chatbot (Google Gemini)

Integrasikan AI chatbot dengan WhatsApp untuk melayani pengguna secara otomatis

@if($settings['ai_chatbot_enabled'] ?? false)

🔑 Konfigurasi API Gemini

@error('settings.ai_gemini_api_key') {{ $message }} @enderror

Dapatkan API key dari Google AI Studio

@error('settings.ai_gemini_model') {{ $message }} @enderror
@error('settings.ai_temperature') {{ $message }} @enderror

0.0-2.0 (rendah = konsisten, tinggi = kreatif)

@error('settings.ai_max_tokens') {{ $message }} @enderror

Panjang maksimal respons (100-8192)

Balas pesan WhatsApp masuk secara otomatis

⚙️ Konfigurasi Chatbot

@error('settings.ai_chatbot_name') {{ $message }} @enderror

Nama ini digunakan sebagai keyword untuk merespon di grup WhatsApp. Bot hanya akan merespon jika pesan di grup menyebutkan nama ini. Contoh: AISHA, BOT, ASSISTANT

💬 System Prompt (Instruksi AI)

@error('settings.ai_system_prompt') {{ $message }} @enderror

Tips: Jelaskan peran AI, tone komunikasi, dan batasan informasi yang boleh diberikan.

✨ Fitur AI Chatbot

  • Integrasi WhatsApp: Balas pesan otomatis via Wablas
  • Akses Data Real-time: Query database untuk info terkini
  • Context Awareness: Memahami konteks percakapan
  • Multilingual: Mendukung berbagai bahasa
  • Customizable: Sesuaikan personality & responses
  • Smart Routing: Arahkan ke human agent jika perlu
  • Analytics: Tracking conversations & insights
  • 24/7 Availability: Layanan non-stop tanpa henti

💡 Contoh Penggunaan

📋 Info Surat & Dokumen

"Kapan surat nomor 123/2024 dibuat?" → AI query database dan berikan info detail

📅 Status Kalender & Event

"Ada meeting apa minggu depan?" → AI cek kalender dan list upcoming events

👥 Informasi Client & Contact

"Siapa contact person PT ABC?" → AI cari di database contact

📊 Statistik & Laporan

"Berapa surat yang dibuat bulan ini?" → AI hitung dan berikan summary

@else

AI Chatbot Nonaktif

Aktifkan AI Chatbot dengan toggle di atas untuk mulai menggunakan fitur ini.

Keuntungan mengaktifkan AI Chatbot:

  • Layanan customer support 24/7 tanpa henti
  • Respon cepat untuk pertanyaan umum
  • Mengurangi beban kerja staff
  • Pengalaman pengguna yang lebih baik
@endif
@endif @if($activeTab === 'wablas')

Integrasi WhatsApp (Wablas)

Multi-device WhatsApp gateway dengan automatic failover

Konfigurasi Wablas telah dipindahkan ke menu khusus!
Sistem sekarang mendukung multiple devices dengan automatic failover untuk keandalan maksimal.

Status Devices

Total Devices

{{ $deviceStats['total'] }}

Active

{{ $deviceStats['active'] }}

Connected

{{ $deviceStats['connected'] }}

Primary

@if($deviceStats['primary'])

{{ $deviceStats['primary']->name }}

@else

Not set

@endif

✨ Fitur Multi-Device Wablas

  • Unlimited Devices: Tambahkan sebanyak mungkin device Wablas untuk keandalan maksimal
  • Automatic Failover: Jika device utama gagal, sistem otomatis beralih ke device backup
  • Priority Based: Atur prioritas device mana yang dicoba terlebih dahulu
  • Health Monitoring: Cek status koneksi setiap device secara real-time
  • Easy Management: UI sederhana untuk CRUD, health check, dan device activation

Webhook URLs untuk Wablas Dashboard

Daftarkan URL berikut di dashboard Wablas untuk menerima notifikasi real-time:

Inbound Message Webhook
{{ config('app.url') }}/api/webhook/wablas/inbound

Untuk menerima pesan masuk (incoming messages)

Message Status Webhook
{{ config('app.url') }}/api/webhook/wablas/status

Untuk tracking status pengiriman pesan (sent/delivered/failed)

Device Monitor Webhook
{{ config('app.url') }}/api/webhook/wablas/device

Untuk monitoring status device (connected/disconnected)

⚠️ Cara Setup Webhook:
1. Kelola device Anda di menu Wablas Devices
2. Login ke dashboard Wablas
3. Buka menu Settings → Webhook di dashboard Wablas
4. Daftarkan URL webhook di atas sesuai tipe-nya (Method: POST)
5. Webhook akan otomatis menerima notifikasi dari semua devices aktif

@endif @if($activeTab === 'notification')

Pengaturan Notifikasi

Atur cara pengiriman notifikasi WhatsApp untuk setiap fitur aplikasi

Tentang Pengaturan Notifikasi

  • Personal: Notifikasi dikirim ke nomor WhatsApp pribadi pengguna terkait
  • Group: Notifikasi dikirim ke WhatsApp group yang dipilih

Kelola WhatsApp Groups di menu Administrasi → WhatsApp Groups

Notifikasi Surat Baru

Notifikasi yang dikirim ketika surat baru dibuat (untuk Tim Corsec)

@error('settings.letter_created_notification_type') {{ $message }} @enderror
@if($settings['letter_created_notification_type'] === 'group')
@error('settings.letter_created_notification_group_id') {{ $message }} @enderror @if(count($groups) === 0)

Belum ada group tersedia. Tambah group

@endif
@endif
@if($settings['letter_created_notification_type'] === 'personal')
@forelse($users as $user) @empty

Tidak ada user aktif

@endforelse

Centang user yang akan menerima notifikasi. Jika tidak ada yang dipilih, akan dikirim ke semua user dengan role Corsec.

@error('settings.letter_created_notification_users') {{ $message }} @enderror
@endif

Notifikasi Status Surat

Notifikasi yang dikirim ketika surat disetujui/ditolak (untuk Pembuat Surat)

@error('settings.letter_status_notification_type') {{ $message }} @enderror
@if($settings['letter_status_notification_type'] === 'group')
@error('settings.letter_status_notification_group_id') {{ $message }} @enderror @if(count($groups) === 0)

Belum ada group tersedia. Tambah group

@endif
@endif
@if($settings['letter_status_notification_type'] === 'personal')
@forelse($users as $user) @empty

Tidak ada user aktif

@endforelse

Centang user yang akan menerima notifikasi SELAIN pembuat surat. Notifikasi akan tetap dikirim ke pembuat surat + user yang dipilih di sini.

@error('settings.letter_status_notification_users') {{ $message }} @enderror
@endif

Notifikasi Contract Reminder

@error('settings.contract_reminder_notification_type') {{ $message }} @enderror
@if($settings['contract_reminder_notification_type'] ?? '' === 'group')
@if(count($this->getGroups()) === 0)

Belum ada group aktif. Tambah group →

@endif @error('settings.contract_reminder_notification_group_id') {{ $message }} @enderror
@endif @if($settings['contract_reminder_notification_type'] ?? '' === 'personal')
@foreach($this->getUsers() as $user) @endforeach

💡 Centang user yang akan menerima notifikasi SELAIN pembuat kontrak. Notifikasi akan tetap dikirim ke pembuat kontrak + user yang dipilih di sini. Jika tidak ada pembuat kontrak, akan dikirim ke semua Admin & Corsec.

@error('settings.contract_reminder_notification_users') {{ $message }} @enderror
@endif

Notifikasi Event Reminder

@error('settings.event_reminder_notification_type') {{ $message }} @enderror
@if($settings['event_reminder_notification_type'] ?? '' === 'group')
@if(count($this->getGroups()) === 0)

Belum ada group aktif. Tambah group →

@endif @error('settings.event_reminder_notification_group_id') {{ $message }} @enderror
@endif @if($settings['event_reminder_notification_type'] ?? '' === 'personal')
@foreach($this->getUsers() as $user) @endforeach

💡 Centang user yang akan menerima notifikasi SELAIN pembuat event. Notifikasi akan tetap dikirim ke pembuat event + user yang dipilih di sini. Reminder dikirim sesuai waktu yang diatur di masing-masing event.

@error('settings.event_reminder_notification_users') {{ $message }} @enderror
@endif
🚀 Fitur Notifikasi Akan Datang:
  • Notifikasi perubahan data klien/contact person
  • Custom template pesan notifikasi
@endif