Notebook API Genel Bakış

Notebooks, soruşturmalar içinde süreç madenciliği iş akışlarını tanımlayan analiz bloklarını barındıran konteynerlerdir. Notebook API'yi kullanarak analiz iş akışlarını programlı olarak oluşturabilir, yönetebilir ve çalıştırabilirsiniz.

Temel Kavramlar

Notebook Nedir?

Notebooks, sıralı analiz blokları içerir:

  • Filtreler: Veriyi belirli vaka veya olaylara indirger
  • Hesaplayıcılar: Metrikler, süreler ve türetilmiş değerleri hesaplar
  • İçgörüler: Görselleştirmeler ve istatistiksel analizler üretir
  • Gösterge Panoları: Paylaşılabilir raporlar oluşturur

Bloklar sırayla çalıştırılır, her blok veriyi ebeveyn bloğundan alır.

Notebook Türleri

Tür Değer Açıklama
Standart 0 Normal analiz notebook'u
Şablon 1 Şablon tabanlı notebook
TemelBilgi 2 Temel bilgi notebook'u

Otomatik Yükleme Davranışı

Notebook CRUD işlemleri proje yüklemesini otomatik olarak paylaşılan önbelleğe yapar. Notebook oluşturma, güncelleme veya silme öncesinde /project/{id}/load çağrısını manuel yapmanıza gerek yoktur.

# Sadece işlemi doğrudan çağırın - proje otomatik yüklenir
response = requests.post(
    f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/investigation/{investigation_id}",
    json={"name": "New Notebook"},
    headers=headers
)

İyimser Kilitleme

Güncelleme işlemleri DateModified ile opsiyonel çakışma tespiti destekler:

# Son GET isteğinizden aldığınız DateModified alanını dahil edin, eş zamanlı değişiklikleri tespit eder
response = requests.put(
    f"{BASE_URL}/api/{TENANT_ID}/{PROJECT_ID}/notebook/{notebook_id}",
    json={
        "name": "Updated Name",
        "dateModified": "2024-01-15T10:30:00Z"  # Son GET'ten
    },
    headers=headers
)

# Başka biri notebook'u değiştirmişse 409 Conflict döner

API Uç Noktaları

Notebook CRUD

Metot Uç Nokta Açıklama
GET /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} Soruşturmadaki notebookları listele
POST /api/{tenantId}/{projectId}/notebook/investigation/{investigationId} Notebook oluştur
POST /api/{tenantId}/{projectId}/notebook/investigation/{investigationId}/from-template Şablondan oluştur
GET /api/{tenantId}/{projectId}/notebook/{notebookId} Notebook detaylarını al
PUT /api/{tenantId}/{projectId}/notebook/{notebookId} Notebook güncelle
DELETE /api/{tenantId}/{projectId}/notebook/{notebookId} Notebook sil
POST /api/{tenantId}/{projectId}/notebook/{notebookId}/copy Notebook kopyala

Blok İşlemleri

Metot Uç Nokta Açıklama
GET /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks Blokları listele
POST /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks Blok oluştur
GET /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order Blok sırasını al
PUT /api/{tenantId}/{projectId}/notebook/{notebookId}/blocks/order Blokları yeniden sırala

Yardımcı

Metot Uç Nokta Açıklama
GET /api/{tenantId}/{projectId}/notebook/{notebookId}/url Paylaşılabilir URL oluştur
GET /api/{tenantId}/{projectId}/notebook/ping Yetkilendirilmiş bağlantı testi
GET /api/{tenantId}/{projectId}/notebook/unauthorized-ping Genel bağlantı testi

Hızlı Başlangıç

Soruşturmada Notebookları Listele

curl -X GET "https://your-mindzie-instance.com/api/{tenantId}/{projectId}/notebook/investigation/{investigationId}" \
  -H "Authorization: Bearer YOUR_API_KEY"

Notebook Oluştur

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": "Processes analiz iş akışı"}'

Şablondan Oluştur

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"}'

Yanıt Yapısı

Notebook Yanıtı

{
  "notebookId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "investigationId": "11111111-2222-3333-4444-555555555555",
  "name": "Main Analysis",
  "description": "Birincil süreç analiz iş akışı",
  "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
}

Yanıt Alanları

Alan Tür Açıklama
notebookId GUID Eşsiz notebook kimliği
investigationId GUID Ana soruşturma kimliği
name string Notebook adı
description string Notebook açıklaması
dateCreated datetime Oluşturulma zamanı
dateModified datetime Son değiştirilme zamanı
createdBy GUID Oluşturan kullanıcı kimliği
modifiedBy GUID Son değiştiren kullanıcı kimliği
notebookType integer Tür (0=Standart, 1=Şablon, 2=TemelBilgi)
notebookOrder decimal Soruşturma içindeki gösterim sırası
lastExecutionDuration double Son çalıştırma süresi (saniye)
blockCount integer Notebook içindeki blok sayısı

Sonraki Adımlar?