Skip to main content
Batch adalah gelombang training yang dijual ke publik. Tier adalah paket harga di dalam batch — menentukan harga, kursus yang dibuka, dan fitur AI.

Model data

Status batch

StatusPublik /orderRegister
draftTidak tampilDitolak
open / upcoming / publishedTampil di katalogBoleh daftar

Field tier penting

FieldFungsi
priceHarga rupiah (integer)
courseIdsUUID kursus yang boleh diakses; null atau [] = semua kursus aktif
aiFeaturestrainer, master, branding — gate AI Hub
benefitsDaftar benefit untuk UI katalog
scalevVariantUniqueIdID varian Scalev untuk checkout
tierTemplateIdOpsional — salin default dari template
Default aiFeatures jika kosong di DB (by nama tier): lihat Peta alur produk.

Alur admin

API admin (prefix /api)

EndpointFungsi
GET /admin/batches/:batchId/tiersList tier batch
POST /admin/batches/:batchId/tiersBuat tier
PATCH /admin/batches/:batchId/tiers/:tierIdUpdate tier
DELETE /admin/batches/:batchId/tiers/:tierIdHapus tier (jika tidak ada payment aktif)
POST /admin/batches/:batchId/ensure-scalevBuat/update produk Scalev batch
POST /admin/batches/:batchId/tiers/:tierId/resync-scalevSinkron varian tier ke Scalev
GET /admin/batches/:batchId/scalev-healthDiagnosa mapping Scalev
GET /admin/batches/:batchId/tiers/:tierId/resolvedTier + template merged
Kode: 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
Kode: apps/api/src/tier-templates/tier-templates.routes.ts

Halaman terkait