Saltearse al contenido

Productos

Contiene la lista de todos los productos disponibles en el sistema.
Nombre Tipo Descripción Tipo de key
id string Identificador único del producto. PK
NombreProducto string Nombre del producto.
Precio decimal Precio del producto.
Inventario number Cantidad de producto en inventario.
Imagen string URL de la imagen del producto.
Descripción string Descripción detallada del producto.
thumbnail string URL de la miniatura del producto.
Marca string Marca del producto.

Es importante señalar que existe una entidad intermedia entre los productos y las categorías debido a que se relacionan de muchos a muchos

Nombre Tipo Descripción Tipo de key
IdCategory int FK que lo relaciona con la entidad de las categorías y a su vez es parte de la clave compuesta FK PK
IdProduct int FK que lo relaciona con la entidad de los productos y a su vez es parte de la clave compuesta FK PK

GetAll

3 de los 5 endpoints son para obtener información.

GET /api/Product
getAllProducts.tsx
{
"metaData": {
"totalCount": 31,
"pageSize": 3,
"currentPage": 1,
"totalPage": 11,
"hasNextPage": true,
"hasPreviousPage": false,
"nextPageURL": "https://apifakerubikstore.azurewebsites.net/api/Product?MinPrice=&MaxPrice=&PageSize=3&PageNumber=2",
"previousPageURL": "https://apifakerubikstore.azurewebsites.net/api/Product?MinPrice=&MaxPrice=&PageSize=3&PageNumber=false"
},
"statusCode": 200,
"msg": "This is all products",
"response": [
{
"id": 2,
"name": "GAN Mirror M (Magnético) UV 3×3 Morado",
"price": 120000,
"thumbnail": "39e50337-fe40-4683-88fb-b440d1bdb9a7"
},
{
"id": 1002,
"name": "QiYi Warrior 3x3 S",
"price": 12900,
"thumbnail": "922de203-de10-404d-b8bc-5c503ca24a61"
},
{
"id": 1003,
"name": "MoYu Super RS3 M 2022",
"price": 66900,
"thumbnail": "79f4fa59-c04c-481b-98b3-86bad3f5af6b"
}
]
}
GET /api/Product/AllInfo
getAllInfoProducts.tsx
{
"metaData": {
"totalCount": 31,
"pageSize": 3,
"currentPage": 1,
"totalPage": 11,
"hasNextPage": true,
"hasPreviousPage": false,
"nextPageURL": "https://apifakerubikstore.azurewebsites.net/api/Product?MinPrice=&MaxPrice=&PageSize=3&PageNumber=2",
"previousPageURL": "https://apifakerubikstore.azurewebsites.net/api/Product?MinPrice=&MaxPrice=&PageSize=3&PageNumber=false"
},
"statusCode": 200,
"msg": "This is all products",
"response": [
{
"reviews": [
{
"productId": 2,
"userId": 1004,
"description": "Es un gran cubo, muy buen material, muy lindo y tiene gran giro",
"rate": 5
}
],
"productCategories": [
{
"idCategory": 1,
"idProduct": 2,
"categoryNav": {
"id": 1,
"name": "3x3"
}
},
{
"idCategory": 6,
"idProduct": 2,
"categoryNav": {
"id": 6,
"name": "MAGNETICO"
}
}
],
"id": 2,
"name": "GAN Mirror M (Magnético) UV 3×3 Morado",
"price": 120000,
"stock": 10,
"image": "eadc4650-7dab-4f70-9657-2354615566ed",
"description": "Nuevo desafío: GAN MirrorM es un nuevo diseño visual con un cubo de velocidad de 3 x 3, que no se resuelve con colores sino por formas. El cubo de espejo GAN te traerá más diversión",
"thumbnail": "39e50337-fe40-4683-88fb-b440d1bdb9a7"
},
{
"reviews": [],
"productCategories": [
{
"idCategory": 1,
"idProduct": 1002,
"categoryNav": {
"id": 1,
"name": "3x3"
}
},
{
"idCategory": 3,
"idProduct": 1002,
"categoryNav": {
"id": 3,
"name": "WCA"
}
}
],
"id": 1002,
"name": "QiYi Warrior 3x3 S",
"price": 12900,
"stock": 20,
"image": "19a7cd72-c7dd-429d-9dce-e2c8a34e5314",
"description": "El QiYi Warrior 3x3 S es el nuevo speedcube económico de la marca qiyi. Es igual que el Qiyi Warrior W, con la diferencia de que la cantidad de plástico usado para la fabricación es menor, de esta forma se abarata el coste del producto haciéndolo más accesible.",
"thumbnail": "922de203-de10-404d-b8bc-5c503ca24a61"
},
{
"reviews": [],
"productCategories": [
{
"idCategory": 1,
"idProduct": 1003,
"categoryNav": {
"id": 1,
"name": "3x3"
}
},
{
"idCategory": 3,
"idProduct": 1003,
"categoryNav": {
"id": 3,
"name": "WCA"
}
},
{
"idCategory": 6,
"idProduct": 1003,
"categoryNav": {
"id": 6,
"name": "MAGNETICO"
}
}
],
"id": 1003,
"name": "MoYu Super RS3 M 2022",
"price": 66900,
"stock": 15,
"image": "1eb2fd2d-3301-4a53-8f8e-52b9f4e9c067",
"description": "El MoYu Super RS3 M 2022 es un cubo 3x3 con un giro y unas sensaciones increíblemente buenas, tiene un gran corte de esquinas y un giro muy suave, rápido y directo, con apenas aplicarle una pequeña fuerza a cualquier cara se hace un giro, pero ¡cuidado!, la potencia sin control no sirve de nada.",
"thumbnail": "79f4fa59-c04c-481b-98b3-86bad3f5af6b"
}
]
}

