Séma közzétett dokumentumainak kötegelt, háttérben történő fordításának elindítása a célnyelvekre.
Egy vagy több komponensséma összes közzétett dokumentumának háttérben történő fordításának ütemezése egy célnyelvkészletre. Az eredmények minden fordítás elkészültével bekerülnek a translations táblába.
Végpont: POST /translation
Hitelesítés: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| Mező | Típus | Kötelező | Megjegyzések |
|---|---|---|---|
websiteId | uuid | igen | A forrásdokumentumokat tartalmazó webhely. |
schemaNames | string[] | igen* | A fordítandó komponenssémák. A duplikált neveket eltávolítjuk. |
schemaName | string | igen* | Örökölt alternatíva egyetlen séma megadásához. |
languages | string[] | igen | A támogatott célnyelvek kódjai. A duplikált kódokat eltávolítjuk. |
* A schemaNames vagy a schemaName egyikét kell megadni.
Csak a nem null értékű, közzétett tartalommal rendelkező közzétett dokumentumokat vesszük figyelembe.
{
"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"
}
Visszatérési értékek:
202 Accepted, amikor a fordítások ütemezése megtörtént200 OK, amikor minden fordítás már naprakész| Mező | Leírás |
|---|---|
job_id | A feladat előrehaladásának lekérésére használt azonosító. |
status | A feladat aktuális állapota. |
documents_processed | A megtalált feldolgozható forrásdokumentumok száma. |
translations_scheduled | A sorba állított dokumentum–nyelv párok száma. |
translations_skipped | Az aktuális forráshash miatt kihagyott párok száma. |
translations_completed | A sikeresen lefordított párok száma. |
translations_failed | A sikertelen párok száma. |
reused | Azt jelzi, hogy a válasz egy meglévő aktív feladatra hivatkozik-e. |
A lehetséges feladatállapotok:
preparingqueuedrunningcompletedcompleted_with_errorsfailedMinden dokumentum–nyelv pár a forrásdokumentum közzétett tartalmának SHA-256 hashértékét tárolja.
A fordítást kihagyjuk, ha a tárolt forráshash megegyezik az aktuális közzétett tartalom hashértékével. Ez lehetővé teszi, hogy a végpontot ismételten meghívják a változatlan tartalom újbóli lefordítása nélkül.
Ha a közzétett tartalom egy egyenértékű feladat aktív állapota közben megváltozik, a szolgáltatás elutasítja az új kérést. Küldje el újra, miután az aktív feladat befejeződött.
A fordítás az első válasz elküldése után aszinkron módon fut.
completed_with_errors állapottal fejeződik be.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 — a sémák vagy a nyelvek hiányoznak, egy nyelv nem támogatott, vagy a köteg meghaladja a beállított korlátot401 Unauthorized — a bearer token hiányzik vagy érvénytelen409 Conflict — megfelelő munka van folyamatban, de a közzétett forrástartalom megváltozott500 Internal Server Error — a forrásdokumentumokat nem sikerült előkészíteni, vagy egy adatbázis-művelet sikertelen voltEgy fordítási feladat legutóbbi előrehaladásának lekérése.
Végpont: GET /translation-jobs/{job_id}
Hitelesítés: Bearer JWT (WorkOS)
A válasz ugyanazt a feladatobjektumot használja, amelyet a POST /translation ad vissza, frissített állapottal és előrehaladási számlálókkal.
{
"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 — a bearer token hiányzik vagy érvénytelen404 Not Found — a feladat nem létezik, vagy már nem érhető el a megőrzési idő lejárta miattA fordítási feladatokat jelenleg memóriában tároljuk. A feladat állapota elveszik, amikor a fordítási szolgáltatás újraindul, a többpéldányos telepítésekhez pedig munkamenet-ragasztásos útválasztás szükséges.