Bu sayfada

API genel bakışı

ProcessMind API çağrıları nasıl yapılır?

Bu rehber, veri almak, bilgi göndermek veya iş akışlarını otomatikleştirmek için ProcessMind API çağrılarının nasıl yapılacağını örnekler ve en iyi uygulamalarla açıklar.

İstek ve yanıt biçimleriyle birlikte tüm uç nokta belgeleri için API Referansına bakın.

Ek örnekler ve istemci kitaplıkları için GitHub üzerindeki API Belgelerini ziyaret edin.

API temel URLsi

Tüm API istekleri şu adrese gönderilmelidir:

https://api.processmind.com

Tüm rotalar /v1 altında sürümlendirilir. Makine tarafından okunabilen API belirtiminin tamamı, OpenAPI 3.1, şu adreste bulunur:

GET https://api.processmind.com/v1/openapi.json

Kimlik doğrulama

Tüm API isteklerinde x-api-key üst bilgisinde API anahtarınız bulunmalıdır:

x-api-key: your-api-key-here

API anahtarınızı ProcessMind hesap ayarlarınızdan alabilirsiniz. Talimatlar için API anahtarınızı alma bölümüne bakın.

Durum kodları

ProcessMind API, standart HTTP durum kodlarını izler:

Durum Anlamı
200 OK İstek başarılı oldu
201 Created Kaynak oluşturuldu
204 No Content İstek başarılı oldu, yanıt gövdesi yok
400 Bad Request Geçersiz istek veya eksik/geçersiz parametreler
401 Unauthorized Eksik veya geçersiz API anahtarı
403 Forbidden Kimlik doğrulandı, ancak işlemi gerçekleştirme izni yok
404 Not Found Kaynak mevcut değil
500 Internal Server Error Beklenmeyen sunucu hatası

Temel kavramlar

  • apiKey: Tüm API istekleri için kimlik doğrulama belirtecinizdir.
  • tenantId: Çalışma alanı veya kuruluş bağlamınızı tanımlar. Hesap ayarlarınızda bulunur.
  • datatableId: Veri işlemleri için belirli bir veri tablosunu tanımlar. ProcessMind içindeki Veri Seti ayarları menüsünde bulunan Veri Tablosu Kimliğini Al seçeneğinden erişilebilir.

Yapabilecekleriniz

ProcessMind API şunları yapmanızı sağlar:

  • Kiracıları yönetin: Kiracı bilgilerini alın, ayarları güncelleyin ve istatistikleri görüntüleyin
  • Kullanıcıları yönetin: Kiracılara ve kuruluşlara kullanıcı ekleyin, kullanıcıları güncelleyin veya kaldırın
  • Süreçleri yönetin: Süreçler oluşturun, BPMN modelleri yükleyin ve klasörlerde düzenleyin
  • Verileri bağlayın: Analiz için veri tablolarını süreçlerle eşleyin
  • Veri yükleyin: CSV/XLSX dosyalarını doğrudan veri tablolarına yükleyin
  • Veri Setlerini yönetin: Veri Setlerini ve veri tablolarını listeleyin, inceleyin ve silin

Yaygın örnekler

Aşağıda, ProcessMind API ile yaygın işlemlerin nasıl gerçekleştirileceğini gösteren pratik örnekler yer alır.

İmzalı yükleme URLsi alma

Bir dosyayı veri tablosuna yüklemek için önce imzalı bir URL alın:

const presignedUrl = await getPresignedUploadUrl({
	apiKey,
	tenantId: "tenant-123",
	datatableId: "table-456"
});
console.log(presignedUrl); // https://s3.amazonaws.com/…?X-Amz-Signature=…

Veri Setlerini listeleme

Kiracınızdaki tüm Veri Setlerini alın:

const datasets = await getDatasets({
	apiKey,
	tenantId: "tenant-123"
});
console.log(datasets);

Kiracı bilgilerini alma

Kiracınızla ilgili ayrıntıları alın:

const tenantInfo = await getTenant({
	apiKey,
	tenantId: "tenant-123"
});
console.log(tenantInfo);

Süreç oluşturma

Kiracınızda yeni bir süreç oluşturun:

const process = await createProcess({
	apiKey,
	tenantId: "tenant-123",
	displayName: "Order to Cash"
});
console.log(process.id); // Use this ID for subsequent operations

BPMN modeli yükleme

Süreç modelinizi tanımlamak için bir BPMN dosyası yükleyin:

const fs = require("fs");
const bpmnXml = fs.readFileSync("./my-process.bpmn", "utf8");

await uploadBpmn({
	apiKey,
	tenantId: "tenant-123",
	processId: "process-456",
	bpmnXml
});

Verileri bir süreçle eşleme

Analiz için bir veri tablosunu sürece bağlayın:

const mapping = await createProcessMapping({
	apiKey,
	tenantId: "tenant-123",
	processId: "process-456",
	dataTableId: "datatable-789",
	displayName: "Sales Data 2024",
	showByDefault: true
});

Kiracıya kullanıcı ekleme

Kiracınıza bir kullanıcı ekleyin:

const result = await addTenantUser({
	apiKey,
	tenantId: "tenant-123",
	id: "user-456",
	email: "colleague@example.com",
	isAdminInTenant: false,
	isActiveInTenant: true,
	sendInvitationEmail: true
});

