profound-logoProfound CMS
⌘K
Admin
Theme
Tài liệuHướng dẫnBlogTriết học
Tài liệuHướng dẫnBlogTriết học

Kết hợp

Định tuyến tham sốCác loại ComponentSetup server sent events (SSE) content refetchThiết lập proxy bảng điều khiển quản trịCEL Scripting in Template BuilderProject ScaffoldingThư viện phương tiện

Không đầu

Bắt đầu nhanhJson và claude codeComponent Zod Pull

REST API

Tổng quan REST APIgetKết nối API trang webgetGET /routesgetLấy tuyếngetGET /blocksgetLấy các khối kèm bộ đệm CELgetGET /blocks/generatedgetGET /componentsgetLấy tên thành phầngetLấy tên lược đồ tập dữ liệugetGET /content-changes (SSE)patchCập nhật tên lược đồ tập dữ liệupostPOST /translationpatchPATCH /translationsgetGET /usagepostPOST /csvpatchPATCH /csv
All Systems Operational
Powered Byprofound-logo
Theme

POST /translation

Bắt đầu dịch hàng loạt nền cho các tài liệu đã xuất bản của một lược đồ sang các ngôn ngữ đích.

Xếp hàng dịch nền cho tất cả các tài liệu đã xuất bản từ một hoặc nhiều lược đồ thành phần sang một tập hợp ngôn ngữ đích. Kết quả được chèn mới hoặc cập nhật vào bảng translations khi mỗi bản dịch hoàn tất.

Điểm cuối: POST /translation Xác thực: Bearer JWT (WorkOS)

Nội dung yêu cầu

{
  \"websiteId\": \"<uuid>\",
  \"schemaNames\": [\"post\", \"hero\"],
  \"languages\": [\"fr\", \"es\", \"de\"]
}
TrườngKiểuBắt buộcGhi chú
websiteIduuidcóTrang web chứa các tài liệu nguồn.
schemaNamesstring[]có*Các lược đồ thành phần cần dịch. Tên trùng lặp sẽ bị loại bỏ.
schemaNamestringcó*Giải pháp kế thừa để gửi một lược đồ duy nhất.
languagesstring[]cóMã ngôn ngữ đích được hỗ trợ. Mã trùng lặp sẽ bị loại bỏ.

* Cung cấp schemaNames hoặc schemaName.

Chỉ những tài liệu đã xuất bản với nội dung đã xuất bản khác null mới được tính.

Phản hồi

{
  \"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\"
}

Trả về:

  • 202 Accepted khi các bản dịch được xếp hàng
  • 200 OK khi mọi bản dịch đều đã cập nhật
  • công việc đang hoạt động hiện có khi một yêu cầu giống hệt đang chạy
TrườngMô tả
job_idĐịnh danh dùng để truy xuất tiến độ công việc.
statusTrạng thái hiện tại của công việc.
documents_processedSố lượng tài liệu nguồn đủ điều kiện được tìm thấy.
translations_scheduledSố cặp tài liệu-ngôn ngữ đã được xếp hàng.
translations_skippedSố lượng bị bỏ qua vì hàm băm nguồn của chúng đang cập nhật.
translations_completedSố lượng dịch thành công.
translations_failedSố lượng thất bại.
reusedCho biết phản hồi có tham chiếu đến một công việc đang hoạt động hay không.

Các trạng thái công việc có thể có là:

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

Bỏ qua các bản dịch hiện tại

Mỗi cặp tài liệu-ngôn ngữ lưu một hàm băm SHA-256 của nội dung đã xuất bản của tài liệu nguồn.

Một bản dịch sẽ bị bỏ qua khi hàm băm nguồn đã lưu khớp với nội dung đã xuất bản hiện tại. Điều này cho phép điểm cuối được gọi lặp lại mà không dịch lại nội dung không thay đổi.

Nếu nội dung đã xuất bản thay đổi trong khi một công việc tương đương đang hoạt động, dịch vụ sẽ từ chối yêu cầu mới. Gửi lại sau khi công việc đang hoạt động hoàn tất.

Hành vi xử lý

Việc dịch chạy bất đồng bộ sau phản hồi ban đầu.

  • Công việc được xử lý với mức đồng thời giới hạn.
  • Các lỗi thoáng qua sẽ được thử lại với chiến lược lùi thời gian.
  • Kết quả thành công được lưu lại ngay khi hoàn tất.
  • Các lỗi suy luận hoặc lưu trữ riêng lẻ được ghi nhận trên công việc.
  • Một công việc thành công một phần sẽ kết thúc với trạng thái completed_with_errors.

Ví dụ

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\"]
  }'

Lỗi

  • 400 Bad Request — thiếu lược đồ hoặc ngôn ngữ, một ngôn ngữ không được hỗ trợ, hoặc lô vượt quá giới hạn cấu hình
  • 401 Unauthorized — thiếu hoặc không hợp lệ mã thông báo bearer
  • 409 Conflict — công việc khớp đang hoạt động nhưng nội dung nguồn đã xuất bản đã thay đổi
  • 500 Internal Server Error — không thể chuẩn bị tài liệu nguồn hoặc một thao tác cơ sở dữ liệu thất bại

Lấy công việc dịch

Lấy tiến trình mới nhất của một công việc dịch.

Điểm cuối: GET /translation-jobs/{job_id} Xác thực: Bearer JWT (WorkOS)

Phản hồi

Phản hồi sử dụng cùng đối tượng công việc được trả về bởi POST /translation, với trạng thái và số đếm tiến độ đã cập nhật.

{
  \"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\"
}

Ví dụ

curl '{TRANSLATION_API_URL}/translation-jobs/<job-id>' \\
  -H 'Authorization: Bearer <workos-jwt>'

Lỗi

  • 401 Unauthorized — thiếu hoặc không hợp lệ mã thông báo bearer
  • 404 Not Found — công việc không tồn tại hoặc không còn được lưu giữ

Các công việc dịch hiện được lưu trữ trong bộ nhớ. Trạng thái công việc sẽ mất khi dịch vụ dịch khởi động lại, và các triển khai đa phiên bản yêu cầu định tuyến dính.

Continue Reading
Previous‹Cập nhật tên lược đồ tập dữ liệuNextPATCH /translations›