Hızlı Başlangıç Kılavuzu
Dakikalar İçinde Çalışmaya Başlayın
Bu adım adım kılavuzu takip ederek mindzieStudio için ilk başarılı API çağrılarınızı yapabilir ve süreç madenciliği özelliklerini uygulamalarınıza entegre etmeye başlayabilirsiniz.
Ön Koşullar
- API Kimlik Bilgileri: Erişim jetonu, tenant ID ve proje ID'si
- Temel URL: Mindzie örneğinizin API uç noktası
- HTTPS Erişimi: Mindzie örneğinize güvenli bağlantı
- Geliştirme Ortamı: Tercih ettiğiniz programlama dili ve HTTP istemcisi
Kimlik bilgileriniz yok mu? API erişim kimlik bilgilerinizi nasıl alacağınızı öğrenmek için Kimlik Doğrulama Kılavuzu sayfasına göz atın.
Adım 1: Temel Bağlantıyı Test Edin
Mindzie örneğinize erişilebilir olduğundan emin olmak için temel bağlantıyı test ederek başlayın:
curl -X GET "https://your-mindzie-instance.com/api/Action/ping"
Beklenen Yanıt:
{
"status": "ok",
"timestamp": "2024-01-15T10:30:00Z",
"version": "1.0.0"
}
Adım 2: Kimlik Doğrulamayı Doğrulayın
Kimlik doğrulama bilgilerinizle authenticated ping endpoint'ini test edin:
curl -X GET "https://your-mindzie-instance.com/api/Action/ping/authenticated" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Tenant-Id: YOUR_TENANT_GUID" \
-H "X-Project-Id: YOUR_PROJECT_GUID" \
-H "Content-Type: application/json"
Beklenen Yanıt:
{
"status": "authenticated",
"timestamp": "2024-01-15T10:30:00Z",
"tenantId": "12345678-1234-1234-1234-123456789012",
"projectId": "87654321-4321-4321-4321-210987654321",
"userId": "user@company.com",
"permissions": ["read", "write", "admin"]
}
Adım 3: İlk API Çağrınız
İşlem geçmişini almak için pratik bir API çağrısı yapalım:
curl -X GET "https://your-mindzie-instance.com/api/Action/history?limit=5" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "X-Tenant-Id: YOUR_TENANT_GUID" \
-H "X-Project-Id: YOUR_PROJECT_GUID" \
-H "Content-Type: application/json"
Örnek Yanıt:
{
"actions": [
{
"actionId": "87654321-4321-4321-4321-210987654321",
"actionType": "analyze",
"status": "completed",
"startTime": "2024-01-15T10:30:00Z",
"endTime": "2024-01-15T10:32:15Z",
"duration": 135,
"userId": "user@company.com"
}
],
"pagination": {
"currentPage": 1,
"totalPages": 1,
"totalItems": 1,
"itemsPerPage": 5
}
}
Dil Bazlı Örnekler
JavaScript
Modern web uygulamaları ve Node.js arka uçları için fetch API veya axios kullanın.
Python
Veri bilimi iş akışları ve arka uç otomasyonu için requests kütüphanesini kullanın.
C#/.NET
Kurumsal uygulamalar ve mikroservisler için HttpClient kullanın.
JavaScript Örneği
Modern JavaScript ve fetch API kullanarak tam örnek:
// Konfigürasyon
const API_CONFIG = {
baseURL: 'https://your-mindzie-instance.com/api',
token: 'YOUR_ACCESS_TOKEN',
tenantId: 'YOUR_TENANT_GUID',
projectId: 'YOUR_PROJECT_GUID'
};
// API çağrıları için yardımcı fonksiyon
async function callMindzieAPI(endpoint, options = {}) {
const url = `${API_CONFIG.baseURL}${endpoint}`;
const defaultHeaders = {
'Authorization': `Bearer ${API_CONFIG.token}`,
'X-Tenant-Id': API_CONFIG.tenantId,
'X-Project-Id': API_CONFIG.projectId,
'Content-Type': 'application/json'
};
try {
const response = await fetch(url, {
...options,
headers: { ...defaultHeaders, ...options.headers }
});
if (!response.ok) {
throw new Error(`HTTP ${response.status}: ${response.statusText}`);
}
return await response.json();
} catch (error) {
console.error('API çağrısı başarısız oldu:', error);
throw error;
}
}
// Örnek kullanım
async function quickStartExample() {
try {
// 1. Bağlantıyı test et
console.log('Bağlantı testi yapılıyor...');
const pingResult = await callMindzieAPI('/Action/ping');
console.log('Ping başarılı:', pingResult);
// 2. Kimlik doğrulamayı test et
console.log('Kimlik doğrulama testi yapılıyor...');
const authResult = await callMindzieAPI('/Action/ping/authenticated');
console.log('Kimlik doğrulama başarılı:', authResult);
// 3. İşlem geçmişini al
console.log('İşlem geçmişi getiriliyor...');
const history = await callMindzieAPI('/Action/history?limit=5');
console.log('İşlem geçmişi:', history);
console.log('Hızlı başlangıç başarıyla tamamlandı!');
return history;
} catch (error) {
console.error('Hızlı başlangıç başarısız oldu:', error);
throw error;
}
}
// Örneği çalıştır
quickStartExample();
Python Örneği
Python requests kütüphanesi kullanarak tam örnek:
import requests
import json
from typing import Dict, Any
class MindzieQuickStart:
def __init__(self, base_url: str, token: str, tenant_id: str, project_id: str):
self.base_url = base_url.rstrip('/')
self.headers = {
'Authorization': f'Bearer {token}',
'X-Tenant-Id': tenant_id,
'X-Project-Id': project_id,
'Content-Type': 'application/json'
}
def call_api(self, endpoint: str, method: str = 'GET', **kwargs) -> Dict[str, Any]:
"""Mindzie API çağrısı yapar"""
url = f"{self.base_url}{endpoint}"
try:
response = requests.request(
method=method,
url=url,
headers=self.headers,
**kwargs
)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
print(f"API çağrısı başarısız oldu: {e}")
raise
def run_quick_start(self):
"""Hızlı başlangıç dizisini çalıştırır"""
print("Mindzie API Hızlı Başlangıç başlatılıyor...")
try:
# 1. Bağlantı testi
print("1. Bağlantı testi yapılıyor...")
ping_result = requests.get(f"{self.base_url}/api/Action/ping")
ping_result.raise_for_status()
print(f" Bağlantı OK: {ping_result.json()}")
# 2. Kimlik doğrulama testi
print("2. Kimlik doğrulama testi yapılıyor...")
auth_result = self.call_api('/api/Action/ping/authenticated')
print(f" Kimlik doğrulama OK: {auth_result['status']}")
# 3. İşlem geçmişini al
print("3. İşlem geçmişi getiriliyor...")
history = self.call_api('/api/Action/history?limit=5')
print(f" {len(history['actions'])} işlem alındı")
print("Hızlı başlangıç başarıyla tamamlandı!")
return history
except Exception as e:
print(f"Hızlı başlangıç başarısız oldu: {e}")
raise
# Kullanım örneği
if __name__ == "__main__":
# Kimlik bilgilerinizi yapılandırın
quick_start = MindzieQuickStart(
base_url='https://your-mindzie-instance.com/api',
token='YOUR_ACCESS_TOKEN',
tenant_id='YOUR_TENANT_GUID',
project_id='YOUR_PROJECT_GUID'
)
# Hızlı başlangıcı çalıştırın
result = quick_start.run_quick_start()
print(f"Nihai sonuç: {json.dumps(result, indent=2)}")
C#/.NET Örneği
C# HttpClient kullanarak tam örnek:
using System;
using System.Net.Http;
using System.Text.Json;
using System.Threading.Tasks;
public class MindzieQuickStart
{
private readonly HttpClient _httpClient;
private readonly string _baseUrl;
public MindzieQuickStart(string baseUrl, string token, string tenantId, string projectId)
{
_baseUrl = baseUrl.TrimEnd('/');
_httpClient = new HttpClient();
_httpClient.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");
_httpClient.DefaultRequestHeaders.Add("X-Tenant-Id", tenantId);
_httpClient.DefaultRequestHeaders.Add("X-Project-Id", projectId);
}
public async Task<T> CallApiAsync<T>(string endpoint)
{
try
{
var response = await _httpClient.GetAsync($"{_baseUrl}{endpoint}");
response.EnsureSuccessStatusCode();
var content = await response.Content.ReadAsStringAsync();
return JsonSerializer.Deserialize<T>(content, new JsonSerializerOptions
{
PropertyNameCaseInsensitive = true
});
}
catch (HttpRequestException ex)
{
Console.WriteLine($"API çağrısı başarısız oldu: {ex.Message}");
throw;
}
}
public async Task RunQuickStartAsync()
{
Console.WriteLine("Mindzie API Hızlı Başlangıç başlatılıyor...");
try
{
// 1. Bağlantı testi
Console.WriteLine("1. Bağlantı testi yapılıyor...");
using var pingClient = new HttpClient();
var pingResponse = await pingClient.GetAsync($"{_baseUrl}/api/Action/ping");
pingResponse.EnsureSuccessStatusCode();
Console.WriteLine(" Bağlantı OK");
// 2. Kimlik doğrulama testi
Console.WriteLine("2. Kimlik doğrulama testi yapılıyor...");
var authResult = await CallApiAsync<AuthResponse>("/api/Action/ping/authenticated");
Console.WriteLine($" Kimlik doğrulama OK: {authResult.Status}");
// 3. İşlem geçmişini al
Console.WriteLine("3. İşlem geçmişi getiriliyor...");
var history = await CallApiAsync<ActionHistoryResponse>("/api/Action/history?limit=5");
Console.WriteLine($" {history.Actions.Length} işlem alındı");
Console.WriteLine("Hızlı başlangıç başarıyla tamamlandı!");
}
catch (Exception ex)
{
Console.WriteLine($"Hızlı başlangıç başarısız oldu: {ex.Message}");
throw;
}
}
public void Dispose()
{
_httpClient?.Dispose();
}
}
// Veri modelleri
public class AuthResponse
{
public string Status { get; set; }
public string TenantId { get; set; }
public string ProjectId { get; set; }
public string UserId { get; set; }
}
public class ActionHistoryResponse
{
public ActionItem[] Actions { get; set; }
public PaginationInfo Pagination { get; set; }
}
public class ActionItem
{
public string ActionId { get; set; }
public string ActionType { get; set; }
public string Status { get; set; }
public DateTime StartTime { get; set; }
public DateTime? EndTime { get; set; }
}
public class PaginationInfo
{
public int CurrentPage { get; set; }
public int TotalPages { get; set; }
public int TotalItems { get; set; }
}
// Kullanım
class Program
{
static async Task Main(string[] args)
{
var quickStart = new MindzieQuickStart(
"https://your-mindzie-instance.com/api",
"YOUR_ACCESS_TOKEN",
"YOUR_TENANT_GUID",
"YOUR_PROJECT_GUID"
);
try
{
await quickStart.RunQuickStartAsync();
}
finally
{
quickStart.Dispose();
}
}
}
Yaygın Sorunlar ve Çözümleri
Kimlik Doğrulama Başarısızlıkları
- 401 Unauthorized: Erişim jetonunuzun doğru ve süresinin dolmamış olduğunu kontrol edin
- 403 Forbidden: Tenant/proje ID’lerini ve kullanıcı izinlerini kontrol edin
- 400 Bad Request: Gerekli tüm başlıkların dahil edildiğinden emin olun
Bağlantı Sorunları
- Ağ zaman aşımı: Güvenlik duvarı ayarlarını ve ağ bağlantısını kontrol edin
- SSL/TLS hataları: Sertifika geçerliliğini ve HTTPS yapılandırmasını doğrulayın
- DNS çözümlemesi: Mindzie örneği URL’sinin doğru olduğundan emin olun
Oran Sınırı (Rate Limiting)
- 429 Too Many Requests: Üstel geri çekilme (exponential backoff) yeniden deneme mantığını uygulayın
- Oran sınırlarını izleyin: Yanıt başlıklarından oran limiti bilgilerini kontrol edin
- İstekleri optimize edin: API çağrılarını azaltmak için sayfalandırma ve filtreleme kullanın
Sonraki Adımlar
Tebrikler! mindzieAPI hızlı başlangıcını başarıyla tamamladınız. Güçlü entegrasyonlar geliştirmeye başlamak için Actions API veya Blocks API sayfalarını keşfedin.