hosting
POST /v1/sites/{siteId}/redirects
Add a redirect to a site.
المصادقة
أرسل مفتاح واجهة برمجة التطبيقات (API key) كرمز حامل (bearer token). يجب أن يحمل المفتاح إذن sites.view؛ والمفتاح الذي لا يملكه يُرفض بالرمز 403 وليس 404.
لا يقبل هذا الطرف أي معرف للمؤسسة. يحدد مفتاحك بالفعل المؤسسة التي ينتمي إليها، وتكون الاستجابة محصورة في نطاقها.
جربه الآن
استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.
curl -X POST https://api.zinndigital.com/v1/sites/{siteId}/redirects \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "domain": <string>, "path": <string>, "destination": <string> }'هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API
التفاصيل
Adds one rule. ⛔ The vendor endpoint behind this is a whole-set write, so the engine reads the existing rules, appends, and sends the set back — last writer wins. Two people adding a redirect at the same moment is the one case where one of the two additions is lost, and there is no vendor primitive that would prevent it. destination is checked before anything is written to the customer's .htaccess: a protocol-relative //evil.example/ passes a naive "starts with a slash" test and redirects the site's visitors to somebody else's server, so it is refused 422 here. type is a closed set (301, 302) checked in this layer and in the driver, because the platform types it as a free string and an unreviewed token would be written straight into the file. 404 for a site with no managed hosting package. Requires sites.view and sites.panel_access.
المعلمات
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
siteId (path) | Uuid | نعم | Site ID (UUIDv7). |
جسم الطلب
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
domain | string | نعم | The domain or alias on the package the rule applies to. |
path | string | نعم | The path being redirected. ⛔ Named path and never source — source is a reserved attribute on every serializer field one layer down, and a field of that name silently reads… |
destination | string | نعم | Where the visitor is sent. A protocol-relative value is refused: it hands the customer's visitors to another server while looking like a local path. |
type | string<301, 302> | لا | The redirect status. 301 is permanent and is cached by browsers and search engines; 302 is temporary. Nothing else is accepted. |
الاستجابة
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
id | string | نعم | ⛔ Ours, not the vendor's — this platform mints no identifier for a redirect, so this encodes the domain/type/path triple that addresses one. Opaque, stable across reads, and… |
domain | string | نعم | The domain or alias the rule applies to. |
path | string | نعم | The path being redirected. ⛔ Named path and never source, which is a reserved attribute one layer down and would silently read the wrong value. |
destination | string | نعم | Where the visitor is sent. |
type | string<301, 302> | نعم | The redirect status — permanent or temporary. |
الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه
401 · 403 · 404 · 409 · 422 · 429 · 503