Notebook API Übersicht
Notebooks sind Container für Analyseblöcke, die Prozess-Mining-Workflows innerhalb von Untersuchungen definieren. Verwenden Sie die Notebook API, um Analyse-Workflows programmatisch zu erstellen, zu verwalten und auszuführen.
Wichtige Konzepte
Was sind Notebooks?
Notebooks enthalten geordnete Sequenzen von Analyseblöcken:
- Filter: Eingrenzung der Daten auf bestimmte Fälle oder Ereignisse
- Berechner: Berechnung von Metriken, Dauern und abgeleiteten Werten
- Insights: Erzeugung von Visualisierungen und statistischen Analysen
- Dashboards: Erstellung von teilbaren Berichten
Die Blöcke werden der Reihe nach ausgeführt, wobei jeder Block Daten vom übergeordneten Block erhält.
Notebook-Typen
| Typ | Wert | Beschreibung |
|---|---|---|
| Standard | 0 | Reguläres Analyse-Notebook |
| Template | 1 | Auf Vorlagen basierendes Notebook |
| BaseKnowledge | 2 | Grundlagen-Notebook |
Automatisches Laden
Notebook-CRUD-Operationen laden das Projekt automatisch in den gemeinsamen Cache. Es ist nicht erforderlich, vor dem Erstellen, Aktualisieren oder Löschen von Notebooks /project/{id}/load explizit aufzurufen.
# Rufen Sie die Operation einfach direkt auf - das Projekt lädt automatisch
response = requests.post(
f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/investigation/{investigation_id}",
json={"name": "Neues Notebook"},
headers=headers
)
Optimistisches Sperren
Update-Operationen unterstützen eine optionale Konflikterkennung mit DateModified:
# DateModified einfügen, um gleichzeitige Änderungen zu erkennen
response = requests.put(
f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/{notebook_id}",
json={
"name": "Aktualisierter Name",
"dateModified": "2024-01-15T10:30:00Z" # Von Ihrem letzten GET
},
headers=headers
)
# Wenn ein anderer Nutzer das Notebook geändert hat, wird 409 Conflict zurückgegeben
API-Endpunkte
Notebook CRUD
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} |
Notebooks in Untersuchung auflisten |
| POST | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} |
Notebook erstellen |
| POST | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId}/from-template |
Aus Vorlage erstellen |
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId} |
Notebook-Details abrufen |
| PUT | /api/{tenantId}/{projectId}/notebook/{notebookId} |
Notebook aktualisieren |
| DELETE | /api/{tenantId}/{projectId}/notebook/{notebookId} |
Notebook löschen |
| POST | /api/{tenantId}/{projectId}/notebook/{notebookId}/copy |
Notebook kopieren |
Block-Operationen
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks |
Blöcke auflisten |
| POST | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks |
Block erstellen |
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order |
Block-Reihenfolge abrufen |
| PUT | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order |
Blöcke neu anordnen |
Dienstprogramm
| Methode | Endpunkt | Beschreibung |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/url |
Teilbare URL generieren |
| GET | /api/{tenantId}/{projectId}/notebook/ping |
Authentifizierter Verbindungstest |
| GET | /api/{tenantId}/{projectId}/notebook/unauthorized-ping |
Öffentlicher Verbindungstest |
Schnellstart
Notebooks in einer Untersuchung auflisten
curl -X GET "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}" \
-H "Authorization: Bearer YOUR_API_KEY"
Ein Notebook erstellen
curl -X POST "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Meine Analyse", "description": "Prozessanalyse-Workflow"}'
Aus Vorlage erstellen
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": "Meine Analyse"}'
Antwortstruktur
Notebook-Antwort
{
"notebookId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"investigationId": "11111111-2222-3333-4444-555555555555",
"name": "Hauptanalyse",
"description": "Primärer Prozessanalyse-Workflow",
"dateCreated": "2024-01-15T10:30:00Z",
"dateModified": "2024-01-20T14:45:00Z",
"createdBy": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"modifiedBy": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"notebookType": 0,
"notebookOrder": 1.0,
"lastExecutionDuration": 2.5,
"blockCount": 12
}
Antwortfelder
| Feld | Typ | Beschreibung |
|---|---|---|
notebookId |
GUID | Eindeutige Notebook-ID |
investigationId |
GUID | Übergeordnete Untersuchungs-ID |
name |
string | Notebook-Name |
description |
string | Notebook-Beschreibung |
dateCreated |
datetime | Erstellungszeitpunkt |
dateModified |
datetime | Letzter Änderungszeitpunkt |
createdBy |
GUID | ID des Erstellers |
modifiedBy |
GUID | ID des letzten Änderers |
notebookType |
integer | Typ (0=Standard, 1=Template, 2=BaseKnowledge) |
notebookOrder |
dezimal | Anzeige-Reihenfolge innerhalb der Untersuchung |
lastExecutionDuration |
double | Letzte Ausführungsdauer in Sekunden |
blockCount |
integer | Anzahl der Blöcke im Notebook |
Was kommt als Nächstes?
- Notebook-Verwaltung – Vollständige CRUD-Operationen
- Block-Operationen – Blöcke erstellen und verwalten
- Template API – Notebooks aus Vorlagen erstellen
- Execution API – Notebooks ausführen