Dokumentation

Legen Sie fest, wie Ihr System das Ergebnis erhält.

{
  "text": "Komplexer Ausgangstext in der ausgewählten Sprache.",
  "locale": "de",
  "mode": "simple-language"
}

SDK und cURL-Beispiele verfügbar

Synchrones HTTP

Vergleichen Sie direkte Antworten, Streaming, Hintergrundaufträge und Webhooks. Alle Varianten verwenden Text, Sprachcode und Modus.

Endpunkt

POST /api/v2/translate

Am besten für

Kurze Texte, deren Ergebnis sofort gebraucht wird.

Erfolg

200 OK

Streaming

Die Antwort verwendet Content-Type: text/event-stream.

Endpunkt

POST /api/v2/translate/stream

Am besten für

Für längere Inhalte, deren Ergebnis schrittweise angezeigt werden soll.

json
{
  "text": "Source content in the selected language.",
  "locale": "en",
  "mode": "easy-language"
}
text
event: meta
data: {"requestId":"req_stream_001","locale":"en","mode":"easy-language"}

event: delta
data: {"delta":"Complete result."}

event: done
data: {"usage":{"inputCharacters":42,"cacheHit":false}}

Der Stream beginnt mit meta. Danach folgen ein oder mehrere Textteile als delta. Das Ereignis done schließt die Antwort mit den Nutzungsdaten ab.

Das erste Ereignis enthält die Anfrage-ID, den Sprachcode und den Modus.

Jedes Delta enthält einen Teil des Ergebnisses und done enthält die Nutzungsinformationen.

Anschließend wird die Verbindung geschlossen.

Asynchroner Job mit Abfrage

Idempotency-Key verhindert doppelte Aufträge, wenn Sie eine Anfrage nach einer Zeitüberschreitung oder einem Verbindungsfehler erneut senden. Wählen Sie für jeden neuen Auftrag einen neuen Schlüssel, zum Beispiel eine UUID. Diesen Bezeichner für die Anfrage erstellen Sie selbst; er ist nicht Ihr API-Schlüssel.

Endpunkt erstellen

POST /api/v2/jobs

Statusendpunkt

GET /api/v2/jobs/{id}

Verwenden Sie 1 bis 255 Zeichen: A-Z, a-z, 0-9, Punkte (.), Unterstriche (_), Doppelpunkte (:) oder Bindestriche (-). Verwenden Sie keine Leerzeichen und kürzen Sie den Schlüssel nicht. Senden Sie bei jedem erneuten Versuch denselben Schlüssel und denselben Anfrageinhalt.

Die erste Erstellung liefert HTTP 202. Dieselbe Anfrage erneut zu senden liefert HTTP 200 mit der vorhandenen Auftrags-ID. Derselbe Schlüssel mit einer anderen Anfrage liefert HTTP 409. Diese Regeln gelten auch für Stapel. Die folgenden Beispiele enthalten den Header; ersetzen Sie den Beispielschlüssel einmal für jeden neuen Auftrag oder Stapel.

bash
curl https://api.simple8.de/api/v2/jobs \
  -H "Authorization: Bearer $SIMPLE8_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: article-4711-v1" \
  -d '{
  "text": "Source content in the selected language.",
  "locale": "fr",
  "mode": "simple-language",
  "delivery": {
    "type": "polling"
  }
}'
json
{
  "jobId": "job_poll_001",
  "status": "queued",
  "expiresAt": "2026-09-03T12:00:00.000Z"
}
json
{
  "jobId": "job_poll_001",
  "status": "completed",
  "locale": "fr",
  "mode": "simple-language",
  "output": "Simplified content in French.",
  "expiresAt": "2026-09-03T12:00:00.000Z"
}

Jobs bleiben sieben Tage lang verfügbar.

Ein Auftrag durchläuft die Status queued, processing, completed oder failed. Fehlgeschlagene Aufträge enthalten error.code. Erstellungs- und Statusantworten enthalten expiresAt.

