# Pemetaan API mobile (`Json.php` → CI4) Semua endpoint: **POST**, header respons **`Content-Type: application/json`**, **`Access-Control-Allow-Origin: *`**. **URL CI4:** - `POST {baseURL}api/mobile/{method}` - Alias: `POST {baseURL}json/{method}` (sama dengan path CI3 `json/{method}`) ## Ringkasan method | Method CI3 | Handler CI4 | Input POST utama | Output utama | |------------|---------------|-------------------|--------------| | `login_w_token` | `login_w_token` | `token` | `{status,pesan}` | | `login` | `login` | `username`, `password` | `{status,pesan,token?}` | | `profil` | `profil` | `token` | `{status,pesan,pegawai?}` | | `save_cuti` | `save_cuti` | `token`, `nama_photo`, `photo` (base64), `tanggal`, `alasan`, `tipe` | `{status,pesan}` | | `batalkan_cuti` | `batalkan_cuti` | `token`, `id` | `{status,pesan}` | | `save_aktifitas` | `save_aktifitas` | `token`, `nama_photo`, `photo`, `tanggal`, `deksripsi` | `{status,pesan}` | | `save_masuk` | `save_masuk` | `token`, `nama_photo`, `photo`, `lat`, `lng`, `jarak` | `{status,pesan}` | | `save_pulang` | `save_pulang` | sama seperti masuk | `{status,pesan}` | | `save_istirahat` | `save_istirahat` | `token`, `mulai`, `selesai` | `{status,pesan}` | | `presensi_today` | `presensi_today` | `token` | `{status,pesan,data?}` | | `presensi` | `presensi` | `token` | `{status,pesan,data?}` | | `daftar_today` | `daftar_today` | `token` | `{status,pesan,data?}` | | `berita` | `berita` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` | | `cuti` | `cuti` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` | | `lembur` | `lembur` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` | | `libur` | `libur` | `token` | `{status,pesan,data?}` | | `aktifitas` | `aktifitas` | `token`, `dari`, `jumlah` | `{status,pesan,data?}` | | `save_pp` | `save_pp` | `token`, `nama_photo`, `photo` | `{status,pesan}` | | `save_password` | `save_password` | `token`, `pass_lama`, `pass_baru` | `{status,pesan}` | `status`: **1** sukses, **0** gagal / tidak berubah (sesuai pola legacy). ## Implementasi CI4 - Controller: `app/Controllers/Api/MobileJsonController.php` - Layanan: `app/Services/Mobile/MobileJsonService.php` - Encoding JSON: `app/Libraries/LegacyUtf8Encoder.php` ## Peningkatan terjadwal (tidak mengubah kontrak sekarang) - Ganti MD5 setelah mobile mendukung algoritma baru. - Token → JWT / hash penyimpanan. - Pecah service menjadi model per tabel + transaksi.