Favoritos
Marcar productos como favoritos, listarlos y quitarlos.
Listar favoritos
GET /api/v1/ecommerce/favorites
Devuelve los productos marcados, del más reciente al más antiguo.
Respuesta
{
"success": true,
"message": "Listado de productos marcados como favoritos",
"data": [
{
"id": 101,
"description": "Zapatilla Runner Pro",
"brand": { "id": 4, "marca": "Adidas" },
"sale_unit_price": 189.9,
"currency": { "id": "PEN", "description": "Soles", "symbol": "S/" },
"cover": { "id": 55, "description": "Frontal", "is_cover": 1, "path": "https://tienda.ejemplo.com/storage/items/zapatilla.jpg" },
"min_order": 1,
"has_variants": false
}
]
}
| Campo | Tipo | Qué es |
|---|---|---|
id |
entero | Identificador del producto |
description |
texto | Nombre del producto |
brand |
objeto o null | Marca |
sale_unit_price |
número | Precio de venta. Llega como número, por ejemplo 189.9, sin ceros a la derecha: dale tú el formato con dos decimales |
currency |
objeto | Moneda del precio |
cover |
objeto o null | Imagen principal, con su dirección en path |
min_order |
número | Cantidad mínima de compra |
has_variants |
booleano | Si el producto tiene variantes (talla, color…) |
Un producto que la tienda dejó de mostrar después de marcarlo sigue apareciendo en la lista.
Añadir a favoritos
POST /api/v1/ecommerce/favorites/{itemId}/save
itemId: identificador del producto.- No lleva cuerpo.
{ "success": true, "message": "Producto agregado a la lista de favoritos.", "data": null }
Si algo sale mal
| HTTP | code | Cuándo | Qué hacer |
|---|---|---|---|
| 404 | PRODUCT_NOT_FOUND |
El producto no existe o no está en la tienda | Revisa el identificador |
| 409 | FAVORITE_ALREADY_EXISTS |
El producto ya estaba en favoritos | Nada: ya está marcado |
Quitar de favoritos
DELETE /api/v1/ecommerce/favorites/{itemId}/delete
{ "success": true, "message": "Producto eliminado de la lista de favoritos.", "data": null }
Si algo sale mal
| HTTP | code | Cuándo | Qué hacer |
|---|---|---|---|
| 404 | FAVORITE_NOT_FOUND |
El producto no estaba en favoritos | Nada: ya no está marcado |