Fragen Sie den Status zunächst nach einer Sekunde erneut ab. Erhöhen Sie den Abstand bei längerer Verarbeitung schrittweise.

Asynchroner Job mit Webhook

Erstellen und prüfen Sie zunächst einen Webhook-Endpunkt in der Simple8-Anwendung. Verweisen Sie dann im Job auf die Endpunkt-ID.

Endpunkt erstellen

POST /api/v2/jobs

bash
curl https://api.simple8.de/api/v2/jobs \
  -H "Authorization: Bearer $SIMPLE8_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: article-4711-webhook-v1" \
  -d '{
  "text": "Source content in the selected language.",
  "locale": "de",
  "mode": "easy-language",
  "delivery": {
    "type": "webhook",
    "endpointId": "00000000-0000-4000-8000-000000000000"
  }
}'
json
{
  "id": "evt_01",
  "type": "job.completed",
  "createdAt": "2026-08-06T12:00:00.000Z",
  "data": {
    "jobId": "job_hook_001",
    "status": "completed"
  }
}

Simple8 sendet Simple8-Signature im Format t=<timestamp>,v1=<signature>. <timestamp> ist ein Unix-Zeitstempel in Sekunden. Die Signatur ist ein kleingeschriebener Hexadezimalwert eines HMAC SHA-256 über <timestamp>.<raw request body>.

Prüfen Sie die Signatur anhand der unveränderten Anfrage. Den geheimen Signaturschlüssel sehen Sie einmal beim Erstellen des Endpunkts.

Gib HTTP 200 oder 201 zurück, sobald dein System das Ereignis akzeptiert hat.

Wiederholungen: Bei einem Fehler versucht Simple8 die Zustellung innerhalb von sieben Tagen bis zu 50 Mal erneut. Die letzten Versuche sehen Sie in der Anwendung.

Doppelte Ereignisse: Verarbeiten Sie jede Ereignis-ID nur einmal, da eine Wiederholung dasselbe Ereignis erneut senden kann.

Stapelverarbeitung

Senden Sie zwischen 1 und 50 Artikel mit insgesamt maximal 25.000 Zeichen.

Endpunkt erstellen

POST /api/v2/batches

Statusendpunkt

GET /api/v2/batches/{id}

Jedes Element verwendet dieselben Text-, Sprachcode- und Modusfelder wie eine synchrone Anfrage.

Wählen Sie Polling oder einen verifizierten Webhook-Endpunkt für die Zustellung und senden Sie einen eindeutigen Idempotency-Key-Header.

bash
curl https://api.simple8.de/api/v2/batches \
  -H "Authorization: Bearer $SIMPLE8_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: release-4711-v1" \
  -d '{
  "items": [
    {
      "text": "First source text.",
      "locale": "en",
      "mode": "simple-language"
    },
    {
      "text": "Second source text.",
      "locale": "de",
      "mode": "easy-language"
    }
  ],
  "delivery": {
    "type": "polling"
  }
}'
json
{
  "batchId": "batch_001",
  "status": "queued",
  "itemCount": 2
}
json
{
  "batchId": "batch_001",
  "status": "completed",
  "itemCount": 2,
  "items": [
    {
      "jobId": "job_001",
      "status": "completed",
      "locale": "en",
      "mode": "simple-language",
      "output": "First result."
    },
    {
      "jobId": "job_002",
      "status": "failed",
      "locale": "de",
      "mode": "easy-language",
      "error": {
        "code": "processing_failed"
      }
    }
  ]
}

Das Erstellen eines Batches gibt beim ersten Mal HTTP 202 und bei einer idempotenten Wiederholung HTTP 200 zurück. Die Webhook-Ereignisse sind job.completed, job.failed, batch.completed und batch.failed. Payloads abgeschlossener Webhooks enthalten nur Kennungen und Status. Rufe den Status-Endpoint des Auftrags oder Batches ab, um das Ergebnis zu lesen.

Simple8 kostenlos nutzen.

Erstellen Sie Ihr kostenloses Konto und nutzen Sie jeden Monat bis zu 15.000 Zeichen kostenlos.