Model data
Status batch
| Status | Publik /order | Register |
|---|---|---|
draft | Tidak tampil | Ditolak |
open / upcoming / published | Tampil di katalog | Boleh daftar |
Field tier penting
| Field | Fungsi |
|---|---|
price | Harga rupiah (integer) |
courseIds | UUID kursus yang boleh diakses; null atau [] = semua kursus aktif |
aiFeatures | trainer, master, branding — gate AI Hub |
benefits | Daftar benefit untuk UI katalog |
scalevVariantUniqueId | ID varian Scalev untuk checkout |
tierTemplateId | Opsional — salin default dari template |
aiFeatures jika kosong di DB (by nama tier): lihat Peta alur produk.
Alur admin
API admin (prefix /api)
| Endpoint | Fungsi |
|---|---|
GET /admin/batches/:batchId/tiers | List tier batch |
POST /admin/batches/:batchId/tiers | Buat tier |
PATCH /admin/batches/:batchId/tiers/:tierId | Update tier |
DELETE /admin/batches/:batchId/tiers/:tierId | Hapus tier (jika tidak ada payment aktif) |
POST /admin/batches/:batchId/ensure-scalev | Buat/update produk Scalev batch |
POST /admin/batches/:batchId/tiers/:tierId/resync-scalev | Sinkron varian tier ke Scalev |
GET /admin/batches/:batchId/scalev-health | Diagnosa mapping Scalev |
GET /admin/batches/:batchId/tiers/:tierId/resolved | Tier + template merged |
apps/api/src/payment/payment.routes.ts, payment.service.ts, scalev.service.ts
Sinkron Scalev
Setiap batch punya satu produk Scalev (scalev_product_id). Setiap tier = satu varian di produk itu.
Kalau checkout gagal “variant not found”, jalankan ensure-scalev lalu resync tiap tier. Panduan Scalev: Tutorial Scalev.
Tier templates
Admin bisa kelola template global di/admin/tier-management:
defaultCourseIds,defaultAiFeatures,defaultBenefits- Saat buat tier baru, pilih template → field terisi otomatis, bisa di-override per batch
apps/api/src/tier-templates/tier-templates.routes.ts
Halaman terkait
- Admin playbook — checklist batch baru dari nol
- Alur pembelian
- Alur pembuatan kursus