API Endpoints Reference
Dokumentasi lengkap API endpoints yang digunakan oleh MStore Mobile.🌐 Base URL
🔐 Authentication
Semua endpoint (kecuali public endpoints) memerlukan authentication token.Headers
📚 API Endpoints
Authentication
POST /api/v1/auth/login
Login dengan email dan password. Request:POST /api/v1/auth/refresh-token
Refresh access token. Request:POST /api/v1/auth/register-device
Register device untuk push notifications. Request:POST /api/v1/auth/logout
Logout user. Response:Products
GET /api/v1/products
Get list of products. Query Parameters:page(int): Page number (default: 1)limit(int): Items per page (default: 20)search(string): Search querycategory(string): Filter by categorybranchId(string): Filter by branch
GET /api/v1/products/
Get product by ID. Response:POST /api/v1/products
Create new product. Request:PUT /api/v1/products/
Update product. Request: Same as POST Response:DELETE /api/v1/products/
Delete product. Response:Transactions
POST /api/v1/transactions
Create new transaction. Request:GET /api/v1/transactions
Get transaction history. Query Parameters:page(int): Page numberlimit(int): Items per pagestartDate(string): Start date (ISO 8601)endDate(string): End date (ISO 8601)branchId(string): Filter by branchstatus(string): Filter by status
GET /api/v1/transactions/
Get transaction detail. Response:Inventory
GET /api/v1/inventory
Get inventory list. Query Parameters:branchId(string): Filter by branchlowStock(boolean): Show only low stock items
POST /api/v1/inventory/adjustment
Create inventory adjustment. Request:Dashboard
GET /api/v1/dashboard/summary
Get dashboard summary. Query Parameters:branchId(string): Filter by branchstartDate(string): Start dateendDate(string): End date
Reports
GET /api/v1/reports/sales
Get sales report. Query Parameters:branchId(string): Filter by branchstartDate(string): Start date (required)endDate(string): End date (required)groupBy(string): day|week|month
❌ Error Responses
Standard Error Format
HTTP Status Codes
200- OK201- Created400- Bad Request401- Unauthorized403- Forbidden404- Not Found422- Validation Error429- Too Many Requests500- Internal Server Error503- Service Unavailable
Common Error Codes
🔄 Pagination
Standard pagination format:🚀 Rate Limiting
- Rate Limit: 100 requests per minute per user
- Headers:
X-RateLimit-Limit: 100X-RateLimit-Remaining: 95X-RateLimit-Reset: 1697270400
📊 Versioning
API menggunakan versioning di URL path:- Current:
/api/v1/ - Future:
/api/v2/
Next Steps
API Best Practices:
- ✅ Gunakan HTTPS untuk semua requests
- ✅ Include correlation ID untuk tracking
- ✅ Handle rate limiting gracefully
- ✅ Implement retry logic untuk network errors
- ✅ Cache responses when appropriate