Dua state data
Toko Digital menyimpan konfigurasi dan page builder dalam dua state:
| State | Controller | Filter data | Akses |
|---|---|---|---|
published | DigitalStorePublishController | type = published | Customer publik |
draft | DigitalStoreController | type = draft | Preview dengan token |
Published dan draft memakai collection/model yang sama, tetapi tidak boleh dicampur dalam query.
Preview token
Request preview harus membawa query parameter token. PreviewDigitalStore::validateToken mencari token yang belum expired. Setelah valid, last_accessed_at diperbarui.
GET /pratinjau?token=<preview-token>Path-based preview menggunakan bentuk:
GET /<username>/pratinjau?token=<preview-token>Detail route preview dan checkout simulator dapat dilihat di Preview Token API.
Product dan section
Preview membaca product dari draft page, lalu mengambil data product live saat transform section berjalan. Product detail preview juga menggunakan ProductSlugResolver dengan store context.
Publish boundary
Source yang dianalisis menunjukkan published reader dan preview reader, tetapi tidak menjadikan proses publish sebagai kontrak API yang berdiri sendiri di repository ini. Jika menambah atau mengubah publish action, verifikasi writer draft, copy/publish record, dan consumer dazoapp secara bersamaan.