Pokrenite skupni pozadinski prijevod objavljenih dokumenata sheme na ciljne jezike.
Stavlja u red čekanja pozadinski prijevod svih objavljenih dokumenata iz jedne ili više komponentnih shema na skup ciljnih jezika. Rezultati se umeću ili ažuriraju u tablici translations nakon dovršetka svakog prijevoda.
Krajnja točka: POST /translation
Autentikacija: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| Polje | Vrsta | Obavezno | Napomene |
|---|---|---|---|
websiteId | uuid | da | Web-mjesto koje sadrži izvorne dokumente. |
schemaNames | string[] | da* | Komponentne sheme koje treba prevesti. Duplikati naziva uklanjaju se. |
schemaName | string | da* | Naslijeđena alternativa za slanje jedne sheme. |
languages | string[] | da | Podržani kodovi ciljnih jezika. Duplikati kodova uklanjaju se. |
* Navedite ili schemaNames ili schemaName.
U obzir se uzimaju samo objavljeni dokumenti s ne-nultim objavljenim sadržajem.
{
"job_id": "<uuid>",
"website_id": "<uuid>",
"schema_name": null,
"schema_names": ["post", "hero"],
"languages": ["fr", "es", "de"],
"status": "queued",
"documents_processed": 12,
"translations_scheduled": 30,
"translations_skipped": 6,
"translations_completed": 0,
"translations_failed": 0,
"reused": false,
"created_at": "2026-07-15T18:00:00Z",
"updated_at": "2026-07-15T18:00:00Z"
}
Vraća:
202 Accepted kada se prijevodi stave u red čekanja200 OK kada je svaki prijevod već aktualan| Polje | Opis |
|---|---|
job_id | Identifikator koji se koristi za dohvaćanje napretka posla. |
status | Trenutačni status posla. |
documents_processed | Broj pronađenih prihvatljivih izvornih dokumenata. |
translations_scheduled | Broj parova dokument–jezik stavljenih u red čekanja. |
translations_skipped | Broj preskočenih parova jer su hash-vrijednosti njihovih izvora aktualne. |
translations_completed | Broj uspješno prevedenih parova. |
translations_failed | Broj neuspješnih prijevoda. |
reused | Označava odnosi li se odgovor na postojeći aktivni posao. |
Mogući statusi posla su:
preparingqueuedrunningcompletedcompleted_with_errorsfailedSvaki par dokument–jezik pohranjuje SHA-256 hash-vrijednost objavljenog sadržaja izvornog dokumenta.
Prijevod se preskače kada njegova pohranjena hash-vrijednost izvora odgovara trenutačnom objavljenom sadržaju. To omogućuje višestruko pozivanje krajnje točke bez ponovnog prevođenja nepromijenjenog sadržaja.
Ako se objavljeni sadržaj promijeni dok je ekvivalentan posao aktivan, usluga odbija novi zahtjev. Pošaljite ga ponovno nakon dovršetka aktivnog posla.
Prevođenje se izvršava asinkrono nakon početnog odgovora.
completed_with_errors.curl -X POST '{TRANSLATION_API_URL}/translation' \
-H 'Authorization: Bearer <workos-jwt>' \
-H 'Content-Type: application/json' \
-d '{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es"]
}'
400 Bad Request — sheme ili jezici nedostaju, jezik nije podržan ili paket premašuje konfigurirano ograničenje401 Unauthorized — token bearer nedostaje ili nije valjan409 Conflict — odgovarajući posao je aktivan, ali se objavljeni izvorni sadržaj promijenio500 Internal Server Error — izvorni dokumenti nisu se mogli pripremiti ili operacija nad bazom podataka nije uspjelaDohvaća najnoviji napredak posla prevođenja.
Krajnja točka: GET /translation-jobs/{job_id}
Autentikacija: Bearer JWT (WorkOS)
Odgovor koristi isti objekt posla koji vraća POST /translation, s ažuriranim statusom i brojačima napretka.
{
"job_id": "<uuid>",
"website_id": "<uuid>",
"schema_name": null,
"schema_names": ["post", "hero"],
"languages": ["fr", "es"],
"status": "running",
"documents_processed": 12,
"translations_scheduled": 24,
"translations_skipped": 0,
"translations_completed": 16,
"translations_failed": 1,
"reused": false,
"created_at": "2026-07-15T18:00:00Z",
"updated_at": "2026-07-15T18:01:30Z"
}
curl '{TRANSLATION_API_URL}/translation-jobs/<job-id>' \
-H 'Authorization: Bearer <workos-jwt>'
401 Unauthorized — token bearer nedostaje ili nije valjan404 Not Found — posao ne postoji ili se više ne zadržavaPoslovi prevođenja trenutačno se zadržavaju u memoriji. Status posla gubi se pri ponovnom pokretanju usluge prevođenja, a implementacije s više instanci zahtijevaju ljepljivo usmjeravanje.