localization

GET /v1/i18n/slugs

Get translated URL slugs for every locale.

جميع نقاط نهاية localization

المصادقة

أرسل مفتاح واجهة برمجة التطبيقات (API) كرمز حامل (bearer token). لا يحدد نقطة النهاية هذه إذنًا محددًا في المواصفات، لذا امنح مفتاحك الحد الأدنى الذي محتاجه وتحقق من الاستجابة بدلاً من الافتراض.

لا يقبل هذا الطرف أي معرف للمؤسسة. يحدد مفتاحك بالفعل المؤسسة التي ينتمي إليها، وتكون الاستجابة محصورة في نطاقها.

جربه الآن

استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.

curl -X GET https://api.zinndigital.com/v1/i18n/slugs \
  -H "Authorization: Bearer zdk_live_…"

هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API

التفاصيل

Returns the calling organization's translated public URL slugs, keyed by the canonical (source-locale) identifier then by locale — what the public frontend needs to build locale-routed URLs and `hreflang` alternates (CLAUDE.md §2.19, docs/28, docs/30). Reads the `slug` surface only. **Every emitted value is a valid URL path.** The stored translation is normalised on the way out — case-folded to lower case, inner whitespace and underscores collapsed to single hyphens, NFC — and a value that is still not a usable path after that (most often a model answer that lost one of the source's `/` separators, so it names a different route) is **omitted rather than emitted broken**. The caller then falls back to the canonical URL, which is a live, indexable page; publishing the broken form would advertise a URL the router cannot resolve. This was added by W24-B on 2026-08-20 (`docs/72` D12010) after measuring that **694 of 4,043** settled page slugs were values the public site's own validator refused — `"Über uns"`, `"Относно"` — every one `up_to_date`, every one counted complete on the admin Translation Status dashboard, and not one of them reachable by any reader in any language. **A locale's slug is emitted ONLY when its status is `up_to_date`.** This is stricter than `GET /v1/i18n/bundles/{locale}`, and deliberately so: a URL is not a string on a page, it is an identity. Publishing a slug that is still `stale`/`translating` means publishing a URL that will change again within minutes — every link, share and crawl against the interim URL then 404s or bounces through a redirect, which costs real link equity and manufactures redirect churn on exactly the pages SEO cares about. A locale whose slug is not yet settled is simply absent from the response, and the caller falls back to the canonical URL until it is.

المعلمات

الاسمالنوعمطلوبما هو هذا
object_ref_prefix (query)stringلاOnly include slugs whose canonical id starts with this prefix.

الاستجابة

الاسمالنوعمطلوبما هو هذا
slugsobjectنعمCanonical `object_ref` -> locale -> translated slug. A locale appears only when its slug is `up_to_date`; anything less settled is omitted and the caller falls back to the canon…

الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه

401 · 403 · 422 · 429