localization
GET /v1/i18n/document-sets/{locale}
Get several marketing documents' finished translations in one call.
احراز هویت
این نقطه پایانی عمومی است. هیچ مدرک احراز هویت و هیچ سازمانی نمیپذیرد — این همان چیزی است که سایت بازاریابی خودمان و موتورهای پاسخدهنده هوش مصنوعی میخوانند.
این نقطه پایانی هیچ شناسه سازمانی را دریافت نمیکند. کلید شما در حال حاضر سازمان مربوطه را مشخص میکند و پاسخ در همان محدوده ارائه میشود.
امتحان کنید
هر چیزی را که داخل براکتهای زاویهدار قرار دارد با مقادیر خودتان جایگزین کنید، و نگهدارنده کلید را با کلیدی از داشبورد خود جایگزین نمایید.
curl -X GET https://api.zinndigital.com/v1/i18n/document-sets/{locale}?object_ref=<object_ref>وارد شدهاید؟ کنسول API در داشبورد شما شناسه سازمان واقعی و کلید خودتان را پر میکند و درخواست را روی 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