Käynnistä skeeman julkaistujen asiakirjojen erämuotoinen taustakäännös kohdekielille.
Aseta kaikkien julkaistujen asiakirjojen taustakäännös jonosta yhdestä tai useammasta komponenttiskeemasta useille kohdekielille. Tulokset lisätään tai päivitetään translations-tauluun kunkin käännöksen valmistuessa.
Päätepiste: POST /translation
Todennus: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| Kenttä | Tyyppi | Pakollinen | Huomautukset |
|---|---|---|---|
websiteId | uuid | kyllä | Sivusto, joka sisältää lähdeasiakirjat. |
schemaNames | string[] | kyllä* | Käännettävät komponenttiskeemat. Päällekkäiset nimet poistetaan. |
schemaName | string | kyllä* | Vanha vaihtoehto yhden skeeman lähettämiseen. |
languages | string[] | kyllä | Tuetut kohdekielten koodit. Päällekkäiset koodit poistetaan. |
* Anna joko schemaNames tai schemaName.
Huomioon otetaan vain julkaistut asiakirjat, joiden julkaistu sisältö ei ole null.
{
"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"
}
Palauttaa:
202 Accepted, kun käännökset on asetettu jonoon200 OK, kun kaikki käännökset ovat jo ajan tasalla| Kenttä | Kuvaus |
|---|---|
job_id | Tunniste, jolla työn eteneminen haetaan. |
status | Työn nykyinen tila. |
documents_processed | Löydettyjen kelvollisten lähdeasiakirjojen määrä. |
translations_scheduled | Jonoon asetettujen asiakirja–kieli-parien määrä. |
translations_skipped | Ohitettujen parien määrä, koska niiden lähteen tiivisteet ovat ajan tasalla. |
translations_completed | Onnistuneesti käännettyjen määrä. |
translations_failed | Epäonnistuneiden määrä. |
reused | Ilmaisee, viittaako vastaus olemassa olevaan aktiiviseen työhön. |
Mahdolliset työn tilat ovat:
preparingqueuedrunningcompletedcompleted_with_errorsfailedJokaiseen asiakirja–kieli-pariin tallennetaan lähdeasiakirjan julkaistun sisällön SHA-256-tiiviste.
Käännös ohitetaan, kun tallennettu lähteen tiiviste vastaa nykyistä julkaistua sisältöä. Näin päätepistettä voidaan kutsua toistuvasti ilman muuttumattoman sisällön uudelleenkääntämistä.
Jos julkaistu sisältö muuttuu vastaavan työn ollessa aktiivinen, palvelu hylkää uuden pyynnön. Lähetä pyyntö uudelleen aktiivisen työn valmistuttua.
Käännös suoritetaan asynkronisesti alkuperäisen vastauksen jälkeen.
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 — skeemoja tai kieliä puuttuu, kieltä ei tueta tai erä ylittää määritetyn rajan401 Unauthorized — bearer-tunnus puuttuu tai on virheellinen409 Conflict — vastaava työ on aktiivinen, mutta julkaistu lähdesisältö muuttui500 Internal Server Error — lähdeasiakirjoja ei voitu valmistella tai tietokantatoiminto epäonnistuiHae käännöstyön viimeisin eteneminen.
Päätepiste: GET /translation-jobs/{job_id}
Todennus: Bearer JWT (WorkOS)
Vastauksessa käytetään samaa työobjektia kuin POST /translation-vastauksessa, mutta tila- ja etenemislaskurit on päivitetty.
{
"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 — bearer-tunnus puuttuu tai on virheellinen404 Not Found — työtä ei ole olemassa tai sitä ei enää säilytetäKäännöstöitä säilytetään tällä hetkellä muistissa. Työn tila menetetään, kun käännöspalvelu käynnistyy uudelleen, ja usean instanssin käyttöönotot edellyttävät istuntojen pysyvää reititystä.