API · Dummy Data

Dummy Store API

API REST con productos, categorías y datos de tienda en línea. Perfecta para practicar integración de e-commerce, construir catálogos de práctica y desarrollar UIs de listado de productos.

Base URL:https://meshicode.com/api/store
⚠️

Esta es una API de datos dummy. Los métodos POST, PUT y DELETE simulan respuestas correctas pero no persisten cambios. Los datos se reinician en cada deploy.

Endpoints

GET/api/store/products

Retorna la lista paginada de todos los productos.

Query params

NombreTipoDefaultDescripción
pagenumber1Número de página
limitnumber10Resultados por página (máx. 50)
categoryIdnumberFiltra por ID de categoría
activebooleanFiltra por estado: true | false
minPricenumberPrecio mínimo
maxPricenumberPrecio máximo

Respuesta de ejemplo

{
  "data": [
    {
      "id": 1,
      "name": "Audífonos Inalámbricos Pro",
      "description": "Audífonos bluetooth con cancelación de ruido.",
      "price": 1299.99,
      "salePrice": 999.99,
      "category": "Electrónica",
      "categoryId": 1,
      "stock": 45,
      "sku": "ELEC-001",
      "image": "https://picsum.photos/seed/headphones/400/400",
      "rating": 4.7,
      "reviews": 128,
      "active": true,
      "createdAt": "2024-01-10T08:00:00Z"
    }
  ],
  "meta": { "total": 12, "page": 1, "limit": 10, "totalPages": 2 }
}
GET/api/store/products/:id

Retorna un producto específico por su ID.

Query params

NombreTipoDefaultDescripción
idnumberID del producto (path param)

Respuesta de ejemplo

{
  "id": 3,
  "name": "Laptop Developer Edition",
  "description": "Laptop 16" con Intel Core i9, 32GB RAM y SSD 1TB.",
  "price": 32500.00,
  "salePrice": 29999.00,
  "category": "Electrónica",
  "categoryId": 1,
  "stock": 12,
  "sku": "ELEC-003",
  "image": "https://picsum.photos/seed/laptop/400/400",
  "rating": 4.9,
  "reviews": 54,
  "active": true,
  "createdAt": "2024-02-01T10:00:00Z"
}
GET/api/store/categories

Retorna la lista completa de categorías disponibles.

Respuesta de ejemplo

{
  "data": [
    { "id": 1, "name": "Electrónica", "slug": "electronica", "description": "Dispositivos electrónicos y accesorios" },
    { "id": 2, "name": "Ropa",        "slug": "ropa",        "description": "Prendas de vestir para hombre, mujer y niños" },
    { "id": 3, "name": "Hogar",       "slug": "hogar",       "description": "Artículos para el hogar y decoración" },
    { "id": 4, "name": "Deportes",    "slug": "deportes",    "description": "Equipamiento y ropa deportiva" },
    { "id": 5, "name": "Libros",      "slug": "libros",      "description": "Libros físicos y digitales" }
  ],
  "meta": { "total": 5 }
}
POST/api/store/products

Simula la creación de un producto. Retorna el objeto creado. Los datos NO se persisten.

Body (JSON)

NombreTipoDefaultDescripción
namestringNew ProductNombre del producto
descriptionstringDescripción del producto
pricenumber0Precio base
salePricenumber|nullnullPrecio con descuento (opcional)
categoryIdnumber1ID de la categoría
stocknumber0Unidades disponibles
skustringautoCódigo SKU único

Respuesta de ejemplo

{
  "id": 13,
  "name": "Mouse Inalámbrico",
  "description": "Mouse ergonómico con receptor USB.",
  "price": 450.00,
  "salePrice": null,
  "category": "Uncategorized",
  "categoryId": 1,
  "stock": 30,
  "sku": "PROD-1718888400000",
  "image": "https://picsum.photos/seed/1718888400000/400/400",
  "rating": 0,
  "reviews": 0,
  "active": true,
  "createdAt": "2026-06-20T12:00:00Z"
}
PUT/api/store/products/:id

Simula la actualización de un producto. Retorna el objeto con los cambios. Los datos NO se persisten.

Body (JSON)

NombreTipoDefaultDescripción
idnumberID del producto (path param)
...fieldsanyCualquier campo del producto a actualizar

Respuesta de ejemplo

{
  "id": 1,
  "name": "Audífonos Inalámbricos Pro",
  "price": 1199.99,
  "salePrice": 899.99,
  "stock": 50,
  "active": true
}
DELETE/api/store/products/:id

Simula la eliminación de un producto. Retorna un mensaje de confirmación. Los datos NO se persisten.

Query params

NombreTipoDefaultDescripción
idnumberID del producto (path param)

Respuesta de ejemplo

{ "message": "Product 1 deleted successfully" }

Tipo: Product

{
  id:          number
  name:        string
  description: string
  price:       number
  salePrice:   number | null
  category:    string
  categoryId:  number
  stock:       number
  sku:         string
  image:       string
  rating:      number   // 0–5
  reviews:     number
  active:      boolean
  createdAt:   string   // ISO 8601
}

Tipo: Category

{
  id:          number
  name:        string
  slug:        string
  description: string
}

Ejemplo cURL

curl "https://meshicode.com/api/store/products?categoryId=1&limit=5"

Notas

  • Sin autenticación requerida
  • Respuestas en JSON
  • 12 productos en el seed
  • 5 categorías disponibles
  • IDs de productos del 1 al 12