reseller
POST /v1/reseller/brand/menu
Add a link to your clients' panel.
Autenticação
Envie uma chave de API como um token de portador. A chave deve ter a permissão reseller.manage; uma chave sem ela é recusada com 403, e não 404.
Onde vai o ID da sua organização
Este endpoint aceita org_id como parâmetro de consulta. Omita-o e a chamada abrangerá toda a sua subárvore de locatários; envie-o para restringir a chamada a uma única organização.
O ID da sua organização está na tela de chaves de API no seu painel, ao lado da própria chave. É o mesmo ID em todas as chamadas que você fizer.
Experimente
Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.
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> }'Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API
Detalhes
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.
Parâmetros
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
org_id (query) | Uuid | Não | 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… |
Corpo da requisição
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
label | string | Sim | — |
url | string | Sim | — |
icon | string | Não | — |
position | integer | Não | — |
new_tab | boolean | Não | — |
visibility | string<both, client, staff> | Não | — |
Resposta
| Nome | Tipo | Obrigatório | O que é |
|---|---|---|---|
id | string | Sim | — |
label | string | Sim | — |
url | string | Sim | — |
icon | string | Sim | A design-system icon name from `icons`, or `""` for a label-only item. |
position | integer | Sim | Sort key. Ties break on the label, so the order is total and stable. |
new_tab | boolean | Sim | 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> | Sim | 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 | Sim | Whether the link leaves the panel. Computed here so every renderer agrees. |
Erros que este endpoint pode retornar
401 · 403 · 422