Dokumenten-Ingestion
Der Ingestion-Endpunkt erlaubt es, Dokumente aus externen Systemen in Ihren Optimaite-Workspace zu uebertragen -- Scanner, E-Mail-Gateways, Skripte oder Drittanwendungen.
Endpunkt
POST /webhooks/inbox/{tenant_id}
Dieser Endpunkt ist sowohl im Law- als auch im Business-Backend verfuegbar.
Authentifizierung
Jede Anfrage muss den Workspace-Webhook-Token im Header X-Optimaite-Token enthalten:
X-Optimaite-Token: your-webhook-token
Jeder Workspace hat einen eigenen Token. Sie finden und rotieren ihn unter Workspace Settings > Webhooks in der Optimaite UI.
Bewahren Sie den Webhook-Token sicher auf. Wer den Token besitzt, kann Dokumente in Ihren Workspace hochladen. Bei Verdacht auf Kompromittierung den Token sofort rotieren.
Request-Format
Der Endpunkt akzeptiert multipart/form-data mit folgenden Feldern:
| Feld | Typ | Pflicht | Beschreibung |
|---|---|---|---|
file | File | Ja | Das hochzuladende Dokument. Unterstuetzte Formate: PDF, DOCX, DOC, PNG, JPG, TIFF |
folder_id | String | Nein | UUID des Zielordners. Wenn leer, landet das Dokument im Inbox-Bereich. |
metadata | String (JSON) | Nein | Optionales JSON-Objekt mit Metadaten fuer das Dokument |
Code-Beispiele
curl -X POST https://api.optimaite.eu/webhooks/inbox/YOUR_TENANT_ID \
-H "X-Optimaite-Token: your-webhook-token" \
-F "file=@contract.pdf"
import requests
url = "https://api.optimaite.eu/webhooks/inbox/YOUR_TENANT_ID"
headers = {"X-Optimaite-Token": "your-webhook-token"}
with open("contract.pdf", "rb") as f:
response = requests.post(
url,
headers=headers,
files={"file": ("contract.pdf", f, "application/pdf")},
)
print(response.status_code, response.json())
import { readFileSync } from "fs";
const formData = new FormData();
const fileBuffer = readFileSync("./contract.pdf");
formData.append("file", new Blob([fileBuffer]), "contract.pdf");
const response = await fetch(
"https://api.optimaite.eu/webhooks/inbox/YOUR_TENANT_ID",
{
method: "POST",
headers: { "X-Optimaite-Token": "your-webhook-token" },
body: formData,
}
);
console.log(response.status, await response.json());
Antwort
Erfolg (200)
{
"status": "ok",
"document_id": "550e8400-e29b-41d4-a716-446655440000",
"filename": "contract.pdf"
}
Fehlerantworten
| Status | Bedeutung |
|---|---|
| 401 | Fehlender oder ungueltiger X-Optimaite-Token-Header |
| 404 | Tenant-ID nicht gefunden |
| 413 | Datei ueberschreitet die maximale Upload-Groesse |
| 415 | Nicht unterstuetztes Dateiformat |
| 422 | Fehlendes file-Feld oder ungueltige Anfrage |
Token-Management
Gehen Sie in der Optimaite-App zu Workspace Settings > Webhooks, um URL, aktuellen Token und Token-Rotation zu sehen.
Nach der Rotation ist der alte Token sofort ungueltig. Externe Systeme vorab aktualisieren, um Ausfallzeiten zu vermeiden.
Naechste Schritte
- Audit-Export -- Audit-Events an SIEM streamen
- Cases API -- Akten fuer ingestierte Dokumente verwalten