S8

simple8

Demo

ETR: Zobacz każde ustawienie API w akcji.

simple8 przekształca złożone treści w uporządkowany tekst łatwy do czytania i zrozumienia dla osób potrzebujących większego wsparcia językowego. Porównaj prosty język i tekst łatwy do czytania, kompletne i skondensowane dane wyjściowe, opcjonalne wskazówki dotyczące jakości i wszystkie cztery wzorce dostarczania z przykładami żądań i odpowiedzi na żywo.

ETR

simple8 przekształca złożone treści w uporządkowany tekst łatwy do czytania i zrozumienia dla osób potrzebujących większego wsparcia językowego.

Niemieckie wyniki zgodne z DIN

Wyniki simple8 w niemieckim prostym języku są zgodne z DIN ISO 24495-1 i DIN 8581-1. Wyniki w niemieckim języku łatwym do czytania są zgodne z DIN SPEC 33429.

CMS, API i widżet strony z jedną linią kodu JavaScript

Zintegruj simple8 z systemami WordPress, TYPO3, Drupal i Storyblok oraz wieloma innymi systemami, połącz usługę przez API albo dodaj widżet strony za pomocą jednej linii kodu JavaScript.

Hosting w całości w Niemczech

simple8 jest w całości hostowany i obsługiwany w Niemczech. Hosting i przetwarzanie danych są zgodne z RODO.

SLA miesięcznej dostępności 99,9%

simple8 zapewnia SLA miesięcznej dostępności 99,9% dla produkcyjnego interfejsu API.

Przykład interaktywny

Zmiana żądania i odpowiedzi przy każdym ustawieniu.

Tutaj możesz bezpośrednio zobaczyć, jak prosty język, łatwy język, pełne lub skrócone odpowiedzi i opcjonalne informacje o jakości współdziałają ze sobą.

Dane wejściowe

Tekst źródłowy i ustawienia

239 / 1000 znaków

Tryb

Poziom szczegółowości

Żądanie API

{
  "text": "Aby przyspieszyć przetwarzanie, użytkownicy muszą najpierw sprawdzić swoje dane osobowe po udanej rejestracji, zaktualizować je w razie potrzeby, a następnie potwierdzić proces cyfrowo. Po przesłaniu otrzymasz wiadomość z dalszymi krokami.",
  "locale": "pl",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  }
}

Dane wyjściowe

ETR

Ukończono940 ms

Po wysłaniu tłumaczenie strumieniowe pojawi się tutaj.

Odpowiedź API

{
  "requestId": "simple8_case_01",
  "cacheStatus": "hit",
  "durationMs": 940,
  "locale": "pl",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  },
  "output": {
    "text": "Zaloguj się. Sprawdź swoje dane. Zmień fałszywe informacje bezpośrednio online. Potwierdź proces cyfrowo. Otrzymasz wówczas wiadomość. Wiadomość zawiera dalsze kroki."
  }
}

Cztery architektury API

Wszystkie cztery wzorce rozwiązują to samo zadanie techniczne, ale z inną logiką transportu.

Wybór zależy od tego, czy wynik jest potrzebny natychmiast, czy postęp powinien być widoczny i czy system wywołujący może aktywnie czekać, odpytywać lub być powiadamiany poprzez wydarzenie.

01

Synchroniczne żądanie HTTP

Przychodzi żądanie, a gotowa odpowiedź wraca w tym samym połączeniu HTTP.

Nadaje się do

Bezpośrednie działania w interfejsie, krótkie teksty i małe opóźnienia

02

Jedno żądanie + odpowiedź na transmisję strumieniową

Rozpoczyna się przetwarzanie żądania, odpowiedź przychodzi krok po kroku w postaci strumienia.

Nadaje się do

Dłuższa treść, progresywny interfejs użytkownika, widoczny postęp przetwarzania

03

Zadanie asynchroniczne + odpytywanie

Pierwsze żądanie tworzy zadanie, następnie klient wielokrotnie pyta o status.

Nadaje się do

Przetwarzanie wsadowe, backendy, dłuższe zadania bez stałego, otwartego połączenia

04

Zadanie asynchroniczne + webhook

Pierwsze żądanie tworzy zadanie, komunikat o zakończeniu pojawia się później za pośrednictwem webhooka.

Nadaje się do

Przepływy pracy CMS, architektura zdarzeń, niezawodna integracja system-system

Cztery wzorce

Koncepcja, realizacja techniczna i konkretne przykłady dla każdej architektury.

01

Synchroniczne żądanie HTTP

Przychodzi żądanie, a gotowa odpowiedź wraca w tym samym połączeniu HTTP.

Dane wyjściowe API

System wywołujący wysyła żądanie i aktywnie czeka na wynik. `mode` i `settings` są przekazywane w tym samym żądaniu i bezpośrednio określają formę odpowiedzi.

Indywidualne teksty formularzy wysyłamy bezpośrednio do Simple8 i od razu otrzymujemy odpowiednią wersję językową dla wybranego trybu.

API

  • Typowy jest plik `POST /api/translate` z tekstem, trybem języka i ustawieniami.
  • Jeśli się powiedzie, API bezpośrednio zwraca „200 OK” z uproszczonym tekstem.
  • Jeśli `qualityHints=false`, odpowiedź nie zawiera dodatkowych wskazówek dotyczących jakości.
POST /api/translate
{
  "text": "Für die Beantragung des Personalausweises bringen Sie bitte Ihren alten Ausweis oder Reisepass sowie ein aktuelles Lichtbild mit.",
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  }
}

