TA/web_JMW/ADMIN_WHATSAPP_SETUP.md

4.4 KiB

Admin Showroom WhatsApp Configuration

Untuk sistem showroom pribadi dengan satu admin, masukkan nomor WhatsApp admin Anda di file .env:

ADMIN_WHATSAPP_NUMBER=081234567890
ADMIN_NAME=JMW Showroom

Langkah Setup

1. Update .env File

Edit file .env di root folder project:

# Showroom Admin WhatsApp
ADMIN_WHATSAPP_NUMBER=081234567890    # Ganti dengan nomor WhatsApp admin Anda
ADMIN_NAME=JMW Showroom                # Ganti dengan nama showroom Anda

Format Nomor Telepon yang Diterima:

  • ✅ 081234567890 (Indonesia mobile)
  • ✅ 08-1234-567890 (dengan separator)
  • ✅ +6281234567890 (international)
  • ✅ 6281234567890 (country code tanpa +)

Semua format akan otomatis dikonversi ke 62xxxxxxxxxx untuk WhatsApp.

2. Jalankan Migration

php artisan migrate

3. Selesai! ✅

Tombol "💬 Chat Admin via WhatsApp" akan otomatis tampil di setiap halaman detail mobil.


Cara Kerja

Ketika customer klik tombol "Chat Admin via WhatsApp":

  1. ✅ API mengambil nomor WhatsApp dari .env (ADMIN_WHATSAPP_NUMBER)
  2. ✅ API mengambil nama mobil dari kategori
  3. ✅ Membuat pesan otomatis dengan nama mobil
  4. ✅ Redirect ke WhatsApp Web/App dengan pesan:
Halo, saya tertarik dengan kendaraan bekas - [Nama Mobil]. Apakah masih tersedia?

API Endpoints (Admin Showroom)

GET /api/chat/admin-whatsapp/{categoryId?}

Contoh:

GET /api/chat/admin-whatsapp/5

Response:

{
    "success": true,
    "message": "Link WhatsApp berhasil dibuat",
    "data": {
        "admin_name": "JMW Showroom",
        "phone_number": "081234567890",
        "whatsapp_link": "https://wa.me/6281234567890?text=...",
        "car_name": "Toyota Avanza 2015"
    }
}

2. Direct Redirect ke WhatsApp Admin

GET /api/contact/admin-whatsapp/{categoryId?}

Contoh:

GET /api/contact/admin-whatsapp/5

Secara otomatis membuka WhatsApp tanpa response JSON


Tidak Perlu Melakukan Ini

❌ Tidak perlu menambahkan seller_username ke mobil
❌ Tidak perlu menyimpan nomor telepon untuk setiap user
❌ Tidak perlu update data mobil - semua langsung ke admin


Troubleshooting

❌ "Nomor WhatsApp admin tidak dikonfigurasi"

Penyebab: ADMIN_WHATSAPP_NUMBER tidak ada atau kosong di .env
Solusi: Pastikan sudah menambahkan nomor di .env

ADMIN_WHATSAPP_NUMBER=081234567890

❌ WhatsApp tidak terbuka

Penyebab:

  • Browser block popup
  • WhatsApp tidak terinstall/login
  • Format nomor tidak valid

Solusi:

  • Pastikan format nomor benar: 08xxxxxxxxxx atau +628xxxxxxxxxx
  • Pastikan WhatsApp Web sudah login
  • Coba di browser lain atau incognito mode

❌ Error 422

Penyebab: Nomor WhatsApp admin tidak valid
Solusi: Check kembali format nomor telepon di .env


Testing

Test dengan curl:

curl "http://localhost:8000/api/chat/admin-whatsapp/5"

Expected Response:

{
    "success": true,
    "message": "Link WhatsApp berhasil dibuat",
    "data": {
        "admin_name": "JMW Showroom",
        "phone_number": "081234567890",
        "whatsapp_link": "https://wa.me/6281234567890?text=Halo%2C%20saya%20tertarik%20dengan%20kendaraan%20bekas%20-%20Toyota%20Avanza%202015.%20Apakah%20masih%20tersedia%3F",
        "car_name": "Toyota Avanza 2015"
    }
}

Custom Integration

Jika ingin membuat tombol WhatsApp di tempat lain:

HTML Button:

<button onclick="contactAdminWhatsApp(5)" class="btn btn-primary">
    💬 Chat Admin
</button>

JavaScript Function:

function contactAdminWhatsApp(categoryId) {
    window.location.href = `/api/contact/admin-whatsapp/${categoryId}`;
}

Async Function:

async function getAdminWhatsAppLink(categoryId) {
    const response = await fetch(`/api/chat/admin-whatsapp/${categoryId}`);
    const data = await response.json();
    
    if (data.success) {
        window.open(data.data.whatsapp_link, '_blank');
    }
}

Catatan Penting

  • ✅ Sistem sepenuhnya otomatis - tidak perlu update data per mobil
  • ✅ Tombol selalu tersedia untuk semua mobil
  • ✅ Nomor WhatsApp admin terpusat di .env
  • ✅ Support WhatsApp Web dan WhatsApp App
  • ✅ Pesan otomatis disesuaikan dengan nama mobil

Support

Jika ada pertanyaan, lihat WHATSAPP_API_DOCUMENTATION.md