offers
GET /v1/offers
The upsells this customer has earned, best first.
Authentification
Envoyez une clé API en tant que jeton du porteur. La clé doit posséder l'autorisation sites.view ; 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 GET https://api.zinndigital.com/v1/offers \
-H "Authorization: Bearer zdk_live_…"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
⚖️ Owner, 2026-08-28: *"on the app overview screen should we not upsell some things"*, and — on how they are chosen — *"we shuld have 3 there and they should roate ... we should be able to devide in admin which ones to incluide and which not with siple on off swithc"*. Every **active** offer whose audience reaches this customer and whose signal is true for them, ordered by the rank an operator set, with copy already translated into the reader's own language. ⛔ **Every earned offer is returned, not the first `slots` of them.** The rotation that shows a different few on each visit is the client's, and it can only rotate over what it is given — truncating here would leave the dashboard cycling the same three cards for ever while appearing to work. The list is bounded by the size of a catalogue staff maintain by hand: tens, never thousands. ⛔ A reseller's own client is served an **empty list**, whatever the catalogue says. Selling Zinn® products at Zinn® prices inside a reseller's white-labelled dashboard, to the reseller's customer, undercuts the reseller who is paying us (owner ruling, same day). An account that is not in good standing is likewise never sold to (§2.46). ⛔ An offer whose link names a site the reader does not have is **dropped**, not rendered with a broken destination. Requires `sites.view`.
Paramètres
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
org_id (query) | Uuid | Non | Which organization this is about. Required when the caller holds more than one; a caller in exactly one may omit it. An id outside the caller's scope, or an omission by a multi-… |
Réponse
| Nom | Type | Obligatoire | Qu'est-ce que c'est |
|---|---|---|---|
data | Offer[] | Oui | — |
slots | integer | Oui | How many to show at once. ⚖️ The owner's number (3, 2026-08-28), served in the payload rather than hardcoded in the SPA so changing it is a deploy of one service instead of a co… |
Erreurs que cet point de terminaison peut renvoyer
401 · 403 · 429