Cursos Temas Contenido (1, 2, 3, 4, 5, 6, 7) - [temas_contenido]
🧾 Descripción
Obtiene todo el contenido asociado a un Tema de Capacitación, enriqueciendo la información con:
-
URL del video (si el contenido es Video)
-
Texto o enlace procesado del artículo (si el contenido es Article)
-
Cantidad de intentos realizados en un quiz por un estudiante (si corresponde)
El servicio puede opcionalmente recibir el DNI del estudiante, para verificar su progreso (intentos de quiz).
Este servicio integra información desde varios recursos del ERP:
-
Topic
-
Video
-
Article
-
Student
-
Quiz Activity
🚀 Endpoint
GET /temas-contenido
📌 Parámetros vía request:
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
| tema | string | ✔️ | Nombre del Topic a consultar |
| dni | string | ❌ | DNI del estudiante para obtener intentos de quiz |
🔐 Seguridad
Requiere autenticación interna vía:
No necesita token del cliente, se usa credencial del backend.
🧠 Flujo del Servicio (Resumen real)
1️⃣ Si viene DNI → Obtener datos del estudiante
Consulta:
Guarda name del estudiante si existe.
2️⃣ Obtener el tema solicitado
Debe existir; si no, devuelve: { "valor": false, "msn": "No se encontró el tema del curso" }
3️⃣ Recorrer cada elemento de “topic_content”
Para cada ítem:
📽 Si es Video:
Agrega: "url": "<url del video>"
📄 Si es Article:
-
Se extrae contenido sin HTML (
strip_tags) -
Si dentro del texto hay un link, se devuelve solo ese link
-
Se agrega:
❓ Si es Quiz y hay estudiante:
Agrega: "quiz_attempts": <numero_de_intentos>
Si no hay estudiante o no es quiz: "quiz_attempts": 0
4️⃣ Retornar todos los contenidos enriquecidos
📥 Request Body (ejemplo)
📤 Response 200 – Ejemplo
❗ Posibles Errores
1. Tema no encontrado
2. Estudiante no existe (cuando se envía DNI)
No genera error, simplemente no agrega intentos de quiz.
3. Contenido sin URL o datos incompletos
El servicio ignora valores faltantes y continúa procesando.
No hay comentarios para mostrar
No hay comentarios para mostrar