Store Router API
Store Router API menyediakan endpoint untuk operasional toko, termasuk POS, inventori, member, dan sync.
Base URL
http://localhost:8081/apiCatatan
Store Router API hanya dapat diakses dari jaringan lokal toko. Tidak bisa diakses dari luar tanpa VPN.
Endpoint Utama
POS
| Method | Endpoint | Keterangan |
|---|---|---|
| POST | /pos/transactions | Buat transaksi baru |
| GET | /pos/transactions/:id | Detail transaksi |
| POST | /pos/transactions/:id/pay | Proses pembayaran |
| POST | /pos/transactions/:id/void | Void transaksi |
| POST | /pos/returns | Proses retur |
| POST | /pos/holds | Hold transaksi |
| GET | /pos/holds | Daftar hold |
| POST | /pos/holds/:id/recall | Recall hold |
Shift
| Method | Endpoint | Keterangan |
|---|---|---|
| POST | /shifts/open | Buka shift |
| POST | /shifts/:id/close | Tutup shift |
| GET | /shifts/current | Shift aktif |
| GET | /shifts/:id/summary | Ringkasan shift |
Inventori
| Method | Endpoint | Keterangan |
|---|---|---|
| GET | /stock | Daftar stok |
| GET | /stock/:sku | Stok per produk |
| POST | /receiving | Catat receiving |
| POST | /transfers | Buat transfer |
| POST | /adjustments | Buat adjustment |
| POST | /opname | Mulai opname |
Member
| Method | Endpoint | Keterangan |
|---|---|---|
| GET | /members/search | Cari member |
| POST | /members | Daftar member baru |
| GET | /members/:id | Detail member |
| GET | /members/:id/points | Saldo poin |
Sync
| Method | Endpoint | Keterangan |
|---|---|---|
| GET | /sync/status | Status sinkronisasi |
| POST | /sync/force | Paksa sync sekarang |
Contoh Request
Membuat Transaksi
POST /api/pos/transactions
Authorization: Bearer eyJhbGci...
Content-Type: application/json
{
"items": [
{"sku": "8991234567890", "qty": 3, "price": 3500},
{"sku": "8997654321098", "qty": 2, "price": 5000}
],
"member_id": "MBR-2026-001234",
"shift_id": "shift-012"
}Response:
json
{
"success": true,
"data": {
"transaction_id": "TXN-001-20260322-0045",
"subtotal": 20500,
"discount": 0,
"tax": 2255,
"total": 20500,
"points_earned": 2,
"items": [...]
}
}Idempotency
Endpoint yang mengubah data mendukung idempotency key untuk mencegah duplikasi:
POST /api/pos/transactions
Idempotency-Key: unique-request-id-12345