Manajemen Pengguna
Manajemen Pengguna
Ringkasan
Halaman User Management (/user-management) adalah pusat kontrol akun di OmniStream. Admin menggunakan halaman ini untuk membuat akun agent baru, mengubah peran (role), mengatur batasan concurrent chats, mengaktifkan/menonaktifkan akun, dan menelusuri aktivitas mereka. Halaman ini memiliki tiga tab:
- Users — CRUD akun agent
- Divisions — pengelompokan agent ke unit bisnis
- Activity — audit trail tindakan pengguna
Hak akses: Halaman /user-management hanya dapat diakses oleh admin dan supervisor. Namun beberapa aksi seperti create agent, update role, dan delete agent dibatasi khusus ke peran admin di sisi backend.
Peran (RBAC)
OmniStream mendukung tiga peran yang diurutkan dari yang paling terbatas ke yang paling luas:
| Peran | Kemampuan |
|---|---|
| agent | Menangani percakapan yang ditugaskan; mengirim pesan; membuat catatan internal; mentransfer percakapan miliknya. |
| supervisor | Semua kemampuan agent + akses Analytics, Dashboard supervisor, SLA Policies, Campaign, Transfer/Takeover, dan melihat semua percakapan (bukan hanya miliknya). |
| admin | Semua kemampuan supervisor + CRUD agent, manajemen divisi, integrasi kanal, outgoing webhooks, CSAT, dan konfigurasi sistem lainnya. |
Peran diatur pada kolom role di tabel agents PostgreSQL. Satu pengguna hanya boleh memiliki satu peran pada satu waktu.
Langkah-langkah: CRUD agent
Membuat akun baru
- Buka
/user-management, klik tab Users. - Klik tombol + New User.
- Isi form:
- Email (wajib, unik)
- Password (minimal 8 karakter)
- Full Name
- Role —
agent,supervisor, atauadmin - Can Broadcast — flag khusus, aktifkan hanya untuk akun yang perlu mengirim kampanye
- Max Concurrent Chats — batas atas percakapan aktif.
0berarti tidak dibatasi.
- Klik Save. Backend memanggil
POST /api/agents(tag Agents). Password di-hash dengan bcrypt sebelum disimpan.
Mengubah detail agent
- Klik ikon pensil pada baris agent yang ingin diubah.
- Ubah
full_name,email,role,can_broadcast, ataumax_concurrent_chats. - Klik Save. Frontend memanggil
PUT /api/agents/{id}. - Perubahan peran akan langsung berlaku pada JWT yang diterbitkan berikutnya. Token lama tetap valid hingga kedaluwarsa — untuk pencabutan segera, minta agent logout atau hapus akun.
Mengubah status online/offline manual
- Klik indikator status (titik hijau/abu) di kolom Status.
- Backend memanggil
PATCH /api/agents/{id}/statusdengan{ is_online: boolean }. - Menonaktifkan agent secara manual berguna saat agent offline tanpa logout (mis. browser crash) agar tidak menerima auto-assignment baru.
Menghapus akun
- Klik ikon trash.
- Konfirmasi penghapusan. Endpoint
DELETE /api/agents/{id}akan dipanggil. - Percakapan yang sebelumnya di-assign ke agent tersebut akan kehilangan reference
assigned_to(tetap tersimpan sebagaiNULLagar tidak hilang).
Menghapus akun tidak bisa di-undo. Untuk menonaktifkan sementara, lebih baik setel is_online = false atau ubah peran ke agent dengan max_concurrent_chats = 0 sehingga tidak menerima tugas baru.
Pengelolaan divisi
Klik tab Divisions untuk mengelola divisi. Lihat halaman Divisi untuk panduan lengkap.
Audit aktivitas
Klik tab Activity untuk melihat activity logs lintas pengguna. Kolom yang ditampilkan: timestamp, agent, action, target resource, dan detail. Filter tersedia untuk agent_id dan action. Lihat halaman Activity Logs untuk daftar action lengkap.

Endpoint (tag Agents)
| Aksi | Endpoint |
|---|---|
| List semua agent | GET /api/agents |
| Detail agent | GET /api/agents/{id} |
| Buat agent | POST /api/agents |
| Update agent | PUT /api/agents/{id} |
| Update status online | PATCH /api/agents/{id}/status |
| Hapus agent | DELETE /api/agents/{id} |
Skema lengkap di API Reference — Agents.
Rute terkait
- Profile — mengubah nama sendiri
- Change Password — mengubah password sendiri
- Divisi — mengelompokkan agent
- Activity Logs — audit trail