Resumen de la API de Plantillas
Las plantillas son configuraciones reutilizables de notebooks que definen flujos de trabajo de análisis. Utiliza la API de Plantillas para listar, obtener, crear y gestionar plantillas de notebooks de forma programática.
Conceptos Clave
¿Qué Son las Plantillas?
Las plantillas son definiciones preconfiguradas de notebooks que contienen:
- Bloques: Filtros, calculadoras, insights y otros componentes de análisis
- Texto MCL: El texto de configuración que define la estructura del notebook
- Metadatos: Nombre, descripción, categoría y contexto del proceso
Cuando creas un notebook a partir de una plantilla, todos los bloques y configuraciones se aplican automáticamente.
Tipos de Plantillas
| Tipo | Alcance | ¿Se puede crear vía API? | ¿Se puede eliminar vía API? |
|---|---|---|---|
| Global | Todos los tenants | No | No |
| Específico de Tenant | Tenant único | Sí | Sí |
Las plantillas globales son para todo el sistema y se gestionan a través de la interfaz de administración. Las plantillas específicas de tenant pueden crearse y gestionarse mediante esta API.
Categorías de Plantillas
Las plantillas se organizan en categorías:
| Categoría | Descripción |
|---|---|
Templates |
Plantillas estándar de análisis |
Custom |
Plantillas personalizadas creadas por el usuario |
BaseKnowledge |
Plantillas de conocimiento fundamental |
Autenticación
Todos los endpoints de la API de Plantillas requieren una Clave API Global. Las claves API específicas de tenant no pueden acceder a operaciones de plantillas.
curl -H "Authorization: Bearer YOUR_GLOBAL_API_KEY" \
https://your-mindzie-instance.com/api/templates
Si usas una clave API que no es global, recibirás:
{
"error": "This endpoint requires a Global API key.",
"hint": "Global API keys can be created at /admin/global-api-keys"
}
Endpoints de la API
| Método | Endpoint | Descripción |
|---|---|---|
| GET | /api/templates |
Listar todas las plantillas globales |
| GET | /api/templates/tenant/{tenantId} |
Listar plantillas para un tenant (global + específico de tenant) |
| GET | /api/templates/category/{category} |
Listar plantillas por categoría |
| GET | /api/templates/{templateId} |
Obtener detalles de una plantilla con texto MCL |
| GET | /api/templates/{templateId}/thumbnail |
Obtener imagen miniatura de la plantilla |
| POST | /api/templates/tenant/{tenantId} |
Crear una plantilla específica de tenant |
| PUT | /api/templates/{templateId} |
Actualizar una plantilla |
| DELETE | /api/templates/{templateId} |
Eliminar una plantilla |
Inicio Rápido
Listar Todas las Plantillas para un Tenant
curl -X GET "https://your-mindzie-instance.com/api/templates/tenant/12345678-1234-1234-1234-123456789012" \
-H "Authorization: Bearer YOUR_GLOBAL_API_KEY"
Obtener Detalles de una Plantilla
curl -X GET "https://your-mindzie-instance.com/api/templates/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
-H "Authorization: Bearer YOUR_GLOBAL_API_KEY"
Crear un Notebook desde una Plantilla
Utiliza la API de Notebook para crear un notebook a partir de una plantilla:
curl -X POST "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}/from-template" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"name": "Mi Análisis"
}'
Estructura de la Respuesta
Respuesta de Lista de Plantillas
{
"templates": [
{
"templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"name": "Descubrimiento de Procesos",
"description": "Flujo estándar de descubrimiento de procesos",
"category": "Templates",
"processName": "Order to Cash",
"tenantId": null,
"isGlobal": true,
"hasThumbnail": true,
"autoAddedDefaultSortOrder": 100,
"dateModified": "2024-01-15T10:30:00Z"
}
],
"totalCount": 1
}
Respuesta de Detalle de Plantilla
{
"templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"name": "Descubrimiento de Procesos",
"description": "Flujo estándar de descubrimiento de procesos",
"category": "Templates",
"processName": "Order to Cash",
"mclText": "// MCL configuration text here...",
"tenantId": null,
"isGlobal": true,
"hasThumbnail": true,
"autoAddedDefaultSortOrder": 100,
"originatingNotebookId": null,
"dateCreated": "2024-01-01T00:00:00Z",
"dateModified": "2024-01-15T10:30:00Z",
"createdBy": null,
"createdByName": "System",
"modifiedBy": null,
"modifiedByName": "System"
}
¿Qué Sigue?
- Gestión de Plantillas - Operaciones CRUD completas para plantillas
- API de Notebook - Crear notebooks a partir de plantillas