localization
GET /v1/i18n/document-sets/{locale}
Get several marketing documents' finished translations in one call.
Xác thực
Điểm cuối này là công khai. Nó không yêu cầu thông tin xác thực hay tổ chức nào — đây chính là nội dung mà trang web tiếp thị và các công cụ trả lời bằng AI của chúng tôi đọc.
Endpoint này không nhận ID tổ chức. Khóa của bạn đã xác định tổ chức mà nó thuộc về và phản hồi được giới hạn trong phạm vi đó.
Dùng thử
Thay thế bất kỳ nội dung nào trong ngoعل (angle brackets) bằng giá trị của riêng bạn và trình giữ chỗ key bằng một key từ trang tổng quan của bạn.
curl -X GET https://api.zinndigital.com/v1/i18n/document-sets/{locale}?object_ref=<object_ref>Đã đăng nhập? Bảng điều khiển API trong trang quản lý của bạn sẽ tự điền ID tổ chức thực tế và khóa của riêng bạn, sau đó chạy yêu cầu đối với API trực tiếp để bạn có thể xem phản hồi thực tế. Mở điểm cuối này trong bảng điều khiển API
Chi tiết
The batched form of getPublicDocumentTranslations: name up to 50 documents with a repeated object_ref, get all of their finished translations in one round trip. Why it exists (D13732). marketplace-web prerenders every (locale × page) route, and asking for one document at a time cost 100 documents × 58 locales = 5,800 requests per prerender pass — about 23,200 per build once next build's worker processes are counted, against a 600/min budget. Measured in one 20-minute build window on the live engine: 38,322 × 429 against 20,142 served — 65% of the build's document fetches refused, each one silently degrading a freshly deployed page to the copy committed in content/site/. Batched, a locale costs ceil(100/50) = 2 calls, so a whole build is ~464 requests. ⛔ The remedy is a bulk read, never a bigger limit (CLAUDE.md §2.10). The call count is ceil(documents/50), so it does not move when marketing pages are added — a raised limit would have to be re-derived on the next content push. ⛔ object_ref is required and bounded at 50. One locale's whole page surface is ~7,879 entries; an unbounded read of it on a public URL is the thing this parameter exists to prevent, and a batch is not an exemption from that. A document with no finished translations is present and empty, never omitted — a caller cannot otherwise distinguish "nothing translated yet" from "I forgot to ask for it", and the second silently serves English. Public and non-tenant, up_to_date only, and cacheable with a strong ETag plus Cache-Control: public, max-age=300, stale-while-revalidate=86400 — all for the same reasons as the single-document read.
Tham số
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
locale (path) | LocaleCode | Có | The target locale (docs/28 registry code). |
object_ref (query) | string[] | Có | A document, e.g. page:hosting. Repeat it to ask for several; at most 50 per call. Duplicates are charged once. |
If-None-Match (header) | string | Không | A previously returned ETag; a match responds 304. |
Phản hồi
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
locale | LocaleCode | Có | BCP-47 / ISO locale code from the language registry (docs/28). |
documents | object | Có | object_ref -> (field -> translated text). Every object_ref the caller asked for is a key, even when its inner object is empty — an omitted key would be indistinguishable… |
Các lỗi điểm cuối này có thể trả về
422 · 429