200 OK
{
  "requestId": "req_sync_001",
  "cacheStatus": "miss",
  "durationMs": 980,
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": false
  },
  "output": {
    "text": "Wenn Sie einen Personalausweis beantragen, bringen Sie bitte Ihren alten Ausweis oder Reisepass und ein aktuelles Foto mit."
  }
}

02

Jedno żądanie + odpowiedź na transmisję strumieniową

Rozpoczyna się przetwarzanie żądania, odpowiedź przychodzi krok po kroku w postaci strumienia.

Dane wyjściowe API

Klient rozpoczyna tylko jedno żądanie, ale nie pozostaje ślepy do końca. Zamiast pojedynczej ostatecznej odpowiedzi otrzymują bieżące aktualizacje statusu lub treści za pośrednictwem tego samego połączenia.

Nasz zespół redakcyjny powinien zobaczyć, która wersja jest aktualnie tworzona i w razie potrzeby natychmiast otrzymać informację o jakości.

API

  • Żądanie zawiera te same opcje techniczne co we wzorcu synchronicznym: `mode`, `rewriteScope` i opcjonalnie `qualityHints`.
  • Klient przetwarza zdarzenia takie jak `status`, `delta` i `completed` bez wysyłania nowych żądań.
  • Gdy funkcja `qualityHints` jest aktywna, końcowy komunikat `completed` może zawierać dodatkowe wskazówki dotyczące jakości.
POST /api/translate/stream
{
  "text": "Nach der Beantragung des Personalausweises erhalten Sie ein Schreiben, sobald das Dokument in der Behörde zur Abholung bereitliegt.",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": true
  }
}

event: status
data: {"state":"processing","mode":"easy-language"}

event: delta
data: {"chunk":"Nach dem Antrag bekommen Sie ein Schreiben.\n"}

event: delta
data: {"chunk":"Dann wissen Sie: Ihr Ausweis liegt bereit.\n"}

event: completed
data: {
  "requestId": "req_stream_001",
  "cacheStatus": "miss",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "complete",
    "qualityHints": true
  },
  "output": {
    "text": "Nach dem Antrag bekommen Sie ein Schreiben.\nDann wissen Sie: Ihr Ausweis liegt bereit.",
    "qualityHints": [
      "Die Ausgabe nutzt sehr kurze Sätze mit klarer Reihenfolge."
    ]
  }
}

03

Zadanie asynchroniczne + odpytywanie

Pierwsze żądanie tworzy zadanie, następnie klient wielokrotnie pyta o status.

Dane wyjściowe API

Rzeczywiste przetwarzanie jest oddzielone od pierwszego wywołania HTTP. System wywołujący natychmiast otrzymuje identyfikator zadania, a później sam się kontroluje, gdy ponownie zapyta o status.

Nasz backend zbiera mnóstwo tekstów i później konkretnie pyta, który wariant trybu jest gotowy.

API

  • „POST” tworzy zadanie i zapisuje wybraną kombinację trybu i ustawień.
  • Klient okresowo wysyła zapytanie do `GET /api/jobs/{id}`, aż system zgłosi stan `queued`, `running`, `completed` lub `failed`.
  • Odpytywanie dobrze sprawdza się, gdy skondensowane lub przeanalizowane wersje są klasyfikowane w większe przepływy wsadowe.
POST /api/jobs
{
  "text": "Für die Beantragung des Personalausweises müssen Sie persönlich im Bürgeramt vorsprechen. Minderjährige brauchen die Zustimmung der Sorgeberechtigten.",
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": true
  }
}

202 Accepted
{
  "jobId": "job_poll_001",
  "status": "queued"
}

GET /api/jobs/job_poll_001
{
  "jobId": "job_poll_001",
  "status": "completed",
  "mode": "simple-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": true
  },
  "output": {
    "text": "Für den Personalausweis müssen Sie persönlich ins Bürgeramt gehen.",
    "qualityHints": [
      "Die Ausgabe konzentriert sich auf die wichtigsten Aussagen und lässt Nebendetails weg."
    ]
  }
}

04

Zadanie asynchroniczne + webhook

Pierwsze żądanie tworzy zadanie, komunikat o zakończeniu pojawia się później za pośrednictwem webhooka.

Dane wyjściowe API

Tutaj również przetwarzanie rozpoczyna się asynchronicznie. W przeciwieństwie do odpytywania, klient nie pyta wielokrotnie o status, ale jest aktywnie powiadamiany, gdy tylko dostępny będzie wynik lub błąd.

Nasz CMS decyduje dla każdej treści, czy używany jest język prosty czy łatwy i zapisuje gotową wersję dopiero po webhooku.

API

  • Oprócz danych technicznych żądanie uruchomienia przesyła także tryb, ustawienia i `webhookUrl`.
  • Po zakończeniu API wysyła podpisane zdarzenie `POST` do systemu docelowego.
  • Przepływy webhooków są szczególnie przydatne podczas podawania różnych trybów wyjściowych do procesów publikowania lub wydawania.
POST /api/jobs
{
  "text": "Wenn Sie Ihren Personalausweis beantragen, können Gebühren anfallen. Bitte bringen Sie die erforderlichen Unterlagen vollständig zum Termin mit.",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": false
  },
  "webhookUrl": "https://cms.example.com/webhooks/simple8"
}

202 Accepted
{
  "jobId": "job_hook_001",
  "status": "queued"
}

POST https://cms.example.com/webhooks/simple8
simple8-signature: sha256=...

{
  "event": "job.completed",
  "jobId": "job_hook_001",
  "mode": "easy-language",
  "settings": {
    "rewriteScope": "condensed",
    "qualityHints": false
  },
  "output": {
    "text": "Für den Personalausweis können Gebühren anfallen.\nBringen Sie bitte alle nötigen Unterlagen mit."
  }
}