Pengaturan
Modal yang muncul saat klik tombol Settings di sidebar bawah. Tempat untuk mengubah behavior, scoring, change detection, dll.
Gambar 1 — Modal Settings.
Layout
Modal terdiri dari beberapa panel collapsible. Klik judul untuk expand/collapse.
| Panel | Section |
|---|---|
| Behavior | Mode dry-run, auto-switch, preserve max price. |
| API | Base URL, rate limit, timeout, retry. |
| Monitor | Interval scan, kategori target. |
| Scoring | Bobot scoring, review bonus, preferred/blocked. |
| Product Cache | Path & expire produk cache. |
| Seller Cache | Path & expire seller cache. |
| Alerts | Console output & log file. |
| Dashboard | Port, allowed origins. |
| Change Detection | Threshold severity, smart intervals. |
| Proactive Scan | Diff-trigger, rotational sampling. |
Tombol bawah:
- Save All — simpan semua perubahan ke config server.
- Re-init Service — apply perubahan API setting (tanpa restart server).
- Reset Default — kembali ke nilai default (per panel).
Behavior
| Field | Default | Deskripsi |
|---|---|---|
dryRun |
true |
Preview mode — perubahan tidak di-apply ke Digiflazz. Toggle off untuk live. |
autoSwitch |
false |
Saat scan menemukan masalah, otomatis switch supplier (vs. manual). |
preserveMaxPrice |
true |
max_price tidak boleh turun. Mencegah PRICE_EXCEEDS_MAX di siklus berikutnya. |
Recommended awal pakai:
dryRun: true+autoSwitch: false. Cek di tab Perubahan dulu apa yang akan terjadi. Setelah yakin, baru toggle live.
Scoring
Klik Buka Editor Scoring untuk modal terpisah dengan slider visual.
Weights (total = 100%)
| Faktor | Default | Range |
|---|---|---|
| Price | 40% | 0-100% |
| Connection | 30% | 0-100% |
| SLA | 20% | 0-100% |
| Stock | 10% | 0-100% |
Slider auto-rebalance sehingga total selalu 100%.
Connection scores
| Tipe | Default |
|---|---|
| IP | 100 |
| H2H | 70 |
SLA scores
| SLA | Default |
|---|---|
| H+0 | 100 |
| H+1 | 60 |
| H+2 | 30 |
Review bonus
- Enabled — toggle on/off (default on).
- Max bonus — bonus maksimal untuk rating 5.0 (default 15).
Formula: bonus = (rating / 5.0) × maxBonus.
Preferred / Blocked
Tag-style input. Tambah supplier ke daftar dengan ketik nama → Enter.
- Preferred = bonus +20.
- Blocked = excluded dari kandidat.
Detail: Algoritma Scoring.
Kriteria Pemilihan Penjual
Filter dasar supplier yang berlaku global untuk semua produk (bisa ditimpa per dimensi lewat Aturan Seller per Produk):
| Field | Deskripsi |
|---|---|
| Stok | Semua / Tersedia / Unlimited. |
| Faktur Pajak | Hanya supplier dengan/ tanpa faktur. |
| Multi-Seller | Hanya supplier yang mendukung multi transaksi. |
| Rating Minimal | Rating supplier minimum (0–5). |
| Jumlah Rating Minimal | Minimum banyaknya review (10+, 20+, …). |
| Jam Cut-off Minimal | Jam tutup paling awal yang diterima (HH:MM). Supplier buka 24 jam selalu lolos; selainnya lolos bila jam tutupnya tidak lebih awal dari nilai ini. Kosong = tidak memfilter. |
Change Detection
| Field | Default | Deskripsi |
|---|---|---|
enabled |
true |
Master toggle. |
dbPath |
data/changes.db |
File SQLite (jangan diubah saat monitor jalan). |
maxHistoryHours |
168 (7 hari) |
Berapa lama riwayat disimpan. |
pruneIntervalHours |
24 |
Auto-pruning setiap N jam. |
categoryPriorities |
{} |
Smart intervals — `{categoryId: "critical" |
alertOnPriceIncreasePercent |
5.0 |
Threshold % kenaikan harga untuk dianggap signifikan. |
alertOnPriceDecrease |
true |
Alert kalau harga turun. |
alertOnSellerDown |
true |
Alert kalau supplier mati. |
alertOnNewProduct |
false |
Alert kalau ada produk baru muncul di kategori. |
Detail: Change Detection.
Proactive Scan
| Field | Default | Deskripsi |
|---|---|---|
enabled |
false |
Aktifkan rotational sampling (strategy 2). |
batchSize |
50 |
Berapa produk dicek per cycle. |
minSavingsPercent |
5.0 |
Threshold minimum savings untuk dianggap signifikan. |
cooldownHours |
24 |
Jangan re-check produk sebelum N jam. |
diffTriggered |
true |
Auto-cek saat harga naik (strategy 1). |
diffTriggerPriceIncreasePercent |
3.0 |
Threshold kenaikan harga yang trigger cek. |
Detail: Proactive Scan.
Re-optimize Seller Otomatis (peninjauan berkala semua produk sehat ke supplier skor tertinggi) terpisah dari Proactive Scan dan diatur admin per paket langganan, bukan dari modal ini. Lihat Re-optimize Seller Otomatis.
API
| Field | Default | Deskripsi |
|---|---|---|
baseUrl |
https://member.digiflazz.com/api/v1/buyer/product |
Endpoint dasar. Jangan ubah kecuali Digiflazz pindah domain. |
rateLimitPerMinute |
100 |
Batas request/menit. Server limit 120. |
requestTimeoutMs |
30000 |
Timeout per request. |
retryAttempts |
3 |
Retry kalau 5xx. |
retryDelayMs |
2000 |
Delay antar retry (exponential backoff). |
Setelah ubah API setting, klik Re-init Service untuk hot-reload (tidak perlu restart server).
Monitor
| Field | Default | Deskripsi |
|---|---|---|
intervalSeconds |
300 (5 menit) |
Jeda antar siklus scan. Plan Pro auto-default 120s. |
categories |
[] |
Filter kategori. [] = scan semua. |
Save All vs Re-init Service
- Save All simpan ke file config + apply runtime setting yang aman (mis. dryRun, weights).
- Re-init Service mulai ulang HTTP client agar perubahan API setting (timeout, base URL, rate limit) aktif. Hanya perlu kalau ubah panel API.
FAQ
Setting hilang setelah server restart. Pastikan klik Save All, bukan cuma Apply.
Bisa export config?
File config.json di server. Backup file ini sebelum perubahan besar.
Berapa angka aman untuk rate limit? Server limit 120 req/min. OtoSwitch default 100 untuk safety margin. Jangan naikkan di atas 110 — risiko ban sementara dari Digiflazz.