Artículos
Endpoints
Sección titulada «Endpoints»GET /api/items # Listar articulosPOST /api/items # Crear articuloPATCH /api/items/:id # Actualizar articuloDELETE /api/items/:id # Eliminar articuloGET /api/items/:id/batches # Lotes del articuloGET /api/items/:id/stock # Stock por almacen/zonaGET /api/items/:id/uoms # UOMs alternativasPOST /api/items/:id/uoms # Añadir UOM alternativaDELETE /api/items/:itemId/uoms/:id # Eliminar UOM alternativaCampos del artículo
Sección titulada «Campos del artículo»| Campo | Tipo | Descripción |
|---|---|---|
id |
UUID | Identificador |
code |
string | Código único |
name |
string | Nombre |
description |
string | Descripción |
uomId |
UUID | Unidad de medida base |
categoryId |
UUID | Categoría |
taxGroupId |
UUID | Grupo de impuestos |
manageBy |
N/B/S |
Sin trazabilidad / Por lotes / Por serie |
basePrice |
decimal | Precio base |
stock |
decimal | Stock total |
minStock |
decimal | Stock mínimo (alertas) |
Crear artículo
Sección titulada «Crear artículo»curl -X POST http://localhost:3000/api/items \ -H "Authorization: Bearer <token>" \ -H "x-tenant-id: <tenantId>" \ -H "Content-Type: application/json" \ -d '{ "code": "PROD-001", "name": "Producto ejemplo", "uomId": "uuid-uom", "categoryId": "uuid-cat", "taxGroupId": "uuid-tax", "manageBy": "N", "basePrice": 25.50 }'Trazabilidad
Sección titulada «Trazabilidad»manageBy: 'B'— Gestión por lotes (batchNum + expiryDate)manageBy: 'S'— Gestión por número de serie (serialNum único)manageBy: 'N'— Sin trazabilidad
Unidades de medida alternativas
Sección titulada «Unidades de medida alternativas»Cada artículo puede tener UOMs alternativas con factor de conversión:
POST /api/items/:id/uoms{ "uomId": "uuid-uom-caja", "factor": 12}Esto significa que 1 caja = 12 unidades base.