Skip to main content
GET
/
api
/
catalogs
/
fallas
Failure Modes Catalog
curl --request GET \
  --url https://api.example.com/api/catalogs/fallas
{
  "ID": 123,
  "FALLA": "<string>",
  "AREA": "<string>",
  "FALLA_BARRA": "<string>",
  "CATEGORIA": "<string>",
  "activo": 123
}

Overview

The Failure Modes catalog (Fallas) stores predefined failure types and defect categories. This standardizes scrap reporting and enables failure mode analysis.
Failure modes are typically area-specific, allowing each production area to track relevant defect types.

Endpoints

List All Failure Modes

curl -X GET http://localhost:3001/api/catalogs/fallas \
  -H "Authorization: Bearer YOUR_TOKEN"

Create Failure Mode

curl -X POST http://localhost:3001/api/catalogs/fallas \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "FALLA": "Defecto de moldeo",
    "AREA": "Moldeo",
    "FALLA_BARRA": "MOLD-001",
    "CATEGORIA": "Proceso",
    "activo": 1
  }'

Update Failure Mode

curl -X PUT http://localhost:3001/api/catalogs/fallas/1 \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"CATEGORIA": "Material"}'

Delete Failure Mode (Soft)

curl -X DELETE http://localhost:3001/api/catalogs/fallas/1 \
  -H "Authorization: Bearer YOUR_TOKEN"

Data Structure

ID
number
Unique identifier
FALLA
string
required
Failure mode description (e.g., “Defecto de moldeo”, “Contaminación”, “Dimensiones incorrectas”)
AREA
string
required
Production area where this failure mode applies
FALLA_BARRA
string
Failure code or barcode identifier
CATEGORIA
string
Failure category (e.g., “Proceso”, “Material”, “Equipo”, “Humano”)
activo
number
Status: 1 = active, 0 = inactive

Response Example

[
  {
    "ID": 1,
    "FALLA": "Defecto de moldeo",
    "AREA": "Moldeo",
    "FALLA_BARRA": "MOLD-001",
    "CATEGORIA": "Proceso",
    "activo": 1
  },
  {
    "ID": 2,
    "FALLA": "Contaminación de material",
    "AREA": "Moldeo",
    "FALLA_BARRA": "MOLD-002",
    "CATEGORIA": "Material",
    "activo": 1
  },
  {
    "ID": 3,
    "FALLA": "Soldadura defectuosa",
    "AREA": "Ensamble",
    "FALLA_BARRA": "ENS-001",
    "CATEGORIA": "Proceso",
    "activo": 1
  }
]

TypeScript Interface

export interface Falla {
  ID: number;
  FALLA: string;
  AREA: string;
  FALLA_BARRA: string;
  CATEGORIA?: string;
  activo: number;
}

Common Failure Categories

Proceso

Manufacturing process issues

Material

Raw material defects

Equipo

Equipment malfunctions

Humano

Operator errors

Usage in Scrap Registration

When registering scrap, users select a failure mode from this catalog:
// Filter failure modes by current area
const getFailureModesByArea = (area, catalog) => {
  return catalog.filter(falla => 
    falla.AREA === area && falla.activo === 1
  );
};

// Usage in form
const currentArea = 'Moldeo';
const availableFailures = getFailureModesByArea(currentArea, fallasCatalog);

// Render dropdown
<select name="MODO_FALLA">
  <option value="-">Sin falla específica</option>
  {availableFailures.map(f => (
    <option key={f.ID} value={f.FALLA}>{f.FALLA}</option>
  ))}
</select>

Pareto Analysis

The failure modes catalog enables Pareto analysis to identify the most common defects:
// Get top failure modes from scrap data
const getTopFailures = async (startDate, endDate, limit = 10) => {
  const response = await fetch(
    `http://localhost:3001/api/reports/top-fallas?` +
    `fecha_inicio=${startDate}&fecha_fin=${endDate}&limit=${limit}`,
    {
      headers: { 'Authorization': `Bearer ${getToken()}` }
    }
  );
  return await response.json();
};

Permissions

View

All authenticated users

Create/Edit

admin, calidad roles only

Best Practices

Standardization: Use consistent naming conventions for failure modes across areas to enable cross-area analysis.
Area-Specific: Create failure modes specific to each area for accurate tracking and relevant reporting.
Don’t Delete: Instead of deleting obsolete failure modes, mark them as inactive (activo = 0) to preserve historical data integrity.

Build docs developers (and LLMs) love