Bir şemanın yayımlanmış belgelerinin hedef dillere toplu arka plan çevirisini başlatır.
Yayımlanmış tüm belgelerin bir veya daha fazla bileşen şemasından bir dizi hedef dile arka planda çevrilmesini kuyruğa alır. Çeviriler tamamlandıkça sonuçlar translations tablosuna eklenir veya güncellenir.
Uç nokta: POST /translation
Kimlik doğrulama: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| Alan | Tür | Zorunlu | Notlar |
|---|---|---|---|
websiteId | uuid | evet | Kaynak belgeleri içeren web sitesi. |
schemaNames | string[] | evet* | Çevrilecek bileşen şemaları. Yinelenen adlar kaldırılır. |
schemaName | string | evet* | Tek bir şema göndermek için eski alternatif. |
languages | string[] | evet | Desteklenen hedef dil kodları. Yinelenen kodlar kaldırılır. |
* schemaNames veya schemaName seçeneklerinden birini sağlayın.
Yalnızca yayımlanmış içeriği null olmayan yayımlanmış belgeler değerlendirilir.
{
"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"
}
Şunları döndürür:
202 Accepted200 OK| Alan | Açıklama |
|---|---|
job_id | İş ilerlemesini almak için kullanılan tanımlayıcı. |
status | İşin mevcut durumu. |
documents_processed | Bulunan uygun kaynak belge sayısı. |
translations_scheduled | Kuyruğa alınan belge-dil çifti sayısı. |
translations_skipped | Kaynak özetleri güncel olduğu için atlananların sayısı. |
translations_completed | Başarıyla çevrilenlerin sayısı. |
translations_failed | Başarısız olanların sayısı. |
reused | Yanıtın mevcut bir etkin işe referans verip vermediği. |
Olası iş durumları:
preparingqueuedrunningcompletedcompleted_with_errorsfailedHer belge-dil çifti, kaynak belgenin yayımlanmış içeriğinin SHA-256 özetini saklar.
Saklanan kaynak özeti mevcut yayımlanmış içerikle eşleştiğinde çeviri atlanır. Bu, uç noktanın değişmemiş içeriği yeniden çevirmeden tekrar tekrar çağrılabilmesini sağlar.
Eşdeğer bir iş etkin durumdayken yayımlanmış içerik değişirse hizmet yeni isteği reddeder. Etkin iş tamamlandıktan sonra isteği yeniden gönderin.
Çeviri, ilk yanıttan sonra eşzamansız olarak çalışır.
completed_with_errors durumuyla tamamlanır.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 — şemalar veya diller eksik, bir dil desteklenmiyor ya da toplu işlem yapılandırılmış sınırı aşıyor401 Unauthorized — bearer belirteci eksik veya geçersiz409 Conflict — eşleşen iş etkin, ancak yayımlanmış kaynak içerik değişti500 Internal Server Error — kaynak belgeler hazırlanamadı veya bir veritabanı işlemi başarısız olduBir çeviri işinin en güncel ilerleme durumunu alır.
Uç nokta: GET /translation-jobs/{job_id}
Kimlik doğrulama: Bearer JWT (WorkOS)
Yanıt, güncellenmiş durum ve ilerleme sayaçlarıyla birlikte POST /translation tarafından döndürülen iş nesnesinin aynısını kullanır.
{
"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 belirteci eksik veya geçersiz404 Not Found — iş mevcut değil veya artık saklanmıyorÇeviri işleri şu anda bellekte saklanmaktadır. Çeviri hizmeti yeniden başlatıldığında iş durumu kaybolur ve birden çok örnek içeren dağıtımlarda yapışkan yönlendirme gerekir.