reseller
POST /v1/reseller/brand/menu
Add a link to your clients' panel.
Πισtoποίηση
Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα reseller.manage· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.
Πού μπαίνει το αναγνωριστικό του οργανισμού σας
Αυτό το τελικό σημείο δέχεται την παράμετρο org_id ως παράμετρο ερωτήματος. Παραλείψτε την και η κλήση καλύπτει ολόκληρο το υποδέντρο μίσθωσής σας· στείλτε την για να περιορίσετε την κλήση σε έναν οργανισμό.
Το αναγνωριστικό του οργανισμού σας βρίσκεται στην οθόνη των κλειδιών API στον πίνακα ελέγχου σας, δίπλα στο ίδιο το κλειδί. Είναι το ίδιο αναγνωριστικό σε κάθε κλήση που πραγματοποιείτε.
Δοκιμάστε το
Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.
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> }'Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API
Λεπτομέρειες
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.
Παράμετροι
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
org_id (query) | Uuid | Όχι | 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… |
Σώμα αίτησης
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
label | string | Ναι | — |
url | string | Ναι | — |
icon | string | Όχι | — |
position | integer | Όχι | — |
new_tab | boolean | Όχι | — |
visibility | string<both, client, staff> | Όχι | — |
Απάντηση
| Όνομα | Τύpος | Υποχρεωτικό | Τι είναι |
|---|---|---|---|
id | string | Ναι | — |
label | string | Ναι | — |
url | string | Ναι | — |
icon | string | Ναι | A design-system icon name from icons, or "" for a label-only item. |
position | integer | Ναι | Sort key. Ties break on the label, so the order is total and stable. |
new_tab | boolean | Ναι | 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> | Ναι | 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 | Ναι | Whether the link leaves the panel. Computed here so every renderer agrees. |
Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο
401 · 403 · 422