Files
AbelBirdNest-mobile/mobile-api-blueprint.md

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 kirim Authorization: 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:

  • WAREHOUSE
  • QC
  • SALES
  • PURCHASING
  • OWNER

Role yang tidak menjadi target mobile utama:

  • ADMIN
  • SYSTEM_ADMIN

Bootstrap Umum

Semua role mobile memakai:

  • GET /api/v1/mobile/bootstrap
  • GET /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
  • submit purchase yang otomatis membuat receipt dan lot
  • buat penyesuaian stok
  • kirim / selesaikan washing

Endpoint:

  • GET /api/v1/mobile/bootstrap
  • GET /api/v1/mobile/dashboard
  • GET /api/v1/mobile/lots
  • GET /api/v1/mobile/lots/:id
  • GET /api/v1/mobile/lots/scan?code=...
  • GET /api/v1/mobile/purchases
  • GET /api/v1/mobile/purchases/:id
  • POST /api/v1/mobile/purchases/:id/submit
  • GET /api/v1/mobile/stock-adjustments/bootstrap
  • GET /api/v1/mobile/stock-adjustments
  • POST /api/v1/mobile/stock-adjustments
  • GET /api/v1/mobile/washing/bootstrap
  • GET /api/v1/mobile/washing
  • POST /api/v1/mobile/washing
  • PUT /api/v1/mobile/washing/:id
  • POST /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/bootstrap
  • GET /api/v1/mobile/dashboard
  • GET /api/v1/mobile/lots
  • GET /api/v1/mobile/lots/:id
  • GET /api/v1/mobile/lots/scan?code=...
  • GET /api/v1/mobile/washing/bootstrap
  • GET /api/v1/mobile/washing
  • PUT /api/v1/mobile/washing/:id
  • POST /api/v1/mobile/washing/:id/complete
  • GET /api/v1/mobile/lot-transformations
  • POST /api/v1/mobile/lot-transformations
  • GET /api/v1/mobile/lot-transformations/:id
  • GET /api/v1/mobile/stock-adjustments/bootstrap
  • GET /api/v1/mobile/stock-adjustments
  • POST /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/bootstrap
  • GET /api/v1/mobile/dashboard
  • GET /api/v1/mobile/lots
  • GET /api/v1/mobile/lots/:id
  • GET /api/v1/mobile/lots/scan?code=...
  • GET /api/v1/mobile/sales-regular/bootstrap
  • GET /api/v1/mobile/sales-regular
  • POST /api/v1/mobile/sales-regular
  • GET /api/v1/mobile/sales-regular/:id
  • POST /api/v1/mobile/sales-regular/:id/close
  • GET /api/v1/mobile/sales-jit/bootstrap
  • GET /api/v1/mobile/sales-jit
  • POST /api/v1/mobile/sales-jit
  • GET /api/v1/mobile/sales-jit/:id
  • POST /api/v1/mobile/sales-jit/:id/close
  • GET /api/v1/mobile/consignments/bootstrap
  • GET /api/v1/mobile/consignments
  • POST /api/v1/mobile/consignments
  • GET /api/v1/mobile/consignments/:id
  • POST /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/bootstrap
  • GET /api/v1/mobile/dashboard
  • GET /api/v1/mobile/purchases
  • POST /api/v1/mobile/purchases
  • GET /api/v1/mobile/purchases/:id
  • PUT /api/v1/mobile/purchases/:id
  • POST /api/v1/mobile/purchases/:id/submit
  • POST /api/v1/mobile/purchases/:id/cancel
  • GET /api/v1/mobile/fund-requests/bootstrap
  • GET /api/v1/mobile/fund-requests
  • POST /api/v1/mobile/fund-requests
  • GET /api/v1/mobile/purchase-analyses
  • GET /api/v1/mobile/purchase-analyses/:purchaseId
  • GET /api/v1/mobile/purchase-realizations
  • GET /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/bootstrap
  • GET /api/v1/mobile/dashboard
  • GET /api/v1/mobile/purchases
  • GET /api/v1/mobile/purchases/:id
  • GET /api/v1/mobile/fund-requests
  • GET /api/v1/mobile/purchase-analyses
  • GET /api/v1/mobile/purchase-analyses/:purchaseId
  • GET /api/v1/mobile/purchase-realizations
  • GET /api/v1/mobile/purchase-realizations/:purchaseId
  • GET /api/v1/mobile/sales-regular
  • GET /api/v1/mobile/sales-jit
  • GET /api/v1/mobile/consignments
  • GET /api/v1/mobile/washing

Layar Minimum Per Role

Warehouse

Layar minimum:

  1. Login
  2. Dashboard ringkas
  3. Scan lot
  4. Detail lot
  5. Daftar pembelian siap submit
  6. Submit pembelian yang otomatis membuat receipt + lot
  7. Penyesuaian stok
  8. Daftar washing
  9. Buat washing
  10. Selesaikan washing

QC

Layar minimum:

  1. Login
  2. Dashboard ringkas
  3. Scan lot
  4. Detail lot dan turunan lot
  5. Daftar transformasi
  6. Buat mixing / ubah grade
  7. Daftar washing
  8. Selesaikan washing
  9. Penyesuaian stok QC

Sales

Layar minimum:

  1. Login
  2. Dashboard ringkas
  3. Stok siap jual
  4. Scan lot
  5. Buat penjualan reguler
  6. Detail dan tutup penjualan reguler
  7. Buat penjualan JIT
  8. Detail dan tutup penjualan JIT
  9. Buat titip jual
  10. Detail dan tutup item titip jual

Purchasing

Layar minimum:

  1. Login
  2. Dashboard ringkas
  3. Daftar pembelian
  4. Form draft pembelian
  5. Detail pembelian
  6. Submit pembelian
  7. Daftar permintaan dana
  8. Form permintaan dana
  9. Daftar analisis pembelian
  10. Daftar realisasi pembelian

Owner

Layar minimum:

  1. Login
  2. Dashboard ringkas
  3. Daftar pembelian
  4. Detail pembelian
  5. Daftar analisis pembelian
  6. Detail analisis pembelian
  7. Daftar realisasi pembelian
  8. Detail realisasi pembelian
  9. Daftar transaksi keluar
  10. 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

  1. Warehouse
  2. QC
  3. Sales
  4. Purchasing
  5. 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