postRetos
Metodo: POST
Ruta: /postRetos
Categoria: Retos
Auth: Si (usuario autenticado)
Que hace
Crea o actualiza un reto.
Si envias id, actualiza; si no, crea uno nuevo.
Request
Headers:
- Content-Type: application/json
- Authorization: Bearer <token>
Body (JSON):
{
"id": 10,
"idDisplay": 2,
"nombre": "Reto Febrero",
"descripcion": "Reto mensual de pasos",
"tipoReto": 1,
"tipoMetrica": 2,
"fechaInicio": "2026-02-01T00:00:00.000+01:00",
"fechaFin": "2026-02-28T23:59:59.000+01:00",
"estado": 1,
"numEquipos": 2,
"limiteParticipantes": 20,
"ejerciciosIds": "1,2,3",
"imagenUrl": "https://...",
"premioDescripcion": "Premio demo",
"equipos": [
{
"id": 1,
"idReto": 10,
"nombre": "Equipo Azul",
"color": "#1E88E5"
}
]
}
Reglas importantes
- Los nombres de campos deben coincidir exactamente (case sensitive).
equiposes opcional; si lo envias, se guarda junto al reto.idManagereidTrainerlos resuelve backend con el usuario autenticado.
Response
200 OK
{
"resultado": 1,
"mensaje": "OK",
"Reto": {
"id": 10,
"idManager": 3,
"idTrainer": 8,
"idDisplay": 2,
"nombre": "Reto Febrero",
"descripcion": "Reto mensual de pasos",
"tipoReto": 1,
"tipoMetrica": 2,
"fechaInicio": "2026-02-01T00:00:00.000+01:00",
"fechaFin": "2026-02-28T23:59:59.000+01:00",
"estado": 1,
"numEquipos": 2,
"limiteParticipantes": 20,
"ejerciciosIds": "1,2,3",
"imagenUrl": "https://...",
"premioDescripcion": "Premio demo",
"equipos": []
}
}
Errores comunes
400 Bad Request
{
"resultado": 0,
"mensaje": "Error al guardar datos: <detalle>"
}