Material API Documentation
Endpoint ini digunakan untuk mengambil atau me-regenerate pertanyaan (soal) berdasarkan versi material yang tersimpan.
Base URL
https://learn-check.duckdns.org
Endpoint
GET /material/{tutorial_id}?version=
Rules
- Akses tanpa query → version 1
- version = 1 / 2 / 3 → ambil versi tersebut dari Redis
- version = 4 → reset versi lama (1–3), lalu generate versi baru sebagai versi 1
Parameters
Path Parameter
tutorial_id: string (required)
Query Parameter
| Nama | Tipe | Contoh | Deskripsi |
|---|---|---|---|
| version | integer | 1, 2, 3, 4 |
Nomor versi material null → versi 1 (default) 4 → regenerate versi baru |
Contoh Query
?version=2
?version=4
(no query) → version 1
Responses
201 - Success (Created)
{
"status": "success",
"data": {
"version": 1,
"tutorial_id": "35363",
"questions": [...],
"createdAt": "2025-12-01T09:22:34.130Z"
}
}
404 - Invalid Parameter
{
"status": "error",
"message": "Version not allowed"
}
Example Material Response
{
"status": "success",
"data": {
"version": 1,
"tutorial_id": "35363",
"questions": [
{
"type": "multiple",
"question": "Berdasarkan laporan McKinsey...",
"options": [
{
"label": "A",
"text": "Rata-rata penggunaan...",
"feedback": "Laporan McKinsey menunjukkan..."
},
{
"label": "B",
"text": "Sekitar 31% industri menggunakan...",
"feedback": "Data laporan menyatakan bahwa..."
},
{
"label": "C",
"text": "Penggunaan AI di industri...",
"feedback": "Faktanya, penggunaan AI di..."
},
{
"label": "D",
"text": "Penerapan AI hanya terbatas...",
"feedback": "Materi menyebutkan bahwa penerapan..."
},
],
"correct_answer": [0, 1]
}
],
"createdAt": "2025-12-01T09:22:34.130Z"
}
}
Error Format
{
"status": "error",
"message": "Deskripsi error"
}