Notebook API Overzicht
Notebooks zijn containers voor analyseblokken die process mining workflows definiƫren binnen onderzoeken. Gebruik de Notebook API om analyseworkflows programmatisch te maken, beheren en uit te voeren.
Belangrijke Concepten
Wat Zijn Notebooks?
Notebooks bevatten geordende reeksen van analyseblokken:
- Filters: Beperk de data tot specifieke cases of gebeurtenissen
- Calculators: Bereken metrics, duur en afgeleide waarden
- Insights: Genereer visualisaties en statistische analyses
- Dashboards: Maak deelbare rapporten
Blokken worden in volgorde uitgevoerd, waarbij elk blok data ontvangt van het ouderblok.
Notebook Types
| Type | Waarde | Beschrijving |
|---|---|---|
| Standard | 0 | Regulier analysenotebook |
| Template | 1 | Template-gebaseerd notebook |
| BaseKnowledge | 2 | Basiskennis-notebook |
Auto-Load Gedrag
Notebook CRUD-operaties laden het project automatisch in de gedeelde cache. Je hoeft niet expliciet /project/{id}/load aan te roepen voordat je notebooks maakt, bijwerkt of verwijdert.
# Roep de operatie direct aan - project wordt automatisch geladen
response = requests.post(
f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/investigation/{investigation_id}",
json={"name": "New Notebook"},
headers=headers
)
Optimistic Locking
Update-operaties ondersteunen optionele conflictdetectie met gebruik van DateModified:
# Voeg DateModified toe om gelijktijdige wijzigingen te detecteren
response = requests.put(
f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/{notebook_id}",
json={
"name": "Updated Name",
"dateModified": "2024-01-15T10:30:00Z" # Van je laatste GET
},
headers=headers
)
# Als een andere gebruiker het notebook heeft gewijzigd, wordt 409 Conflict geretourneerd
API Endpoints
Notebook CRUD
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} |
Notebooks in onderzoek opvragen |
| POST | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} |
Notebook aanmaken |
| POST | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId}/from-template |
Aanmaken vanuit template |
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId} |
Details van notebook opvragen |
| PUT | /api/{tenantId}/{projectId}/notebook/{notebookId} |
Notebook bijwerken |
| DELETE | /api/{tenantId}/{projectId}/notebook/{notebookId} |
Notebook verwijderen |
| POST | /api/{tenantId}/{projectId}/notebook/{notebookId}/copy |
Notebook kopiƫren |
Blok Operaties
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks |
Blokken opvragen |
| POST | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks |
Blok aanmaken |
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order |
Blokvolgorde opvragen |
| PUT | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order |
Blokken herschikken |
Hulpmiddelen
| Methode | Endpoint | Beschrijving |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/url |
Deelbare URL genereren |
| GET | /api/{tenantId}/{projectId}/notebook/ping |
Geverifieerde connectiviteitstest |
| GET | /api/{tenantId}/{projectId}/notebook/unauthorized-ping |
Openbare connectiviteitstest |
Quick Start
Notebooks in een Onderzoek Opvragen
curl -X GET "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}" \
-H "Authorization: Bearer YOUR_API_KEY"
Een Notebook Aanmaken
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": "My Analysis", "description": "Proces analyse workflow"}'
Aanmaken vanuit 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"}'
Response Structuur
Notebook Response
{
"notebookId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"investigationId": "11111111-2222-3333-4444-555555555555",
"name": "Main Analysis",
"description": "Primaire proces analyse 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
}
Response Velden
| Veld | Type | Beschrijving |
|---|---|---|
notebookId |
GUID | Unieke notebook identificatie |
investigationId |
GUID | Parent onderzoek ID |
name |
string | Notebook naam |
description |
string | Notebook beschrijving |
dateCreated |
datetime | Aanmaak tijdstempel |
dateModified |
datetime | Laatste wijziging tijdstempel |
createdBy |
GUID | Maker gebruiker ID |
modifiedBy |
GUID | Laatste wijziger gebruiker ID |
notebookType |
integer | Type (0=Standard, 1=Template, 2=BaseKnowledge) |
notebookOrder |
decimaal | Weergavevolgorde binnen onderzoek |
lastExecutionDuration |
double | Laatste uitvoeringstijd in seconden |
blockCount |
integer | Aantal blokken in notebook |
Wat Nu?
- Notebook Management - Volledige CRUD-operaties
- Block Operations - Blokken maken en beheren
- Template API - Notebooks maken vanuit templates
- Execution API - Notebooks uitvoeren