curl --request POST \
--url https://api.example.com/api/microlearning/courses/:courseId/quiz \
--header 'Content-Type: application/json' \
--data '
{
"employeeId": "<string>",
"answers": [
{}
],
"quizType": "<string>"
}
'{
"success": true,
"message": "<string>",
"data.result": {
"score": 123,
"passed": true,
"passingScore": 123
}
}Submit quiz answers and receive automatic grading with certification
curl --request POST \
--url https://api.example.com/api/microlearning/courses/:courseId/quiz \
--header 'Content-Type: application/json' \
--data '
{
"employeeId": "<string>",
"answers": [
{}
],
"quizType": "<string>"
}
'{
"success": true,
"message": "<string>",
"data.result": {
"score": 123,
"passed": true,
"passingScore": 123
}
}Authorization: Bearer YOUR_JWT_TOKEN
POST /api/microlearning/courses/:courseId/quiz
[2, 0, 3, 1, 2] for a 5-question quizweek1, final. Default: finalsrc/services/microLearningService.js:90) works as follows:
points value (default: 1)(earnedPoints / totalPoints) * 100 (rounded)quizType is week1:
progress.week1QuizScore with the calculated scoreprogress.currentWeek = 2en_progresoquizType is final:
progress.finalQuizScore with the calculated scoreprogress.totalScore as average of Week 1 and Final scorespassingScore:
progress.status = 'completado'progress.completedAt to current timestampcertificationType = 'aprobacion':
progress.certified = trueprogress.certificateIssuedAt to current timestampcurl -X POST https://api.cuido.com/api/microlearning/courses/65a1b2c3d4e5f6a7b8c9d0e1/quiz \
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"employeeId": "65a1b2c3d4e5f6a7b8c9d0e2",
"answers": [2, 0, 3, 1, 2],
"quizType": "week1"
}'
{
"success": true,
"message": "Quiz procesado exitosamente",
"data": {
"result": {
"score": 85,
"passed": true,
"passingScore": 70
}
}
}
{
"success": true,
"message": "Quiz procesado exitosamente",
"data": {
"result": {
"score": 60,
"passed": false,
"passingScore": 70
}
}
}
{
"success": false,
"message": "Validation error",
"errors": [
{
"field": "answers",
"message": "Answers array is required"
}
]
}
{
"success": false,
"message": "No está inscrito en este curso"
}
{
"success": false,
"message": "No autorizado. Token inválido o expirado."
}
participacion: Certificate awarded just for completing the courseaprobacion: Certificate awarded only if the passing score is metsrc/routes/microLearningRoutes.js:24src/controllers/microLearningController.js:53src/services/microLearningService.js:40src/services/microLearningService.js:90src/validators/cuidoValidators.js:62