DTOs ProductoOfertaDto - bootcamp-uchile-2026/grupo-2-backend GitHub Wiki
ProductoOfertaDto
DTO de salida utilizado para representar los productos que poseen una oferta vigente en EcoTienda.
Utilizado por
GET /productos/ofertas
Página relacionada:
Tipo
DTO de salida.
Estructura
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
marca |
string | Sí | Marca asociada al producto |
nombreProducto |
string | Sí | Nombre del producto |
destacado |
boolean | Sí | Indica si el producto se encuentra destacado |
precioOriginal |
number | Sí | Precio original del producto antes de aplicar el descuento |
precioDescuento |
number | Sí | Precio final del producto con el descuento aplicado |
descuentoPorcentaje |
number | Sí | Porcentaje de descuento aplicado al producto |
imagenUrl |
string | Sí | URL de la imagen utilizada para representar el producto |
Representación conceptual en TypeScript
export class ProductoOfertaDto {
marca: string;
nombreProducto: string;
destacado: boolean;
precioOriginal: number;
precioDescuento: number;
descuentoPorcentaje: number;
imagenUrl: string;
}
Ejemplo
{
"marca": "Totto",
"nombreProducto": "Maleta de Viaje Mediana Trip Negra",
"destacado": true,
"precioOriginal": 62990,
"precioDescuento": 28290,
"descuentoPorcentaje": 55,
"imagenUrl": "https://ejemplo.cl/imagenes/maleta-trip-negra.jpg"
}
Respuesta del servicio
El endpoint devuelve una lista de productos:
ProductoOfertaDto[]
Ejemplo:
[
{
"marca": "Totto",
"nombreProducto": "Maleta de Viaje Mediana Trip Negra",
"destacado": true,
"precioOriginal": 62990,
"precioDescuento": 28290,
"descuentoPorcentaje": 55,
"imagenUrl": "https://ejemplo.cl/imagenes/maleta-trip-negra.jpg"
},
{
"marca": "Totto",
"nombreProducto": "Maleta de Viaje Grande",
"destacado": false,
"precioOriginal": 98990,
"precioDescuento": 62190,
"descuentoPorcentaje": 37,
"imagenUrl": "https://ejemplo.cl/imagenes/maleta-grande.jpg"
}
]