Sirven para obtener de forma paginada los productos, además de poderlos filtrar por precio, nombre, descripción y categoría. Ambas rutas reciben por query params

Params

Ambos endpoints reciben los mismos query params.

NameProduct

tipo string

Sive para filtrar los productos por los contenidos de la descripción

DescriptionProduct

tipo string

Sive para filtrar los productos por los contenidos del nombre

MinPrice

tipo integer

Es util para filtrar productos que tengan un precio menor del indicado

MaxPrice

tipo integer

Es util para filtrar productos que tengan un precio mayor del indicado

CategoriesIds

tipo array[integer]

Se utilizan para filtrar productos mediante sus categorias (Ver entidad categorias)

PageSize

tipo integer

Indica el número de productos que se recibirán en cada solucitud.

PageNumber

tipo integer

Indica el numero de pagina al que se desea ir. Sirve para especificar cuantos productos quieres saltear, para así seleccionar un conjunto de productos en esecifico

Get by Id

GET /api/Product/{id}
getById.json
{
"msg": "This is the product selected",
"response": {
"reviews": [
{
"productId": 2,
"userId": 1004,
"description": "Es un gran cubo, muy buen material, muy lindo y tiene gran giro",
"rate": 5
}
],
"productCategories": [
{
"idCategory": 1,
"idProduct": 2,
"categoryNav": {
"id": 1,
"name": "3x3"
}
},
{
"idCategory": 6,
"idProduct": 2,
"categoryNav": {
"id": 6,
"name": "MAGNETICO"
}
}
],
"id": 2,
"name": "GAN Mirror M (Magnético) UV 3×3 Morado",
"price": 120000,
"stock": 10,
"image": "eadc4650-7dab-4f70-9657-2354615566ed",
"description": "Nuevo desafío: GAN MirrorM es un nuevo diseño visual con un cubo de velocidad de 3 x 3, que no se resuelve con colores sino por formas. El cubo de espejo GAN te traerá más diversión",
"thumbnail": "39e50337-fe40-4683-88fb-b440d1bdb9a7"
}
}

En la URL se recibe como ultimo parametro el id del producto que se desea

Post

POST /api/Product

Este endpoint se usa para crear un producto. Recibe por medio de FormData un objeto con los siguientes campos

createProduct.ts
{
Name: "",
Price: 0,
Stock: 0,
Description: "",
Image: "",
Thumbnail: "",
ProductCategories: []
}

Put

PUT /api/Product/update

El metodo put recibe los mismos campos que el metodo Post