Starta bulköversÀttning i bakgrunden av publicerade dokument i ett schema till mÄlsprÄk.
Köa bakgrundsöversÀttning av alla publicerade dokument frÄn ett eller flera komponentscheman till en uppsÀttning mÄlsprÄk. Resultaten uppdateras eller infogas i tabellen translations nÀr varje översÀttning slutförs.
Slutpunkt: POST /translation
Autentisering: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| FĂ€lt | Typ | Obligatorisk | Anteckningar |
|---|---|---|---|
websiteId | uuid | ja | Webbplats som innehÄller kÀlldokumenten. |
schemaNames | string[] | ja* | Komponentscheman som ska översÀttas. Dubblettnamn tas bort. |
schemaName | string | ja* | Ăldre alternativ för att skicka in ett enda schema. |
languages | string[] | ja | Stödda sprÄkkoder för mÄlsprÄk. Dubblettkoder tas bort. |
* Ange antingen schemaNames eller schemaName.
Endast publicerade dokument med publicerat innehÄll som inte Àr null beaktas.
{
"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"
}
Returnerar:
202 Accepted nÀr översÀttningarna Àr köade200 OK nÀr varje översÀttning redan Àr aktuell| FÀlt | Beskrivning |
|---|---|
job_id | Identifierare som anvÀnds för att hÀmta jobbets förlopp. |
status | Aktuell jobbstatus. |
documents_processed | Antal berÀttigade kÀlldokument som hittades. |
translations_scheduled | Antal dokument-sprÄk-par som har köats. |
translations_skipped | Antal som hoppades över eftersom deras kÀllhashar Àr aktuella. |
translations_completed | Antal som översattes framgÄngsrikt. |
translations_failed | Antal som misslyckades. |
reused | Om svaret avser ett befintligt aktivt jobb. |
Möjliga jobbstatusar Àr:
preparingqueuedrunningcompletedcompleted_with_errorsfailedVarje dokument-sprÄk-par lagrar en SHA-256-hash av kÀlldokumentets publicerade innehÄll.
En översÀttning hoppas över nÀr den lagrade kÀllhashen matchar det aktuella publicerade innehÄllet. Detta gör det möjligt att anropa slutpunkten upprepade gÄnger utan att översÀtta oförÀndrat innehÄll pÄ nytt.
Om det publicerade innehÄllet Àndras medan ett motsvarande jobb Àr aktivt avvisar tjÀnsten den nya begÀran. Skicka in den igen efter att det aktiva jobbet Àr slutfört.
ĂversĂ€ttningen körs asynkront efter det initiala svaret.
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 â scheman eller sprĂ„k saknas, ett sprĂ„k stöds inte eller batchen överskrider den konfigurerade grĂ€nsen401 Unauthorized â bearer-token saknas eller Ă€r ogiltig409 Conflict â matchande arbete Ă€r aktivt, men det publicerade kĂ€llinnehĂ„llet har Ă€ndrats500 Internal Server Error â kĂ€lldokumenten kunde inte förberedas eller en databasoperation misslyckadesHĂ€mta den senaste statusen för ett översĂ€ttningsjobb.
Slutpunkt: GET /translation-jobs/{job_id}
Autentisering: Bearer JWT (WorkOS)
Svaret anvÀnder samma jobbobjekt som returneras av POST /translation, med uppdaterad status och uppdaterade rÀknare.
{
"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-token saknas eller Ă€r ogiltig404 Not Found â jobbet finns inte eller lagras inte lĂ€ngreĂversĂ€ttningsjobb behĂ„lls för nĂ€rvarande i minnet. Jobbstatus gĂ„r förlorad nĂ€r översĂ€ttningstjĂ€nsten startas om, och distributioner med flera instanser krĂ€ver klistrig dirigering.