> ## Documentation Index
> Fetch the complete documentation index at: https://docs.neuracall.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Categorías de Modelo

> Agrupación lógica de criterios de evaluación dentro de modelos de análisis

## ¿Qué son las Categorías?

Las categorías son **agrupaciones lógicas de criterios de evaluación** dentro de un modelo de análisis. Permiten organizar las variables de puntuación en secciones coherentes que reflejan las diferentes etapas o aspectos de una llamada.

Por ejemplo, una llamada de servicio al cliente típicamente tiene estas fases:

<Tree>
  <Tree.Folder name="Modelo: Servicio al Cliente" defaultOpen>
    <Tree.File name="1. Apertura - Saludo e identificación" />

    <Tree.File name="2. Diagnóstico - Comprensión del problema" />

    <Tree.File name="3. Resolución - Solución proporcionada" />

    <Tree.File name="4. Cierre - Despedida y seguimiento" />
  </Tree.Folder>
</Tree>

## ¿Por qué usar Categorías?

<CardGroup cols={2}>
  <Card title="Organización" icon="folder-tree">
    Estructuran la evaluación en secciones claras y manejables
  </Card>

  <Card title="Análisis Segmentado" icon="chart-pie">
    Permiten identificar fortalezas y debilidades por área específica
  </Card>

  <Card title="Reportes Detallados" icon="file-chart-line">
    Facilitan reportes desglosados por fase de la llamada
  </Card>

  <Card title="Coaching Dirigido" icon="bullseye">
    Ayudan a enfocar el entrenamiento en áreas específicas de mejora
  </Card>
</CardGroup>

## Estructura de una Categoría

| Campo          | Tipo    | Descripción                                    | Requerido |
| -------------- | ------- | ---------------------------------------------- | --------- |
| `name`         | string  | Nombre descriptivo de la categoría             | Sí        |
| `description`  | string  | Explicación de qué evalúa esta categoría       | Sí        |
| `max_score`    | integer | Puntuación máxima alcanzable en esta categoría | Sí        |
| `order_number` | integer | Posición en la secuencia de evaluación         | No        |

## Ejemplos por Tipo de Llamada

### Ventas Outbound

<Tree>
  <Tree.Folder name="Modelo: Ventas Outbound" defaultOpen>
    <Tree.File name="1. Introducción - Presentación y rapport" />

    <Tree.File name="2. Descubrimiento - Necesidades del cliente" />

    <Tree.File name="3. Presentación - Propuesta de valor" />

    <Tree.File name="4. Manejo de Objeciones - Respuesta a dudas" />

    <Tree.File name="5. Cierre - Compromiso y siguiente paso" />
  </Tree.Folder>
</Tree>

### Soporte Técnico

<Tree>
  <Tree.Folder name="Modelo: Soporte Técnico" defaultOpen>
    <Tree.File name="1. Identificación - Validación del cliente" />

    <Tree.File name="2. Diagnóstico - Recopilación de síntomas" />

    <Tree.File name="3. Troubleshooting - Pasos de solución" />

    <Tree.File name="4. Escalamiento - Manejo de casos complejos" />

    <Tree.File name="5. Documentación - Registro del caso" />
  </Tree.Folder>
</Tree>

## Gestión vía API

### Listar Categorías de un Modelo

```bash theme={null}
GET /v1/models/{model_id}/categories
Authorization: Bearer <token>
```

### Crear una Nueva Categoría

```bash theme={null}
POST /v1/models/{model_id}/categories
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "Apertura",
  "description": "Evaluación del inicio de la llamada: saludo, identificación y detección de necesidad",
  "max_score": 25,
  "order_number": 1
}
```

### Actualizar una Categoría

```bash theme={null}
PUT /v1/models/{model_id}/categories/{category_id}
Authorization: Bearer <token>
Content-Type: application/json

{
  "name": "Apertura y Bienvenida",
  "description": "Evaluación completa del inicio de la llamada",
  "max_score": 30,
  "order_number": 1
}
```

## Restricciones Importantes

<Warning>
  **No se puede modificar ni eliminar una categoría si el modelo tiene análisis existentes.**

  Esta restricción garantiza la integridad de los datos históricos. Los análisis completados
  mantienen su estructura original para que los reportes comparativos sean consistentes.
</Warning>

### ¿Qué hacer si necesitas modificar categorías?

1. **Crear un nuevo modelo**: Duplica el modelo con las categorías actualizadas
2. **Agregar categorías**: Puedes agregar nuevas categorías a modelos existentes
3. **Desactivar el modelo**: Desactiva el modelo actual y crea uno nuevo con la estructura deseada

## Mejores Prácticas

<Steps>
  <Step title="Planifica antes de crear">
    Define todas las categorías antes de comenzar a analizar llamadas.
  </Step>

  <Step title="Usa nombres descriptivos">
    "Apertura de Llamada" es mejor que "Categoría 1".
  </Step>

  <Step title="Mantén el orden lógico">
    El `order_number` debe reflejar el flujo natural de la llamada.
  </Step>

  <Step title="Limita la cantidad">
    3-6 categorías es ideal. Demasiadas dificultan el análisis.
  </Step>

  <Step title="Balancea los pesos">
    Distribuye el `max_score` según la importancia de cada fase.
  </Step>
</Steps>

## Relación con Otros Recursos

<CardGroup cols={2}>
  <Card title="Variables de Modelo" icon="list-check" href="/concepts/model-variables">
    Criterios específicos dentro de categorías
  </Card>

  <Card title="API de Categorías" icon="code" href="/api-reference/models/categories/list">
    Referencia completa de endpoints
  </Card>
</CardGroup>
