API Calls
API-Calls mit ProcessMind
Diese Anleitung liefert Beispiele und Best Practices für API-Requests an die ProcessMind Services. Egal ob Sie Daten abrufen, Informationen senden oder Workflows automatisieren – ein Grundverständnis der API ist wichtig.
Authentifizierungsvariablen
- apiKey Für alle API-Anfragen muss Ihr API-Key im Anfrage-Header zur Authentifizierung angegeben werden. Den API-Key finden Sie in den Einstellungen Ihres ProcessMind-Accounts.
- tenantId Manche API-Endpunkte erfordern eine Tenant ID, um den Kontext der Anfrage festzulegen. Diese ID ist eindeutig für Ihre Organisation und auch in den Kontoeinstellungen abrufbar.
- datatableId Beim Arbeiten mit Datasets geben Sie die Datatable ID an, um die jeweilige Datatable zu identifizieren. Diese ID finden Sie im Dataset-Einstellungsmenü unter [Get Data Table ID] in ProcessMind.
Direkter Datei-Upload
ProcessMind unterstützt direkte Datei-Uploads in Datatables mit presigned URLs. Damit laden Sie Dateien sicher hoch, ohne Ihren API Key oder andere sensible Infos preiszugeben. Beachten Sie: Presigned URLs sind zeitlich begrenzt und sollten direkt nach Erhalt verwendet werden. Um die Upload-URL abzurufen, führen Sie eine GET-Anfrage zum Endpoint aus. Die URL erhalten Sie im Dataset-Einstellungsmenü unter [Get upload URL] bei ProcessMind. Die maximale Laufzeit ist 1 Stunde, 1 Woche oder 1 Monat.
Endpoint-Übersicht
Methode | Endpoint | Beschreibung |
---|---|---|
GET | /tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl | Gibt eine temporäre, vor-signierte URL für den Datei-Upload in eine Datatable zurück. |
GET | /tenant/{tenantId}/datasets | Listet die Datasets für den angegebenen Tenant auf. |
GET | /tenant/{tenantId} | Gibt Details zum angegebenen Tenant zurück. |
GET | /tenant/{tenantId}/organization | Zeigt Informationen zur Organisation des Tenants an. |
Base URL
Alle API-Anfragen gehen an folgende Base URL: https://api.processmind.com
Pre‑signed Upload-URL abrufen
Endpoint: GET /tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurl
Parameter:
- tenantId – ID des Tenants (String).
- datatableId – ID der Datatable, in die hochgeladen werden soll (String).
- apiKey – Ihr API-Key (String).
Antwort: Ein Response-Objekt mit der PreSignedUploadUrl, einer temporären URL zum direkten Datei-Upload (meist via HTTP PUT).
Beispiel (mit dem Helper):
const presignedUrl = await getPresignedUploadUrl({
apiKey,
tenantId: 'tenant-123',
datatableId: 'table-456'
});
console.log(presignedUrl); // z.B. https://s3.amazonaws.com/…?X-Amz-Signature=…
Datasets auflisten
Endpoint: GET /tenant/{tenantId}/datasets
Parameter:
- tenantId – ID des Tenants.
- apiKey – Ihr API-Key.
Antwort: Ein Array von Dataset-Objekten, die zu diesem Tenant gehören.
Beispiel:
const datasets = await getDatasets({
apiKey,
tenantId: 'tenant-123'
});
console.log(datasets);
Tenant-Details abrufen
Endpoint: GET /tenant/{tenantId}
Parameter:
- tenantId – ID des Tenants.
- apiKey – Ihr API-Key.
Antwort: Ein Objekt mit Metadaten zum Tenant wie Name, Erstellungsdatum und Tarif.
Beispiel:
const tenantInfo = await getTenant({
apiKey,
tenantId: 'tenant-123'
});
console.log(tenantInfo);
Organisationsdetails abrufen
Endpoint: GET /tenant/{tenantId}/organization
Parameter:
- tenantId – ID des Tenants.
- apiKey – Ihr API-Key.
Antwort: Informationen zur Organisation des Tenants (z.B. Firmenname, Adresse, Kontaktdaten).
Beispiel:
const org = await getOrganization({
apiKey,
tenantId: 'tenant-123'
});
console.log(org);
Datei-Upload durchführen
Die Funktion uploadFile zeigt, wie eine Datei mit einer vor-signierten URL hochgeladen wird. Der Ablauf:
- Pre‑signed URL mit getPresignedUploadUrl abrufen.
- Datei mit einem PUT-Request an diese URL hochladen. Die vor-signierte URL erlaubt den direkten Upload beim Storage-Provider, weitere Zugangsdaten sind nicht erforderlich.
- (Optional) API informieren, dass der Upload abgeschlossen ist, falls Ihr Backend dies verlangt.
Hier ein einfaches Beispiel mit fetch für den Datei-Upload:
async function uploadFile({ apiKey, tenantId, datatableId, file }) {
// Schritt 1: Pre-signed URL abrufen
const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
// Schritt 2: Datei via PUT hochladen
await fetch(uploadUrl, {
method: 'PUT',
headers: {
'Content-Type': file.type
},
body: file
});
// Schritt 3: Optionale Benachrichtigung an Ihre API
// (abhängig vom Backend)
}
info
- Pre-signed URLs laufen nach einer festgelegten Zeit (oft Minuten) ab. Nutzen Sie die URL direkt nach dem Abruf.
- Schlägt der Upload fehl (z.B. Netzunterbrechung), holen Sie eine neue vor-signierte URL, bevor Sie es erneut versuchen.
- Bewahren Sie Ihren apiKey stets sicher auf und veröffentlichen Sie ihn nicht im Client (z.B. im öffentlichen Frontend).
BASH Beispiel
Minimales Bash-Skript, um eine Datei per curl bei ProcessMind hochzuladen (Platzhalter für alle Werte)
NodeJS Beispiel
Lädt eine lokale CSV-Datei per presigned URL zu ProcessMind hoch.
Schritte:
- Presigned Upload-URL via API abrufen
- Lokale Datei vom System einlesen
- Datei per HTTP PUT auf die Upload-URL übertragen
Konfiguration:
- API-Key, tenantId, datatableId und filePath in uploadFileToProcessMind() angeben.
- Die Basis-API-URL ist https://api.processmind.com
Python Beispiel
Lädt eine lokale CSV-Datei per presigned URL zu einer entfernten API hoch.
Schritte:
- Eine presigned Upload-URL von der API abrufen
- Datei lokal von der Festplatte einlesen
- Datei per HTTP PUT an die presigned URL senden
Konfiguration:
- api_key, tenant_id, datatable_id, file_path entsprechend anpassen.