# Roadmap otomasi Jakmall Mitra — pelajari semua dulu

Tujuan: pahami **seluruh** alur internal (API + UI) sebelum bot/Hub otomatis jalan.

**Referensi cepat (ID, payload, error):** [`docs/REFERENSI-API-CAPTURE.md`](REFERENSI-API-CAPTURE.md)

## Ekstensi wajib (pasang keduanya)

| Ekstensi | Folder | Fungsi |
|----------|--------|--------|
| Sinkron login | `extension/sync-login` | Cookie → lab |
| **Tangkap API** | `extension/api-capture` | Rekam JSON request/response |

Dashboard: http://localhost/mitraonline/captures.php

---

## Checklist jelajah (bos — lakukan berurutan)

Centang setelah buka halaman **±30 detik** (biar API load):

- [ ] **1. Katalog Toko** — `/mitra/store/catalogue`  
  Target API: sync katalog, list produk
- [ ] **2. Kelola SKU / sync channel** — `/mitra/store-profiles/manage/sku`  
  Target: `manage/sku/list`, `batch/edit`, filter otomatis/manual
- [ ] **3. Histori — Perlu proses** — [purchase-history marketplace](https://www.jakmall.com/mitra/purchase-history?tab=marketplace_order&tab_detail=status_need_process)  
  Target: `order/list`, `request-to-pickup`, `order/confirm`
- [x] **4. Checkout dropship** — `/mitra/checkout`  
  Tercapture: `products`, `expeditions`, `fee`, `payment-validation`, `checkout` → [`REFERENSI-API-CAPTURE.md`](REFERENSI-API-CAPTURE.md)
- [ ] **5. Beranda Mitra** — `/mitra`
- [ ] **6. Go Market** — `/go-market` (kurasi master)
- [ ] **7. Sync record** — `/mitra/store-profiles/sync-record` (riwayat gagal sync)
- [ ] **8. Store profiles** — `/mitra/store-profiles`

Setelah setiap blok, buka **captures.php** — harus ada file `.jsonl` baru.

---

## Modul → otomasi nanti (Hub / website)

| Modul | Input | Output otomasi |
|-------|--------|----------------|
| Master + katalog | go-market, export | SKU di katalog toko |
| Manage SKU | Katalog | Stok/harga → TikTok, Shopee (auto/manual) |
| Purchase history | Order MP masuk | Confirm + pickup + resi |
| Checkout | Order website Anda | Dropship manual/semi-auto |
| Website brand | Mirror `manage/sku/list` | Katalog + stok tampilan |

---

## Arsitektur website + mitigasi UI Jakmall

Rencana lengkap (lapisan, radar ekstensi, kontrak API):  
→ **[`ARSITEKTUR-RENCANA-WEBSITE-JAKMALL.md`](ARSITEKTUR-RENCANA-WEBSITE-JAKMALL.md)**

Singkat: bot PHP **tidak** pakai DOM Jakmall; **api-capture** tetap dipasang untuk deteksi perubahan API.

---

## Fase implementasi (setelah tangkapan lengkap)

### Fase A — Dokumentasi (sekarang)
- [x] HTML snapshot auto-learn
- [x] Registry endpoint seed
- [x] Ekstensi api-capture
- [ ] Bos selesai checklist jelajah
- [ ] Review JSON di captures.php

### Fase B — Hub baca Jakmall
- [ ] `lib/jakmall-api-client.php` — curl + cookie file + CSRF dari meta
- [ ] Sync stok: `manage/sku/list` → MySQL
- [ ] Mirror ke modul website

### Fase C — Ekstensi operator
- [ ] Antrian order website → pre-fill checkout
- [ ] Notifikasi order MP baru (poll `order/list`)

### Fase D — Otomatis penuh (hati-hati)
- [ ] Confirm + pickup batch (max 50) dengan konfirmasi operator
- [ ] Pembayaran Jakwallet — **manual approve** dulu

---

## Peta dokumen

- [JAKMALL-PETA-LENGKAP.md](JAKMALL-PETA-LENGKAP.md) — alur bisnis + API ringkas
- `data/api-endpoint-registry.json` — registry live
- `data/api-captures/` — raw JSONL per hari

---

## Keamanan

- Cookie & tangkapan API **hanya localhost**, jangan commit (`data/` di .gitignore).
- Otomasi pembayaran = risiko saldo — selalu ada gate operator.
