API Admin
Endpoint admin - AI generate, import-export Excel & JSON, manajemen website.
API: Admin
Source:
backend/app/routers/ai.py,backend/app/routers/import_export.py,backend/app/routers/websites.py
Endpoint khusus admin (role admin atau system_admin). Mencakup:
- AI question generation
- Import/export soal (Excel + JSON dari Sejoli Tryout)
- Manajemen website (multi-tenant)
AI Generation
Prefix: /api/v1/admin/ai
✅ POST /api/v1/admin/ai/generate-preview — Preview Generated Question
Implemented. Generate 1 soal via OpenRouter tanpa save ke DB (playground mode).
Response 200 OK:
✅ POST /api/v1/admin/ai/generate-save — Generate & Save
Implemented. Generate soal langsung simpan ke DB.
Response 201 Created:
✅ POST /api/v1/admin/ai/generate-batch — Batch Generate
Implemented. Generate beberapa varian sekaligus.
Response 200 OK:
✅ GET /api/v1/admin/ai/stats — Usage Stats
Implemented. Statistik penggunaan AI per tryout / rentang tanggal.
✅ GET /api/v1/admin/ai/models — Available Models
Implemented. List model yang didukung beserta pricing dinamis.
✅ GET /api/v1/admin/ai/pending-reviews — Pending Variants
Implemented. List varian AI dengan variant_status = 'draft' atau 'pending'.
✅ POST /api/v1/admin/ai/review/{item_id} — Review Variant
Implemented. Approve / reject / archive varian AI.
Detail: lihat Modul → AI Generation.
Import / Export
Prefix: /api/v1/import-export
Impor JSON dari Sejoli Tryout (Alur Utama)
⭐ Alur yang paling sering dipakai klien — tryout dibuat di Sejoli, export ke JSON, import ke app.
✅ POST /api/v1/import-export/tryout-json/preview — Preview Import
Implemented. Preview snapshot JSON sebelum commit.
Response 200 OK:
✅ POST /api/v1/import-export/tryout-json — Commit Import
Implemented. Eksekusi import dari snapshot.
Detail algoritma: lihat Modul → JSON Import.
Impor / Ekspor Excel (Nice-to-have)
Excel import berguna untuk migrasi dari workflow lama, tapi bukan alur utama. Alur utama klien: import JSON dari Sejoli Tryout.
✅ POST /api/v1/import-export/preview — Preview Excel Import
Implemented. Preview file Excel sebelum commit.
✅ POST /api/v1/import-export/questions — Import Excel
Implemented. Bulk insert soal dari Excel.
✅ GET /api/v1/import-export/export/questions — Export to Excel
Implemented. Export semua soal tryout ke format Excel.
Detail format Excel klien: lihat Modul → Excel Import/Export.
Website Management
Prefix: /api/v1
✅ GET /api/v1/websites — List Websites
Implemented (super-admin only). List semua tenant.
✅ POST /api/v1/websites — Create Website
Implemented (super-admin only). Buat tenant baru.
✅ PUT /api/v1/websites/{website_id} — Update Website
Implemented (super-admin only).
✅ DELETE /api/v1/websites/{website_id} — Delete Website
Implemented (super-admin only). Cascade delete semua data milik website.
Detail: lihat Integrasi → Multi-Tenant.
Permission Matrix
Bacaan Lanjutan
- Modul → AI Generation — detail algoritma & prompt
- Modul → JSON Import — alur utama import
- Modul → Excel Import/Export — alternatif import
- Integrasi → Multi-Tenant — manajemen website
Last updated Jul 25, 2026