6.6 KiB
6.6 KiB
Mobile API Blueprint
Dokumen ini merangkum:
- endpoint mobile per role
- layar minimum yang dibutuhkan aplikasi mobile
- batas scope mobile yang sengaja dipertahankan agar tetap praktis
Prinsip
- Mobile memakai auth yang sama dengan web.
- Login lewat
POST /api/v1/auth/login, lalu kirimAuthorization: Bearer <session_token>. - Semua endpoint mobile berada di prefix
/api/v1/mobile. - Mobile fokus ke operasi cepat, scan, input lapangan, monitoring, dan closing ringan.
- Fitur admin berat seperti
users,settings,audit-trail, dan master data lengkap tetap web-only.
Role Mobile
Role yang didukung di mobile:
WAREHOUSEQCSALESPURCHASINGOWNER
Role yang tidak menjadi target mobile utama:
ADMINSYSTEM_ADMIN
Bootstrap Umum
Semua role mobile memakai:
GET /api/v1/mobile/bootstrapGET /api/v1/mobile/dashboard?locale=id|en
/mobile/bootstrap mengembalikan:
- user session
- daftar modul yang boleh diakses role tersebut
- summary ringkas operasional
- grade aktif
- gudang aktif dan lokasi aktif
- master transformation mode
Matriks Endpoint Per Role
Warehouse
Tujuan:
- scan lot
- buat receipt
- generate lot
- buat penyesuaian stok
- kirim / selesaikan washing
Endpoint:
GET /api/v1/mobile/bootstrapGET /api/v1/mobile/dashboardGET /api/v1/mobile/lotsGET /api/v1/mobile/lots/:idGET /api/v1/mobile/lots/scan?code=...GET /api/v1/mobile/receipts/bootstrapGET /api/v1/mobile/receiptsPOST /api/v1/mobile/receiptsGET /api/v1/mobile/receipts/:idPOST /api/v1/mobile/receipts/:id/generate-lotsGET /api/v1/mobile/stock-adjustments/bootstrapGET /api/v1/mobile/stock-adjustmentsPOST /api/v1/mobile/stock-adjustmentsGET /api/v1/mobile/washing/bootstrapGET /api/v1/mobile/washingPOST /api/v1/mobile/washingPUT /api/v1/mobile/washing/:idPOST /api/v1/mobile/washing/:id/complete
QC
Tujuan:
- scan lot
- lihat detail lineage lot
- ubah grade / mixing
- bantu washing completion
- buat penyesuaian stok terkait QC
Endpoint:
GET /api/v1/mobile/bootstrapGET /api/v1/mobile/dashboardGET /api/v1/mobile/lotsGET /api/v1/mobile/lots/:idGET /api/v1/mobile/lots/scan?code=...GET /api/v1/mobile/washing/bootstrapGET /api/v1/mobile/washingPUT /api/v1/mobile/washing/:idPOST /api/v1/mobile/washing/:id/completeGET /api/v1/mobile/lot-transformationsPOST /api/v1/mobile/lot-transformationsGET /api/v1/mobile/lot-transformations/:idGET /api/v1/mobile/stock-adjustments/bootstrapGET /api/v1/mobile/stock-adjustmentsPOST /api/v1/mobile/stock-adjustments
Sales
Tujuan:
- lihat stok jual
- buat penjualan reguler
- buat penjualan JIT
- buat titip jual
- tutup transaksi
Endpoint:
GET /api/v1/mobile/bootstrapGET /api/v1/mobile/dashboardGET /api/v1/mobile/lotsGET /api/v1/mobile/lots/:idGET /api/v1/mobile/lots/scan?code=...GET /api/v1/mobile/sales-regular/bootstrapGET /api/v1/mobile/sales-regularPOST /api/v1/mobile/sales-regularGET /api/v1/mobile/sales-regular/:idPOST /api/v1/mobile/sales-regular/:id/closeGET /api/v1/mobile/sales-jit/bootstrapGET /api/v1/mobile/sales-jitPOST /api/v1/mobile/sales-jitGET /api/v1/mobile/sales-jit/:idPOST /api/v1/mobile/sales-jit/:id/closeGET /api/v1/mobile/consignments/bootstrapGET /api/v1/mobile/consignmentsPOST /api/v1/mobile/consignmentsGET /api/v1/mobile/consignments/:idPOST /api/v1/mobile/consignments/lines/:lineId/close
Purchasing
Tujuan:
- buat draft pembelian
- edit / submit pembelian
- buat permintaan dana
- monitor analisis dan realisasi pembelian
Endpoint:
GET /api/v1/mobile/bootstrapGET /api/v1/mobile/dashboardGET /api/v1/mobile/purchasesPOST /api/v1/mobile/purchasesGET /api/v1/mobile/purchases/:idPUT /api/v1/mobile/purchases/:idPOST /api/v1/mobile/purchases/:id/submitPOST /api/v1/mobile/purchases/:id/cancelGET /api/v1/mobile/fund-requests/bootstrapGET /api/v1/mobile/fund-requestsPOST /api/v1/mobile/fund-requestsGET /api/v1/mobile/purchase-analysesGET /api/v1/mobile/purchase-analyses/:purchaseIdGET /api/v1/mobile/purchase-realizationsGET /api/v1/mobile/purchase-realizations/:purchaseId
Owner
Tujuan:
- monitoring dashboard
- lihat analisis pembelian
- lihat realisasi pembelian
- lihat status transaksi penting
Endpoint minimum:
GET /api/v1/mobile/bootstrapGET /api/v1/mobile/dashboardGET /api/v1/mobile/purchasesGET /api/v1/mobile/purchases/:idGET /api/v1/mobile/fund-requestsGET /api/v1/mobile/purchase-analysesGET /api/v1/mobile/purchase-analyses/:purchaseIdGET /api/v1/mobile/purchase-realizationsGET /api/v1/mobile/purchase-realizations/:purchaseIdGET /api/v1/mobile/sales-regularGET /api/v1/mobile/sales-jitGET /api/v1/mobile/consignmentsGET /api/v1/mobile/washing
Layar Minimum Per Role
Warehouse
Layar minimum:
- Login
- Dashboard ringkas
- Scan lot
- Detail lot
- Receipt baru
- Detail receipt + generate lot
- Penyesuaian stok
- Daftar washing
- Buat washing
- Selesaikan washing
QC
Layar minimum:
- Login
- Dashboard ringkas
- Scan lot
- Detail lot dan turunan lot
- Daftar transformasi
- Buat mixing / ubah grade
- Daftar washing
- Selesaikan washing
- Penyesuaian stok QC
Sales
Layar minimum:
- Login
- Dashboard ringkas
- Stok siap jual
- Scan lot
- Buat penjualan reguler
- Detail dan tutup penjualan reguler
- Buat penjualan JIT
- Detail dan tutup penjualan JIT
- Buat titip jual
- Detail dan tutup item titip jual
Purchasing
Layar minimum:
- Login
- Dashboard ringkas
- Daftar pembelian
- Form draft pembelian
- Detail pembelian
- Submit pembelian
- Daftar permintaan dana
- Form permintaan dana
- Daftar analisis pembelian
- Daftar realisasi pembelian
Owner
Layar minimum:
- Login
- Dashboard ringkas
- Daftar pembelian
- Detail pembelian
- Daftar analisis pembelian
- Detail analisis pembelian
- Daftar realisasi pembelian
- Detail realisasi pembelian
- Daftar transaksi keluar
- Daftar washing
Scope Yang Sengaja Tidak Dibawa ke Mobile
- manajemen user
- pengaturan sistem
- audit trail penuh
- master data lengkap
- office buyout
- print label / dokumen
- laporan web yang kompleks
Urutan Implementasi UI Mobile yang Disarankan
- Warehouse
- QC
- Sales
- Purchasing
- Owner
Alasannya:
- Warehouse dan QC paling sering butuh scan dan aksi lapangan cepat
- Sales di urutan berikutnya karena butuh transaksi tapi tidak banyak input master
- Purchasing dan Owner lebih banyak monitoring dan persetujuan ringan