Hızlı Başlangıç Kılavuzu
Birkaç Dakikada Çalışır Hale Gelin
mindzieStudio ile ilk başarılı API çağrılarınızı yapmak ve uygulamalarınıza süreç madenciliği yetenekleri entegre etmeye başlamak için bu adım adım kılavuzu takip edin.
Ön Koşullar
- API Kimlik Bilgileri: Erişim tokenı, tenant ID ve proje ID
- 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 bilgilerine sahip değil misiniz? API erişim kimlik bilgilerinizi nasıl edineceğinizi öğrenmek için Kimlik Doğrulama Kılavuzu sayfasını inceleyin.
Adım 1: Temel Bağlantıyı Test Edin
mindzie örneğinizin erişilebilir olduğunu doğrulamak 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 doğrulanmış ping uç noktasını 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
Bir işlem geçmişi veri çağrısı yaparak pratik bir API çağrısı gerçekleştirelim:
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 istekleri 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ıç sürecini çalıştırır"""
print("mindzie API Hızlı Başlangıç başlatılıyor...")
try:
# 1. Bağlantıyı test et
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ı başarılı: {ping_result.json()}")
# 2. Kimlik doğrulamayı test et
print("2. Kimlik doğrulama testi yapılıyor...")
auth_result = self.call_api('/api/Action/ping/authenticated')
print(f" Kimlik doğrulama başarılı: {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 getirildi")
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ıyı test et
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ı başarılı");
// 2. Kimlik doğrulamayı test et
Console.WriteLine("2. Kimlik doğrulama testi yapılıyor...");
var authResult = await CallApiAsync<AuthResponse>("/api/Action/ping/authenticated");
Console.WriteLine($" Kimlik doğrulama başarılı: {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 getirildi");
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ümler
Kimlik Doğrulama Hataları
- 401 Yetkisiz: Erişim tokenınızın doğru ve süresinin dolmamış olduğundan emin olun
- 403 Yasak: Tenant/proje ID ve kullanıcı izinlerini kontrol edin
- 400 Geçersiz İstek: Gerekli tüm başlıkların dahil edildiğinden emin olun
Bağlantı Sorunları
- Ağ zaman aşımı: Güvenlik duvarı ayarları 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ümleme: mindzie örneği URL'sinin doğru olduğundan emin olun
Oran Sınırı
- 429 Çok Fazla İstek: Üssel geri çekilme (exponential backoff) yeniden deneme mantığı uygulayın
- Oran sınırını izleyin: Yanıt başlıklarında oran sınırı bilgilerini kontrol edin
- İstekleri optimize edin: API çağrılarını azaltmak için sayfalama ve filtreleme kullanın
Sonraki Adımlar
Tebrikler! mindzieAPI hızlı başlangıcını başarıyla tamamladınız. Sonraki adım olarak güçlü entegrasyonlar oluşturmak için Actions API veya Blocks API sayfalarını keşfedin.