localization

GET /v1/i18n/documents/{locale}

Get one marketing document's finished translations.

Բոլոր localization վերջնակետերը

Բոլոր մշակողների փաստաթղթերը

Նույնականացում

Այս վերջնակետը հանրային է: Այն չի պահանջում որևէ հավատարմագիր կամ կազմակերպություն. դա այն է, ինչ կարդում են մեր սեփական մարքեթինգային կայքը և արհեստական բանականության պատասխանների շարժիչները:

Այս վերջնակետը կազմակերպության ID չի ընդունում: Ձեր բանալին արդեն իսկ նույնականացնում է այն կազմակերպությունը, որին պատկանում է, և պատասխանը սահմանափակված է դրանով:

Փորձել

Փոխարինեք անկյունային փակագծերում գտնվող ցանկացած բան ձեր սեփական արժեքներով, և բանալու տեղապահը՝ ձեր վահանակի բանալիով:

curl -X GET https://api.zinndigital.com/v1/i18n/documents/{locale}?object_ref=<object_ref>

Մուտք գործե՞լ եք: Ձեր վահանակի API վահանակը լրացնում է ձեր իրական կազմակերպության ID-ն և ձեր սեփական բանալին և գործարկում է հարցումը ուղիղ API-ի դեմ, որպեսզի կարողանաք տեսնել փաստացի պատասխանը: Բացեք այս վերջնակետը API վահանակում

Մանրամասներ

Returns the finished translations for a single document, as field -> text across the surfaces a rendered page is built from (page, meta_title, meta_description, alt_text) — the read the public site performs on the server, per page, at render time. Why a second public endpoint next to getPublicMessageCatalogue. They are cached on different keys and answer different questions. The catalogue is one response per locale covering the shell (nav, footer, meta) and is read on every page; this is one response per document per locale, read only by the page it belongs to. Folding them together would churn the shell's cache entry whenever any of 60 marketing pages was retranslated. object_ref is required. One locale's whole page surface is ~7,879 entries — the read scripts/i18n-pages.mjs batches at build time, and the one that OOM-killed the engine on 2026-08-05. Making the parameter optional would re-create that on a public, unauthenticated URL. A single document is ~131 leaves, which is what makes this safe on a render path behind an edge cache. Public and non-tenant, for the same reasons as the catalogue: the text is already in the page's HTML, and an Authorization header suppresses shared caching. up_to_date only — the site applies this over the document the current deploy already serves, so stale text could only replace a good translation with an older one. An untranslated document is a 200 with an empty fields object, never a 404 — the caller treats any failure as "use the build-time document", so a 404 would be indistinguishable from an outage. Cacheable: strong ETag plus Cache-Control: public, max-age=300, stale-while-revalidate=86400.

Պարամետրեր

ԱնունՏեսակՊահանջվում էԻնչ է դա
locale (path)LocaleCodeԱյոThe target locale (docs/28 registry code).
object_ref (query)stringԱյոThe document, e.g. page:hosting. Required — see the description.
If-None-Match (header)stringՈչA previously returned ETag; a match responds 304.

Պատասխան

ԱնունՏեսակՊահանջվում էԻնչ է դա
localeLocaleCodeԱյոBCP-47 / ISO locale code from the language registry (docs/28).
object_refstringԱյոThe document these fields belong to, echoed back.
fieldsobjectԱյոfield -> translated text, flat. The field names are the ones the CMS walker (cms/src/lib/snapshotKeys.ts) assigns when it collects a document's translatable leaves, so the…

Այս վերջնակետի կողմից վերադարձվող սխալները

422 · 429