Vue d'ensemble de l'API Template
Les templates sont des configurations réutilisables de notebooks qui définissent des workflows d'analyse. Utilisez l'API Template pour lister, récupérer, créer et gérer les templates de notebooks de manière programmatique.
Concepts Clés
Qu'est-ce qu'un Template ?
Les templates sont des définitions de notebooks pré-configurées contenant :
- Blocs : Filtres, calculateurs, insights et autres composants d'analyse
- Texte MCL : Le texte de configuration qui définit la structure du notebook
- Métadonnées : Nom, description, catégorie et contexte du processus
Lorsque vous créez un notebook à partir d'un template, tous les blocs et configurations sont automatiquement appliqués.
Types de Templates
| Type | Portée | Création via API ? | Suppression via API ? |
|---|---|---|---|
| Global | Tous les tenants | Non | Non |
| Spécifique au Tenant | Tenant unique | Oui | Oui |
Les templates globaux sont système-wide et gérés via l'interface d'administration. Les templates spécifiques au tenant peuvent être créés et gérés via cette API.
Catégories de Templates
Les templates sont organisés en catégories :
| Catégorie | Description |
|---|---|
Templates |
Templates standards pour l'analyse |
Custom |
Templates personnalisés créés par l'utilisateur |
BaseKnowledge |
Templates de connaissances fondamentales |
Authentification
Tous les endpoints de l'API Template nécessitent une clé API Globale. Les clés API des tenants ne peuvent pas accéder aux opérations liées aux templates.
curl -H "Authorization: Bearer YOUR_GLOBAL_API_KEY" \
https://your-mindzie-instance.com/api/templates
Si vous utilisez une clé API non globale, vous recevrez :
{
"error": "This endpoint requires a Global API key.",
"hint": "Global API keys can be created at /admin/global-api-keys"
}
Points de terminaison de l'API
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /api/templates |
Liste tous les templates globaux |
| GET | /api/templates/tenant/{tenantId} |
Liste les templates pour un tenant (globaux + spécifiques au tenant) |
| GET | /api/templates/category/{category} |
Liste les templates par catégorie |
| GET | /api/templates/{templateId} |
Obtenir les détails d'un template avec le texte MCL |
| GET | /api/templates/{templateId}/thumbnail |
Obtenir l'image miniature d'un template |
| POST | /api/templates/tenant/{tenantId} |
Créer un template spécifique au tenant |
| PUT | /api/templates/{templateId} |
Mettre à jour un template |
| DELETE | /api/templates/{templateId} |
Supprimer un template |
Démarrage rapide
Lister tous les templates pour 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"
Obtenir les détails d'un template
curl -X GET "https://your-mindzie-instance.com/api/templates/aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee" \
-H "Authorization: Bearer YOUR_GLOBAL_API_KEY"
Créer un notebook à partir d'un template
Utilisez l'API Notebook pour créer un notebook à partir d'un template :
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": "My Analysis"
}'
Structure des réponses
Réponse de la liste des templates
{
"templates": [
{
"templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"name": "Process Discovery",
"description": "Standard process discovery workflow",
"category": "Templates",
"processName": "Order to Cash",
"tenantId": null,
"isGlobal": true,
"hasThumbnail": true,
"autoAddedDefaultSortOrder": 100,
"dateModified": "2024-01-15T10:30:00Z"
}
],
"totalCount": 1
}
Réponse des détails d'un template
{
"templateId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"name": "Process Discovery",
"description": "Standard process discovery workflow",
"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"
}
Et après ?
- Gestion des Templates - Opérations CRUD complètes pour les templates
- API Notebook - Créer des notebooks à partir de templates