reseller
POST /v1/reseller/brand/menu
Add a link to your clients' panel.
Autentifikatsiya
API kalitini bearer token sifatida yuboring. Kalit reseller.manage ruxsatiga ega boʻlishi shart; ruxsatsiz kalit 404 emas, balki 403 xatosi bilan rad etiladi.
Tashkilotingiz identifikatori kiritiladigan joy
Bu soʻrovnoma oxiri org_id parametrini soʻrov parametri sifatida qabul qiladi. Uni kiritmasangiz, chaqiruv butun ijarachi quyi daraxtingizni qamrab oladi; uni bitta tashkilotga cheklash uchun yuboring.
Tashkilotingiz identifikatori boshqaruv panelingizdagi API kalitlari ekranida, kalitning o'z yonida joylashgan. Bu siz amalga oshiradigan har bir so'rovda bir xil identifikator hisoblanadi.
Sinab ko'rish
Qavslardagi har qanday narsani o'z qiymatlaringiz bilan, kalit pleysxolderini эsa boshqaruv panelingizdagi kalit bilan almashtiring.
curl -X POST https://api.zinndigital.com/v1/reseller/brand/menu \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "label": <string>, "url": <string> }'Tizimga kirganmisiz? Boshqaruv panelingizdagi API konsoli haqiqiy tashkilot ID raqamingiz va shaxsiy kalitingizni avtomatik to'ldiradi hamda haqiqiy javobni ko'rishingiz uchun so'rovni jonli API orqali bajaradi. Ushbu yakuniy nuqtani API konsolida oching
Tafsilotlar
Adds one navigation link. Requires `reseller.manage` and the `white_label` entitlement. ⛔ `url` accepts `https://`, `http://` or a same-origin path beginning `/`, and nothing else. Your clients click these from inside an authenticated panel on your hostname, so a `javascript:` link would run in the origin holding their session — the allow-list is what makes that unrepresentable rather than merely filtered. ⛔ Over the limit is a **422 naming the limit**, never a silent truncation at read time: a ninth link that simply never appears is a defect nobody can report.
Parametrlar
| Nomi | Turi | Majburiy | Nima bu |
|---|---|---|---|
org_id (query) | Uuid | Yo'q | The organization this call acts on. Optional for a caller with exactly one direct membership; **required** for anyone with more than one — which is every reseller and every agen… |
Soʻrov tanasi
| Nomi | Turi | Majburiy | Nima bu |
|---|---|---|---|
label | string | Ha | — |
url | string | Ha | — |
icon | string | Yo'q | — |
position | integer | Yo'q | — |
new_tab | boolean | Yo'q | — |
visibility | string<both, client, staff> | Yo'q | — |
Javob
| Nomi | Turi | Majburiy | Nima bu |
|---|---|---|---|
id | string | Ha | — |
label | string | Ha | — |
url | string | Ha | — |
icon | string | Ha | A design-system icon name from `icons`, or `""` for a label-only item. |
position | integer | Ha | Sort key. Ties break on the label, so the order is total and stable. |
new_tab | boolean | Ha | Renders `target="_blank"`. The panel pairs it with `rel="noopener noreferrer"` unconditionally — that is set on **every** external item, not only the new-tab ones, because `Refe… |
visibility | string<both, client, staff> | Ha | Who sees it. Filtered **server-side** on `GET /v1/branding`: a payload carrying a staff-only link that the app hides has already disclosed it to anybody with a network tab, whic… |
external | boolean | Ha | Whether the link leaves the panel. Computed here so every renderer agrees. |
Ushbu yakuniy nuqta qaytarishi mumkin bo'lgan xatolar
401 · 403 · 422