התחלת תרגום רקע מרוכז של המסמכים שפורסמו בסכמה לשפות יעד.
הוספת תרגום רקע לתור עבור כל המסמכים שפורסמו מסכמת רכיבים אחת או יותר לקבוצת שפות יעד. התוצאות מתווספות או מתעדכנות בטבלת translations עם השלמת כל תרגום.
נקודת קצה: POST /translation
אימות: Bearer JWT (WorkOS)
{
"websiteId": "<uuid>",
"schemaNames": ["post", "hero"],
"languages": ["fr", "es", "de"]
}
| שדה | סוג | נדרש | הערות |
|---|---|---|---|
websiteId | uuid | כן | האתר המכיל את מסמכי המקור. |
schemaNames | string[] | כן* | סכמות הרכיבים שיש לתרגם. שמות כפולים מוסרים. |
schemaName | string | כן* | חלופה מדור קודם לשליחת סכמה יחידה. |
languages | string[] | כן | קודי שפות יעד נתמכים. קודים כפולים מוסרים. |
* יש לספק schemaNames או schemaName.
נלקחים בחשבון רק מסמכים שפורסמו ושיש להם תוכן שפורסם שאינו 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"
}
מחזירה:
202 Accepted כאשר התרגומים הוכנסו לתור200 OK כאשר כל התרגומים כבר עדכניים| שדה | תיאור |
|---|---|
job_id | מזהה המשמש לאחזור התקדמות המשימה. |
status | סטטוס המשימה הנוכחי. |
documents_processed | מספר מסמכי המקור המתאימים שנמצאו. |
translations_scheduled | מספר צמדי המסמך-שפה שהוכנסו לתור. |
translations_skipped | מספר הפריטים שדולגו מכיוון שהגיבובים של המקור שלהם עדכניים. |
translations_completed | מספר הפריטים שתורגמו בהצלחה. |
translations_failed | מספר הפריטים שנכשלו. |
reused | האם התגובה מתייחסת למשימה פעילה קיימת. |
סטטוסי המשימה האפשריים הם:
preparingqueuedrunningcompletedcompleted_with_errorsfailedכל צמד מסמך-שפה מאחסן גיבוב SHA-256 של התוכן שפורסם במסמך המקור.
על תרגום מדלגים כאשר גיבוב המקור המאוחסן תואם לתוכן שפורסם כעת. כך ניתן לקרוא לנקודת הקצה שוב ושוב מבלי לתרגם מחדש תוכן שלא השתנה.
אם התוכן שפורסם משתנה בזמן שמשימה מקבילה פעילה, השירות דוחה את הבקשה החדשה. יש לשלוח אותה שוב לאחר סיום המשימה הפעילה.
התרגום מתבצע באופן אסינכרוני לאחר התגובה הראשונית.
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 — סכמות או שפות חסרות, שפה אינה נתמכת, או שהאצווה חורגת מהמגבלה שהוגדרה401 Unauthorized — אסימון bearer חסר או לא חוקי409 Conflict — עבודה תואמת פעילה, אך תוכן המקור שפורסם השתנה500 Internal Server Error — לא ניתן היה להכין את מסמכי המקור או שפעולת מסד נתונים נכשלהאחזור ההתקדמות העדכנית ביותר של משימת תרגום.
נקודת קצה: GET /translation-jobs/{job_id}
אימות: Bearer JWT (WorkOS)
התגובה משתמשת באותו אובייקט משימה שהוחזר על ידי POST /translation, עם סטטוס ומוני התקדמות מעודכנים.
{
"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 חסר או לא חוקי404 Not Found — המשימה אינה קיימת או שאינה נשמרת עודמשימות תרגום נשמרות כעת בזיכרון. סטטוס המשימה אובד כאשר שירות התרגום מופעל מחדש, ופריסות מרובות מופעים דורשות ניתוב דביק.