ノートブック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 ノートブック内のブロック数

次に進むには?