ノートブックAPI概要
ノートブックは調査内のプロセスマイニングワークフローを定義する分析ブロックのコンテナです。Notebook APIを使用して、分析ワークフローをプログラム的に作成、管理、実行します。
主要な概念
ノートブックとは何ですか?
ノートブックは順序付けられた分析ブロックのシーケンスを含みます:
- フィルター:データを特定のケースやイベントに絞り込みます
- 計算機:指標、期間、および派生値を計算します
- インサイト:視覚化および統計解析を生成します
- ダッシュボード:共有可能なレポートを作成します
ブロックは順番に実行され、各ブロックは親ブロックからのデータを受け取ります。
ノートブックの種類
| 種類 | 値 | 説明 |
|---|---|---|
| 標準 | 0 | 通常の分析ノートブック |
| テンプレート | 1 | テンプレートベースのノートブック |
| 基本知識 | 2 | 基盤となる知識ノートブック |
自動読み込みの動作
ノートブックのCRUD操作はプロジェクトを自動的に共有キャッシュに読み込みます。ノートブックの作成、更新、削除前に明示的に/project/{id}/loadを呼び出す必要はありません。
# 操作を直接呼び出すだけでプロジェクトは自動的に読み込まれます
response = requests.post(
f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/investigation/{investigation_id}",
json={"name": "New Notebook"},
headers=headers
)
楽観的ロック
更新操作はDateModifiedを使用した競合検出をオプションでサポートします:
# 競合検出のためにDateModifiedを含める
response = requests.put(
f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/{notebook_id}",
json={
"name": "Updated Name",
"dateModified": "2024-01-15T10:30:00Z" # 直前のGETで取得した値
},
headers=headers
)
# 他ユーザーがノートブックを修正していた場合は409 Conflictが返ります
APIエンドポイント
ノートブックのCRUD
| メソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} |
調査内のノートブック一覧 |
| POST | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} |
ノートブック作成 |
| POST | /api/{tenantId}/{projectId}/notebook/investigation/{investigationId}/from-template |
テンプレートから作成 |
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId} |
ノートブック詳細取得 |
| PUT | /api/{tenantId}/{projectId}/notebook/{notebookId} |
ノートブック更新 |
| DELETE | /api/{tenantId}/{projectId}/notebook/{notebookId} |
ノートブック削除 |
| POST | /api/{tenantId}/{projectId}/notebook/{notebookId}/copy |
ノートブックコピー |
ブロック操作
| メソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks |
ブロック一覧 |
| POST | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks |
ブロック作成 |
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order |
ブロックの順序取得 |
| PUT | /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order |
ブロックの順序変更 |
ユーティリティ
| メソッド | エンドポイント | 説明 |
|---|---|---|
| GET | /api/{tenantId}/{projectId}/notebook/{notebookId}/url |
共有可能なURL生成 |
| GET | /api/{tenantId}/{projectId}/notebook/ping |
認証済み接続確認 |
| GET | /api/{tenantId}/{projectId}/notebook/unauthorized-ping |
公開接続確認 |
クイックスタート
調査内のノートブック一覧取得
curl -X GET "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}" \
-H "Authorization: Bearer YOUR_API_KEY"
ノートブック作成
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": "Process analysis workflow"}'
テンプレートから作成
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"}'
レスポンス構造
ノートブックレスポンス
{
"notebookId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"investigationId": "11111111-2222-3333-4444-555555555555",
"name": "Main Analysis",
"description": "Primary process analysis 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
}
レスポンスフィールド
| フィールド | 型 | 説明 |
|---|---|---|
notebookId |
GUID | ノートブックのユニーク識別子 |
investigationId |
GUID | 親調査ID |
name |
string | ノートブック名 |
description |
string | ノートブックの説明 |
dateCreated |
datetime | 作成日時 |
dateModified |
datetime | 最終更新日時 |
createdBy |
GUID | 作成者ユーザーID |
modifiedBy |
GUID | 最終更新者ユーザーID |
notebookType |
integer | 種類 (0=標準, 1=テンプレート, 2=基本知識) |
notebookOrder |
decimal | 調査内での表示順 |
lastExecutionDuration |
double | 最終実行時間(秒) |
blockCount |
integer | ノートブック内のブロック数 |