localization
GET /v1/i18n/document-sets/{locale}
Get several marketing documents' finished translations in one call.
身份验证
此端点是公开的。它不需要任何凭据或组织——这是我们自己的营销网站和 AI 问答引擎所读取的内容。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
curl -X GET https://api.zinndigital.com/v1/i18n/document-sets/{locale}?object_ref=<object_ref>已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点
详细信息
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.
参数
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
locale (path) | LocaleCode | 是 | The target locale (docs/28 registry code). |
object_ref (query) | string[] | 是 | 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 | 否 | A previously returned ETag; a match responds 304. |
响应
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
locale | LocaleCode | 是 | BCP-47 / ISO locale code from the language registry (docs/28). |
documents | object | 是 | 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… |
此端点可能返回的错误
422 · 429