localization
GET /v1/i18n/document-sets/{locale}
Get several marketing documents' finished translations in one call.
Autentizace
Tento koncový bod je veřejný. Nevyžaduje žádná pověření ani organizaci – je to to, co čte náš vlastní marketingový web a naše AI vyhledávače.
Tento koncový bod nevyžaduje žádné ID organizace. Váš klíč již identifikuje organizaci, ke které patří, a odpověď je na ni omezena.
Vyzvednout
Nahraďte cokoli v závorkách vlastními hodnotami a zástupný symbol klíče klíčem z vašeho řídicího panelu.
curl -X GET https://api.zinndigital.com/v1/i18n/document-sets/{locale}?object_ref=<object_ref>Přihlášeni? Konzole API ve vašem dashboardu automaticky doplní vaše skutečné ID organizace i váš vlastní klíč a odešle požadavek na živé API, abyste viděli reálnou odpověď. Otevřete tento koncový bod v konzoli API
Podrobnosti
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.
Parametry
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
locale (path) | LocaleCode | Ano | The target locale (docs/28 registry code). |
object_ref (query) | string[] | Ano | 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 | Ne | A previously returned ETag; a match responds 304. |
Odpověď
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
locale | LocaleCode | Ano | BCP-47 / ISO locale code from the language registry (docs/28). |
documents | object | Ano | 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… |
Chyby, které může tento koncový bod vrátit
422 · 429