Skip to content

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).
  • equipos es opcional; si lo envias, se guarda junto al reto.
  • idManager e idTrainer los 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>"
}