API çağrıları
ProcessMind’a API Çağrısı Yapmak
Bu dokümanda ProcessMind servislerine API çağrısı yapmaya dair örnekler ve en iyi uygulamalar paylaşılmıştır. Data çekmekten bilgi göndermeye, iş akışlarını otomatikleştirmeye kadar tüm işlemler için API ile nasıl etkileşime geçeceğinizi öğrenebilirsiniz.
Authentication değişkenleri
- apiKey Tüm API isteklerinde doğrulama için istek başlığında API key’inizi eklemeniz gerekir. API key’inizi ProcessMind hesap ayarlarından alabilirsiniz.
- tenantId Bazı API endpoint’leri, isteğin bağlamını belirtmek için Tenant ID ister. Bu ID, kurumunuza özeldir ve yine hesap ayarlarında bulunabilir.
- datatableId Dataset ile çalışırken, işlem yaptığınız datatable’ı tanımlamak için Datatable ID gerekir. Bu ID, dataset ayarları menüsünde [Get Data Table ID] olarak ProcessMind içinde bulunur.
Direkt dosya yükleme
ProcessMind, presigned URL’ler ile datatable’lara doğrudan dosya yüklemeyi destekler. Bu yöntemle, API anahtarınızı veya diğer hassas bilgileri paylaşmadan güvenli şekilde dosya yükleyebilirsiniz. Presigned URL’ler zaman sınırlıdır, aldıktan sonra kısa sürede kullanılmalıdır. Direkt yükleme URL’sini almak için ilgili endpoint’e GET isteği atmanız yeterli. Bu URL’yi ProcessMind’da dataset ayarları menüsünden [Get upload URL] seçerek alabilirsiniz. Süreyi 1 saat, 1 hafta veya 1 ay olarak belirleyebilirsiniz.
Endpoint genel bakış
Metot | Endpoint | Açıklama |
---|---|---|
GET | /tenant/{tenantId}/datatable/ {datatableId}/uploads/presignedurl | Bir datatable’a dosya yüklemek için geçici pre‑signed URL döndürür. |
GET | /tenant/{tenantId}/datasets | Belirtilen tenant için dataset listesini döndürür. |
GET | /tenant/{tenantId} | Belirtilen tenant hakkında detayları döndürür. |
GET | /tenant/{tenantId}/organization | Tenant’ın organizasyonu hakkında bilgi verir. |
Base URL
Tüm API istekleri aşağıdaki base URL’ye yapılmalıdır: https://api.processmind.com
Pre‑signed Upload URL alma
Endpoint: GET /tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl
Parametreler:
- tenantId – Tenant ID’si (string).
- datatableId – Dosya yüklemek istediğiniz datatable’ın ID’si (string).
- apiKey – API key’iniz (string).
Dönüş: PreSignedUploadUrl içeren bir response döner. Bu geçici URL ile dosya doğrudan (genellikle HTTP PUT ile) yüklenebilir.
Örnek (helper ile kullanımı):
const presignedUrl = await getPresignedUploadUrl({
apiKey,
tenantId: 'tenant-123',
datatableId: 'table-456'
});
console.log(presignedUrl); // ör. https://s3.amazonaws.com/…?X-Amz-Signature=…
Dataset listesi çekme
Endpoint: GET /tenant/{tenantId}/datasets
Parametreler:
- tenantId – Tenant ID’si.
- apiKey – API key’iniz.
Dönüş: Tenant’a ait dataset objelerinin bir dizisi döner.
Örnek:
const datasets = await getDatasets({
apiKey,
tenantId: 'tenant-123'
});
console.log(datasets);
Tenant detaylarını çekme
Endpoint: GET /tenant/{tenantId}
Parametreler:
- tenantId – Tenant ID’si.
- apiKey – API key’iniz.
Dönüş: Tenant’a ait isim, oluşturulma tarihi ve paket gibi bilgileri içeren bir obje döner.
Örnek:
const tenantInfo = await getTenant({
apiKey,
tenantId: 'tenant-123'
});
console.log(tenantInfo);
Organizasyon detaylarını çekme
Endpoint: GET /tenant/{tenantId}/organization
Parametreler:
- tenantId – Tenant ID’si.
- apiKey – API key’iniz.
Dönüş: Tenant ile ilgili organizasyonun adı, adresi ve iletişim gibi bilgiler döner.
Örnek:
const org = await getOrganization({
apiKey,
tenantId: 'tenant-123'
});
console.log(org);
Dosya yükleme
uploadFile fonksiyonu, pre‑signed URL ile dosya yükleme adımlarını gösterir:
- getPresignedUploadUrl ile pre‑signed URL alın.
- Bu URL’ye PUT isteğiyle dosya içeriğini yükleyin. Pre‑signed URL, yüklemeye direkt izin verir, ek kimlik bilgisi gerekli değil.
- (İsteğe bağlı) Yükleme tamamlandıysa API’nize bildirim gönderin (backend’inize göre değişir).
Aşağıda fetch ile dosya yüklemenin basit bir örneği var:
async function uploadFile({ apiKey, tenantId, datatableId, file }) {
// 1. adım: Pre-signed URL al
const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
// 2. adım: Dosyayı PUT ile yükle
await fetch(uploadUrl, {
method: 'PUT',
headers: {
'Content-Type': file.type
},
body: file
});
// 3. adım: İsterseniz yüklemenin bittiğini API'ye bildirin
// (backend uygulamanıza göre değişebilir)
}
info
- Pre‑signed URL’ler belirli bir süreden sonra (genelde birkaç dakika) geçersiz olur. Aldığınızda hemen kullanın.
- Yükleme başarısız olursa (ağ koparsa vb.), yeniden denemeden önce yeni pre‑signed URL alın.
- apiKey’inizi daima güvenli saklayın ve client tarafında (ör. herkese açık front‑end’de) asla paylaşmayın.
BASH Örneği
ProcessMind’a iki curl ile dosya yüklemek için minimal Bash scripti, tüm parametreler için örneklerle
NodeJS Örneği
Yerel bir CSV dosyasını hazır yükleme bağlantısı ile ProcessMind’a yükler.
Adımlar:
- API üzerinden hazır yükleme bağlantısı alın.
- Yerel dosyayı diskten okuyun.
- Dosyayı HTTP PUT ile hazır bağlantıya yükleyin.
Konfigürasyon:
- uploadFileToProcessMind() fonksiyonunu çağırırken API anahtarınız, tenantId, datatableId ve filePath bilgisini girin.
- API temel adresi https://api.processmind.com olarak ayarlı.
Python Örneği
Yerel bir CSV dosyasını hazır bağlantı ile uzak bir API’ya yükler.
Adımlar:
- API’dan hazır yükleme bağlantısını alın.
- Yerel dosyayı diskten okuyun.
- Dosyayı HTTP PUT ile yükleme bağlantısına yükleyin.
Konfigürasyon:
- api_key, tenant_id, datatable_id, file_path değişkenlerini uygun şekilde güncelleyin.