Not: Gövdedeki rol alanları (isAdminInTenant, access, isDashboardViewer) olduğu gibi dikkate alınır. Kullanıcı yönetimi uç noktaları tam kapsamlı tenant yöneticisi işlevleri sunar. Bu nedenle yalnızca yönetim yetkisi vereceğiniz kişilere yazma kapsamlı API anahtarları sağlayın. System API tarafından davet e-postası gönderilmez. Kullanıcıyı sisteme dahil etme sürecinden siz sorumlusunuz.

Dosya yükleme

ProcessMind’e dosya yüklemek için genel akış şöyledir:

  1. İmzalı bir URL almak için getPresignedUploadUrl çağrısını kullanın.
  2. Dosya içeriğiyle bu URLye PUT isteği gönderin.
  3. İmzalı URL, yüklemeyi doğrudan bulut depolamaya yetkilendirir; ek kimlik bilgileri gerekmez.

Aşağıda fetch kullanılarak hazırlanmış basitleştirilmiş bir örnek yer alır:

async function uploadFile({ apiKey, tenantId, datatableId, file }) {
	// Step 1: Obtain a presigned URL
	const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
	
	// Step 2: Upload the file via PUT
	await fetch(uploadUrl, {
		method: "PUT",
		headers: {
			"Content-Type": file.type
		},
		body: file
	});
}

info

  • İmzalı URLlerin süresi belirli bir süre sonra, genellikle birkaç dakika içinde dolar. URLyi aldıktan sonra gecikmeden kullanın.
  • Yükleme başarısız olursa, örneğin ağ bağlantısı kesilirse, yeniden denemeden önce yeni bir imzalı URL isteyin.
  • apiKey bilginizi her zaman güvende tutun ve istemci tarafında, örneğin herkese açık bir ön yüzde, göstermeyin.

Eksiksiz örnekler

Aşağıda farklı dillerde, eksiksiz ve kopyalanıp yapıştırılmaya hazır örnekler yer alır.

Bash örneği: Dosya yükleme

Tüm değerler için yer tutucular içeren, ProcessMind’e iki curl çağrısıyla dosya yükleyen minimal Bash betiği

BASH örneğini indirin

Node.js örneği: Yerel CSV dosyası yükleme

İmzalı URL kullanarak yerel bir CSV dosyasını ProcessMind’e yükler.

Adımlar:

  1. API’den imzalı bir yükleme URLsi alın.
  2. Yerel dosyayı diskten okuyun.
  3. HTTP PUT kullanarak dosyayı imzalı URLye yükleyin.

Yapılandırma:

  • uploadFile() çağrısını yaparken API anahtarınızı, tenantId, datatableId ve filePath bilgilerini sağlayın.
  • API temel URLsi https://api.processmind.com olarak ayarlanmıştır.
NodeJS örneğini indirin

Python örneği: Yerel CSV dosyası yükleme

İmzalı URL kullanarak yerel bir CSV dosyasını uzak bir API’ye yükler.

Adımlar:

  1. API’den imzalı bir yükleme URLsi alın.
  2. Yerel dosyayı diskten okuyun.
  3. HTTP PUT kullanarak dosyayı imzalı URLye yükleyin.

Yapılandırma:

  • api_key, tenant_id, datatable_id ve file_path değerlerini ihtiyacınıza göre güncelleyin.
Python örneğini indirin

Sayfalama

Liste uç noktaları limit ve offset sorgu parametrelerini kabul eder ve yalın bir JSON dizisi döndürür, kapsayıcı veya toplam sayı içermez:

Parametre Tür Varsayılan Maksimum
limit tam sayı 100 1.000
offset tam sayı 0 Yok
GET /v1/tenant/{tenantId}/processes?limit=50&offset=100

Tüm sayfalara erişmek için offset += limit ile istek göndermeye devam edin; yanıt dizisi, istenen limit değerinden kısa veya boş olana kadar bunu sürdürün. Maksimum değerin üzerindeki değerler 400 ile reddedilir. Sürümlendirilmiş veri uç noktaları, Veri Setleri, veri tabloları, sürümler ve web kancaları, aynı kuralı izler.

Sürüm oluşturma ve kullanımdan kaldırma

  • Tüm rotalar /v1 altında sürümlendirilir; geriye dönük uyumsuz değişiklikler /v1 sessizce değiştirilmek yerine yeni bir sürümde yayımlanır.
  • Kullanımdan kaldırma duyuruları, bir rota kaldırılmadan en az 6 ay önce değişiklik günlüğünde ve bu sayfada yayımlanır; kullanımdan kaldırılan rotalar bu süre boyunca çalışmaya devam eder.
  • Kullanımdan kaldırılan rotaların yanıtlarında kaldırılma tarihini belirten bir Sunset üst bilgisi ve Deprecation: true bulunur.
  • İstemcileri etkileyen önemli değişiklikler her zaman değişiklik günlüğünde listelenir. Sabitlenmiş API istemcilerini yükseltmeden önce abone olun veya güncellemeleri kontrol edin.

Sonraki adımlar

info

API hakkında sorularınız varsa veya desteğe ihtiyacınız olursa destek ekibiyle iletişime geçin ya da API örnekleri deposunda bir sorun bildirin.