reseller
POST /v1/reseller/brand/menu
Add a link to your clients' panel.
Authentification
Envoyez une clé API en tant que jeton du porteur. La clé doit posséder l'autorisation reseller.manage ; une clé qui ne l'a pas est refusée avec le code 403, et non 404.
Où insérer l'ID de votre organisation
Cet point de terminaison prend org_id comme paramètre de requête. Omettez-le et l'appel couvrira l'ensemble de votre sous-arbre de location ; envoyez-le pour restreindre l'appel à une seule organisation.
L'identifiant de votre organisation se trouve sur l'écran des clés API de votre tableau de bord, à côté de la clé elle-même. Il s'agit du même identifiant pour chaque appel que vous effectuez.
Essayer
Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.
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> }'Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API
Détails
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.
Paramètres
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
org_id (query) | Uuid | Non | 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 agency… |
Corps de la requête
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
label | string | Oui | — |
url | string | Oui | — |
icon | string | Non | — |
position | integer | Non | — |
new_tab | boolean | Non | — |
visibility | string<both, client, staff> | Non | — |
Réponse
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
id | string | Oui | — |
label | string | Oui | — |
url | string | Oui | — |
icon | string | Oui | A design-system icon name from icons, or "" for a label-only item. |
position | integer | Oui | Sort key. Ties break on the label, so the order is total and stable. |
new_tab | boolean | Oui | 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… |
visibility | string<both, client, staff> | Oui | 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, which… |
external | boolean | Oui | Whether the link leaves the panel. Computed here so every renderer agrees. |
Erreurs que cet point de terminaison peut renvoyer
401 · 403 · 422