Customer Management (CRM)
Modul Customer Management adalah nyawa dari tim operasional dan keuangan. Melalui fitur ini, Backoffice Admin dapat melihat detail pengguna, melakukan proses verifikasi identitas (KYC), menangguhkan akun pelanggar (Suspend), dan secara manual menyuntikkan saldo kompensasi.
Semua interaksi terkait modul ini dipusatkan pada endpoint dengan prefiks /api/backoffice/customer.
1. Daftar Pelanggan & Profil (Detail)
Ketika Admin membuka halaman "Customers", tabel utama harus mengambil data seluruh pengguna terdaftar, lalu memungkinkan Admin menekan baris tabel untuk melihat detail pengguna.
GET /api/backoffice/customer/customers
GET /api/backoffice/customer/{customer_id}/detail
(Ganti {customer_id} dengan ID pelanggan yang bersangkutan).
2. Proses Verifikasi Identitas (KYC)
Frog Cloud mewajibkan Customer mengunggah KTP dan Selfie demi mematuhi regulasi lokal. Tim operasional bertugas meninjau kiriman tersebut.
2A. Menarik Antrean KYC
Untuk merender tabel yang berisi akun dengan status pending KYC.
GET /api/backoffice/customer/identity-verifications
2B. Menyetujui atau Menolak KYC (Process)
Admin menekan tombol "Approve" atau "Reject" di Dashboard.
POST /api/backoffice/customer/identity-verifications/{kyc_id}
Content-Type: application/json
{
"status": "approved", // atau "rejected"
"reason": "" // Opsional (wajib diisi jika ditolak)
}
3. Finansial & Operasional Akun
3A. Manual Add Balance (Injeksi Saldo)
Jika ada refund atau kompensasi gangguan sistem (SLA), Admin Keuangan dapat secara langsung mengkredit saldo pengguna tanpa melalui pembayaran tunai.
POST /api/backoffice/customer/{customer_id}/balance
Content-Type: application/json
{
"amount": 500000,
"notes": "Kompensasi SLA Bulan Juni"
}
3B. Modifikasi Batas Layanan (Services Limit)
Mengatur berapa banyak VM (Virtual Machine), Floating IP, atau kapasitas Disk yang bisa di-deploy oleh pengguna ini. Sangat krusial untuk mencegah penyalahgunaan (crypto mining / abuse).
PATCH /api/backoffice/customer/{customer_id}/services-limit
Content-Type: application/json
{
"max_vm_count": 10,
"max_floating_ip": 2,
"max_disk_gb": 500
}
3C. Diskon Khusus (Update Price Percentage)
Mendapatkan pelanggan VVIP? Anda bisa memberikan diskon global permanen (misal, tagihannya hanya 80% dari harga normal).
PATCH /api/backoffice/customer/{customer_id}/price-percentage
Content-Type: application/json
{
"percentage": 80
}
4. Penangguhan Akun (Suspend & Unsuspend)
Tindakan pemutusan layanan sementara akibat tunggakan pembayaran atau pelanggaran Syarat & Ketentuan.
Suspend (Blokir)
PATCH /api/backoffice/customer/{customer_id}/suspend
Content-Type: application/json
{
"reason": "Tunggakan invoice melebihi batas toleransi 7 hari."
}
Unsuspend (Pulihkan)
PATCH /api/backoffice/customer/{customer_id}/unsuspend
(Tidak memerlukan payload).