Dokumentenliste
Auf dieser Seite

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

MethodeEndpointBeschreibung
GET/tenant/{tenantId}/datatable/{datatableId}/uploads/presignedurlGibt eine temporäre, vor-signierte URL für den Datei-Upload in eine Datatable zurück.
GET/tenant/{tenantId}/datasetsListet die Datasets für den angegebenen Tenant auf.
GET/tenant/{tenantId}Gibt Details zum angegebenen Tenant zurück.
GET/tenant/{tenantId}/organizationZeigt 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:

  1. Pre‑signed URL mit getPresignedUploadUrl abrufen.
  2. 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.
  3. (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)

BASH Beispiel herunterladen

NodeJS Beispiel

Lädt eine lokale CSV-Datei per presigned URL zu ProcessMind hoch.

Schritte:

  1. Presigned Upload-URL via API abrufen
  2. Lokale Datei vom System einlesen
  3. Datei per HTTP PUT auf die Upload-URL übertragen

Konfiguration:

NodeJS Beispiel herunterladen

Python Beispiel

Lädt eine lokale CSV-Datei per presigned URL zu einer entfernten API hoch.

Schritte:

  1. Eine presigned Upload-URL von der API abrufen
  2. Datei lokal von der Festplatte einlesen
  3. Datei per HTTP PUT an die presigned URL senden

Konfiguration:

  • api_key, tenant_id, datatable_id, file_path entsprechend anpassen.
Python Beispiel herunterladen