Dokumentacja

Wybierz, jak twój system otrzymuje wynik.

{
  "text": "Kompleksowa treść źródłowa w wybranym języku.",
  "locale": "pl",
  "mode": "simple-language"
}

Dostępne przykłady SDK i cURL

Synchroniczne HTTP

Porównaj bezpośrednie odpowiedzi, strumieniowanie, zadania w tle i haki. Wszystkie warianty używają tekstu, kodu językowego i trybu.

Wynik końcowy

POST /api/v2/translate

Najlepsze dla

Krótkie teksty, których wynik jest potrzebny natychmiast.

Sukces

200 OK

Streaming

Odpowiedź używa typu treści: tekst/strumień zdarzenia.

Wynik końcowy

POST /api/v2/translate/stream

Najlepsze dla

Dla większej zawartości, której wynik powinien być wyświetlany stopniowo.

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}}

Strumień zaczyna się od meta. Następnie następuje jedna lub więcej części tekstu jako delta. Wykonane zdarzenie uzupełnia odpowiedź danymi dotyczącymi użytkowania.

Pierwsze zdarzenie zawiera identyfikator żądania, kod głosowy i tryb.

Każda delta zawiera część wyniku, a gotowe zawiera informacje o użyciu.

Po zakończeniu połączenie zostaje zamknięte.

Praca w nieprzyrzeczalnym czasie z sondażami

Wyślij unikalny nagłówek Idempotency-Key podczas tworzenia zadania. Przy ponownych próbach użyj tego samego klucza bez początkowych i końcowych spacji, o długości od 1 do 255 znaków. Pierwsze utworzenie zwraca 202, a powtórzenie zwraca 200.

Utworzenie punktu końcowego

POST /api/v2/jobs

Punkt końcowy stanu

GET /api/v2/jobs/{id}

json
{
  "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"
}

Oferty pracy są dostępne przez siedem dni.

Zadanie przechodzi przez stany queued, processing, completed lub failed. Zadania zakończone niepowodzeniem zawierają error.code. Odpowiedzi dotyczące utworzenia i stanu zawierają expiresAt.

Najpierw poproś ponownie o status po jednej sekundzie. Zwiększenie odległości stopniowo z dłuższym przetwarzaniem.

Praca asynchronizacja z webhook

Najpierw utwórz i zweryfikuj punkt końcowy webhooka w aplikacji Simple8. Następnie odwołaj się do jego identyfikatora punktu końcowego w zadaniu.

Utworzenie punktu końcowego

POST /api/v2/jobs

json
{
  "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 wysyła Simple8-Signature w formacie t=<timestamp>,v1=<signature>. <timestamp> to uniksowy znacznik czasu w sekundach. Podpis jest zapisanym małymi literami wynikiem szesnastkowym HMAC SHA-256 obliczonego dla <timestamp>.<raw request body>.

Sprawdź podpis na niezmienionym wniosku. Po utworzeniu punktu końcowego zobaczysz klucz podpisu.

Zwróć HTTP 200 lub 201 natychmiast po zaakceptowaniu zdarzenia przez system.

Powtarzanie: W przypadku błędu, Simple8 próbuje dostarczyć do 50 razy w ciągu siedmiu dni. Możesz zobaczyć ostatnie próby w aplikacji.

Zdarzenia duplikowane: Przetwarzanie identyfikatora każdego zdarzenia tylko raz, jako powtórzenie może przywrócić to samo zdarzenie.

Przetwarzanie wsadowe

Wyślij od 1 do 50 elementów o łącznej maksymalnej długości 25 000 znaków.

Utworzenie punktu końcowego

POST /api/v2/batches

Punkt końcowy stanu

GET /api/v2/batches/{id}

Każdy element używa tych samych pól tekstu, ustawień regionalnych i trybu, co żądanie synchroniczne.

Wybierz odpytywanie lub zweryfikowany punkt końcowy webhooka do dostarczenia i wyślij unikalny nagłówek Idempotency-Key.

json
{
  "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"
      }
    }
  ]
}

Utworzenie partii zwraca za pierwszym razem HTTP 202, a przy idempotentnym powtórzeniu HTTP 200. Zdarzenia webhook to job.completed, job.failed, batch.completed i batch.failed. Payloady ukończonych webhooków zawierają tylko identyfikatory i stan. Pobierz wynik z endpointu stanu zadania lub partii.

Zacznij korzystać z Simple8 za darmo.

Utwórz darmowe konto i co miesiąc wykorzystaj bezpłatnie do 15 000 znaków.