profound-logoProfound CMS
⌘K
Admin
Theme
DocsTutorialBlogPhilosophy
DocsTutorialBlogPhilosophy

Hybrid

ניתוב פרמטריסוגי רכיביםSetup server sent events (SSE) content refetchInstall Profound CMS as a proxyכתיבת סקריפטים בבונה התבניותProject Scaffoldingספריית המדיה

ללא ראש

התחלה מהירהSplit Screen JSON Component Builder with LLMComponent Zod Pull

ממשק REST

סקירת REST APIgetחיבור-אתר-ל-API-של-CMSgetGET /routesgetGET /routegetקבלת בלוקיםgetהשגת-בלוקים-עם-מטמון-CELgetGET /blocks/generatedgetקבל רכיביםgetGET /components/{name}getGET /dataset/{schema_name}getGET /content-changes (SSE)patchPATCH /dataset/{schema_name}postתרגום פוסטpatchPATCH /translationsgetGET /usagepostפוסט-CSVpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

תרגום פוסט

התחלת תרגום רקע מרוכז של המסמכים שפורסמו בסכמה לשפות יעד.

הוספת תרגום רקע לתור עבור כל המסמכים שפורסמו מסכמת רכיבים אחת או יותר לקבוצת שפות יעד. התוצאות מתווספות או מתעדכנות בטבלת translations עם השלמת כל תרגום.

נקודת קצה: POST /translation אימות: Bearer JWT (WorkOS)

גוף הבקשה

{
  "websiteId": "<uuid>",
  "schemaNames": ["post", "hero"],
  "languages": ["fr", "es", "de"]
}
שדהסוגנדרשהערות
websiteIduuidכןהאתר המכיל את מסמכי המקור.
schemaNamesstring[]כן*סכמות הרכיבים שיש לתרגם. שמות כפולים מוסרים.
schemaNamestringכן*חלופה מדור קודם לשליחת סכמה יחידה.
languagesstring[]כןקודי שפות יעד נתמכים. קודים כפולים מוסרים.

* יש לספק 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האם התגובה מתייחסת למשימה פעילה קיימת.

סטטוסי המשימה האפשריים הם:

  • preparing
  • queued
  • running
  • completed
  • completed_with_errors
  • failed

דילוג על תרגומים עדכניים

כל צמד מסמך-שפה מאחסן גיבוב 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 — המשימה אינה קיימת או שאינה נשמרת עוד

משימות תרגום נשמרות כעת בזיכרון. סטטוס המשימה אובד כאשר שירות התרגום מופעל מחדש, ופריסות מרובות מופעים דורשות ניתוב דביק.

Continue Reading
Previous‹PATCH /dataset/{schema_name}NextPATCH /translations›