{"message":"Admin Panel API with JWT Authentication & Redis Caching","endpoints":{"auth":{"register":"POST /auth/register","login":"POST /auth/login","logout":"POST /auth/logout"},"protected":{"profile":"GET /protected/profile","data":"GET /protected/data"},"msisdn":{"getAll":"GET /msisdn/","getById":"GET /msisdn/:id","requestOtp":"POST /msisdn/request-otp","verifyOtp":"POST /msisdn/verify-otp","update":"PUT /msisdn/:id","delete":"DELETE /msisdn/:id"},"configs":{"getAll":"GET /configs/","getById":"GET /configs/:id","create":"POST /configs/","update":"PUT /configs/:id","delete":"DELETE /configs/:id"},"profileConfigs":{"getAll":"GET /profile-configs/","getById":"GET /profile-configs/:id","create":"POST /profile-configs/","update":"PUT /profile-configs/:id","delete":"DELETE /profile-configs/:id"},"pengelolaAkrab":{"getAll":"GET /pengelola-akrab/","getDetail":"POST /pengelola-akrab/detail","updateSlots":"POST /pengelola-akrab/"},"stock":{"getAll":"GET /stock/","restock":"POST /stock/restock"},"private":{"getStocksReady":"GET /private/stocks","getCircleStocksReady":"GET /private/circle-stocks","purchaseMember":"POST /private/purchase/member"},"transactions":{"getAll":"GET /transactions/","getById":"GET /transactions/:id","getByTrxUuid":"GET /transactions/trx-uuid/:trxUuid","getByUserId":"GET /transactions/user/:userId","getByMsisdn":"GET /transactions/msisdn/:msisdn","create":"POST /transactions/create","updateStatus":"PATCH /transactions/:id/status","delete":"DELETE /transactions/:id","purchaseAdmin":"POST /transactions/purchase/admin"},"laporan":{"getAllTransactions":"GET /laporan/transactions","getSummary":"GET /laporan/summary","getTransactionsByStatus":"GET /laporan/status/:status","getTransactionsByMsisdn":"GET /laporan/msisdn/:msisdn","getDailySummary":"GET /laporan/daily-summary","getProductSales":"GET /laporan/productsales"},"circle":{"addPengelola":"POST /circle/add-pengelola"},"configCircles":{"getAll":"GET /config-circles/","getById":"GET /config-circles/:id","create":"POST /config-circles/","update":"PUT /config-circles/:id"},"telegramApp":{"getAllUsers":"GET /telegram-app/users","getUserBalance":"GET /telegram-app/user/:userId/balance","getUserBalanceByTelegramId":"GET /telegram-app/user/telegram/:telegramId/balance","topupUser":"POST /telegram-app/user/:userId/topup","topupUserByTelegramId":"POST /telegram-app/user/telegram/:telegramId/topup","deductUser":"POST /telegram-app/admin/deduct","deductUserByTelegramId":"POST /telegram-app/admin/deduct-by-telegram","getUserTransactions":"GET /telegram-app/user/:userId/transactions","getUserTransactionsByTelegramId":"GET /telegram-app/user/telegram/:telegramId/transactions","getAllTransactions":"GET /telegram-app/transactions","setAdminStatus":"POST /telegram-app/admin/user/:userId/admin","setAdminStatusByTelegramId":"POST /telegram-app/admin/user/telegram/:telegramId/admin","balanceRecap":"GET /telegram-app/admin/balance-recap","getQrisGopayLogs":"GET /telegram-app/admin/qris-gopay","getQrisGopayLogDetail":"GET /telegram-app/admin/qris-gopay/:id","refreshQrisGopay":"POST /telegram-app/admin/qris-gopay/refresh","getQrisStatus":"GET /telegram-app/admin/qris/status","toggleQrisStatus":"POST /telegram-app/admin/qris/toggle"},"admin":{"broadcast":"POST /admin/broadcast"},"users":{"getAll":"GET /users/","getById":"GET /users/:id","getOrders":"GET /users/:id/orders","getActivity":"GET /users/:id/activity","getMsisdns":"GET /users/:id/msisdns"},"khfy":{"webhook":"GET /khfy/webhook","products":"GET /khfy/products","transactions":"GET /khfy/transactions","transactionByReffId":"GET /khfy/transactions/:reffId","stockAkrab":"GET /khfy/stock/akrab","webhookHistory":"GET /khfy/webhooks/history"},"digiflazz":{"webhook":"GET /digiflazz/webhook","products":"GET /digiflazz/products","priceList":"GET /digiflazz/price-list","purchase":"POST /digiflazz/purchase","purchaseMember":"POST /digiflazz/purchase/member","transactions":"GET /digiflazz/transactions","transactionDetail":"GET /digiflazz/transactions/:refId","webhookHistory":"GET /digiflazz/webhooks/history"},"dompul":{"products":"GET /dompul/products","purchase":"POST /dompul/purchase","purchaseMember":"POST /dompul/purchase/member"},"kuotadarurat":{"products":"GET /kuotadarurat/products","purchase":"POST /kuotadarurat/purchase","purchaseMember":"POST /kuotadarurat/purchase/member"},"moota":{"profile":"GET /moota/profile","balance":"GET /moota/balance","banks":"GET /moota/banks","bankDetail":"GET /moota/banks/:bankId","mutations":"GET /moota/banks/:bankId/mutations","recentMutations":"GET /moota/banks/:bankId/mutations/recent","searchByAmount":"GET /moota/banks/:bankId/mutations/search/amount/:amount","searchByDescription":"GET /moota/banks/:bankId/mutations/search/description/:description"},"preorder":{"submit":"POST /preorder","list":"GET /preorder","stats":"GET /preorder/stats","trigger":"POST /preorder/trigger","config":"GET/PUT /preorder/config"},"productsMapping":{"list":"GET /products/mapping","get":"GET /products/mapping/:id","create":"POST /products/mapping","update":"PUT /products/mapping/:id","delete":"DELETE /products/mapping/:id","toggle":"PATCH /products/mapping/:id/toggle","batchCategory":"POST /products/mapping/batch-category"}}}