# API Go awal

Semua respons adalah JSON. Login mengembalikan cookie `digipos_session` HTTP-only. Selain `/api/login`, semua `/api/*` memerlukan sesi. Operasi mutasi juga memerlukan header `X-CSRF-Token` dari `GET /api/me`.

| Method | Path | Fungsi |
|---|---|---|
| POST | `/api/login` | Login kode perusahaan |
| POST | `/api/logout` | Hapus cookie sesi |
| GET | `/api/me` | Profil dan token CSRF |
| GET | `/api/dashboard` | Metrik ringkas tenant/cabang |
| GET | `/api/products` | Daftar produk perusahaan |
| POST | `/api/products` | Tambah produk (admin) |
| PUT | `/api/products/{id}` | Edit produk dalam perusahaan (admin) |
| DELETE | `/api/products/{id}` | Nonaktifkan produk (admin) |
| GET | `/api/categories` | Daftar kategori perusahaan |
| POST | `/api/categories` | Tambah kategori (admin) |
| GET | `/api/branches` | Daftar cabang perusahaan |
| GET | `/api/inventory` | Daftar inventori perusahaan |
| GET | `/api/staff` | Daftar pengguna perusahaan |
| GET | `/api/orders` | Daftar pesanan cabang aktif |
| GET | `/api/transactions` | Daftar transaksi kas cabang aktif |
| GET | `/health` | Respons service, bukan verifikasi koneksi DB |

Payload tambah produk: `{"sku":"KOPI01","name":"Kopi Susu","price":20000,"category_id":null,"is_active":true}`. Payload edit sama. Tambah kategori: `{"name":"Minuman"}`.

**Penting:** endpoint ini tidak identik dengan API PHP Android dari versi sebelumnya. Migrasi Android dan kontrak API lengkap masih pekerjaan terpisah.
