← Volver a ArticulosController

📦 Artículos Principales

Endpoints para la gestión CRUD completa de artículos base del sistema

Descripción General

Los endpoints de Artículos Principales proporcionan las operaciones fundamentales para gestionar los artículos base del sistema RestMaster. Estos endpoints manejan la información esencial de cada producto, incluyendo su identificación, nombre, precio, familia y estado.

🎯 Características de los Artículos Principales

  • Identificación única: Cada artículo tiene un ID único en el sistema
  • Información básica: Nombre, descripción, precio y categorización
  • Estado activo/inactivo: Control de disponibilidad del artículo
  • Relación con familias: Organización jerárquica de productos
  • Validación de datos: Verificación de integridad de la información

Endpoints Disponibles

GET /Master/Articulos/GetArticulos

Obtiene todos los artículos disponibles en el sistema. Este endpoint devuelve una lista completa de todos los artículos registrados en la base de datos.
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Lista de artículos devuelta exitosamente
{ "articuloId": "ART001", "nombre": "Hamburguesa Clásica", "precio": 12.50, "familiaId": "FAM001", "activo": true, "descripcion": "Hamburguesa con carne, lechuga, tomate y queso" }
500 Internal Server Error
Error interno del servidor

GET /Master/Articulos/GetArticulo/{id}

Obtiene un artículo específico por su ID. Este endpoint permite recuperar la información detallada de un artículo en particular.
Parámetros de ruta:
  • id (string, requerido): ID único del artículo
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Artículo encontrado y devuelto
404 Not Found
Artículo no encontrado
500 Internal Server Error
Error interno del servidor

POST /Master/Articulos/AddArticulo

Crea un nuevo artículo en el sistema. Este endpoint permite agregar un nuevo producto al catálogo del restaurante.
Body (JSON):
{ "nombre": "Nuevo Producto", "precio": 15.99, "familiaId": "FAM002", "descripcion": "Descripción del nuevo producto", "activo": true }
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
201 Created
Artículo creado exitosamente
{ "articuloId": "ART002", "nombre": "Nuevo Producto", "precio": 15.99, "familiaId": "FAM002", "descripcion": "Descripción del nuevo producto", "activo": true, "fechaCreacion": "2024-01-15T10:30:00Z" }
500 Internal Server Error
Error interno del servidor

PUT /Master/Articulos/UpdateArticulo/{id}

Actualiza un artículo existente en el sistema. Este endpoint permite modificar la información de un artículo ya registrado.
Parámetros de ruta:
  • id (string, requerido): ID del artículo a actualizar
Body (JSON):
{ "nombre": "Hamburguesa Clásica Actualizada", "precio": 13.50, "familiaId": "FAM001", "descripcion": "Hamburguesa mejorada con ingredientes premium", "activo": true }
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Artículo actualizado exitosamente
404 Not Found
Artículo no encontrado
500 Internal Server Error
Error interno del servidor

DELETE /Master/Articulos/DeleteArticulo/{id}

Elimina un artículo del sistema. Este endpoint permite remover un producto del catálogo del restaurante.
Parámetros de ruta:
  • id (string, requerido): ID del artículo a eliminar
Parámetros de consulta:
  • initialCatalog (string, requerido): Nombre de la base de datos
  • userID (string, opcional): ID de usuario de la base de datos
  • password (string, opcional): Contraseña de la base de datos
200 OK
Artículo eliminado exitosamente
{ "message": "Articulo deleted successfully", "articulo": { "articuloId": "ART001", "nombre": "Hamburguesa Clásica", "precio": 12.50, "familiaId": "FAM001", "activo": false } }
404 Not Found
Artículo no encontrado
500 Internal Server Error
Error interno del servidor

Modelo de Datos - Articulo

Propiedades del modelo Articulo:
  • ArticuloId (string): Identificador único del artículo
  • Nombre (string): Nombre del producto
  • Precio (decimal): Precio de venta del artículo
  • FamiliaId (string): ID de la familia a la que pertenece
  • Descripcion (string): Descripción detallada del producto
  • Activo (bool): Estado de disponibilidad del artículo
  • FechaCreacion (DateTime): Fecha de creación del registro
  • FechaModificacion (DateTime): Fecha de última modificación

Servicio Utilizado

IArticulosService - Servicio principal para la gestión de artículos
  • GetAllArticulos(): Obtiene todos los artículos
  • GetArticuloById(): Obtiene un artículo por ID
  • AddArticulo(): Crea un nuevo artículo
  • UpdateArticulo(): Actualiza un artículo existente
  • DeleteArticulo(): Elimina un artículo