Lewati ke konten utama

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.

Request (Tabel Pelanggan)
GET /api/backoffice/customer/customers
Request (Profil Lengkap)
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.

Request
GET /api/backoffice/customer/identity-verifications

2B. Menyetujui atau Menolak KYC (Process)

Admin menekan tombol "Approve" atau "Reject" di Dashboard.

Request
POST /api/backoffice/customer/identity-verifications/{kyc_id}
Content-Type: application/json
Request Body
{
"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.

Request
POST /api/backoffice/customer/{customer_id}/balance
Content-Type: application/json
Request Body
{
"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).

Request
PATCH /api/backoffice/customer/{customer_id}/services-limit
Content-Type: application/json
Request Body
{
"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).

Request
PATCH /api/backoffice/customer/{customer_id}/price-percentage
Content-Type: application/json
Request Body
{
"percentage": 80
}

4. Penangguhan Akun (Suspend & Unsuspend)

Tindakan pemutusan layanan sementara akibat tunggakan pembayaran atau pelanggaran Syarat & Ketentuan.

Suspend (Blokir)

Request
PATCH /api/backoffice/customer/{customer_id}/suspend
Content-Type: application/json
Request Body
{
"reason": "Tunggakan invoice melebihi batas toleransi 7 hari."
}

Unsuspend (Pulihkan)

Request
PATCH /api/backoffice/customer/{customer_id}/unsuspend

(Tidak memerlukan payload).


Diagram Alur Siklus Pelanggan