marketplace
GET /v1/marketplace/{vertical}/search
Filter, sort and page one vertical's live Zinn®s.
ਪ੍ਰਮਾਣੀਕਰਨ
ਇੱਕ API ਕੁੰਜੀ ਨੂੰ ਬੀਅਰ ਟੋਕਨ ਵਜੋਂ ਭੇਜੋ। ਇਹ ਐਂਡਪੁਆਇੰਟ ਸਪੈਸੀਫਿਕੇਸ਼ਨ ਵਿੱਚ ਕਿਸੇ ਖਾਸ ਇਜਾਜ਼ਤ ਨੂੰ ਨਹੀਂ ਦਰਸਾਉਂਦਾ, ਇਸ ਲਈ ਆਪਣੀ ਕੁੰਜੀ ਨੂੰ ਘੱਟੋ-ਘੱਟ ਲੋੜੀਂਦੀਆਂ ਇਜਾਜ਼ਤਾਂ ਦਿਓ ਅਤੇ ਮੰਨਣ ਦੀ ਬਜਾਏ ਜਵਾਬ ਦੀ ਜਾਂਚ ਕਰੋ।
ਇਹ ਐਂਡਪੁਆਇੰਟ ਕੋਈ ਸੰਸਥਾ ਆਈਡੀ ਨਹੀਂ ਲੈਂਦਾ। ਤੁਹਾਡੀ ਕੁੰਜੀ ਪਹਿਲਾਂ ਹੀ ਉਸ ਸੰਸਥਾ ਦੀ ਪਛਾਣ ਕਰਦੀ ਹੈ ਜਿਸ ਨਾਲ ਇਹ ਸਬੰਧਤ ਹੈ, ਅਤੇ ਜਵਾਬ ਉਸੇ ਤੱਕ ਸੀਮਤ ਹੈ।
ਕੋਸ਼ਿਸ਼ ਕਰੋ
ਕੋਈ ਵੀ ਚੀਜ਼ ਜੋ ਕੋਣ ਵਾਲੇ ਬਰੈਕਟਾਂ ਵਿੱਚ ਹੈ ਉਸਨੂੰ ਆਪਣੇ ਖੁਦ ਦੇ ਮੁੱਲਾਂ ਨਾਲ ਬਦਲੋ, ਅਤੇ ਕੁੰਜੀ ਪਲੇਸਹੋਲਡਰ ਨੂੰ ਆਪਣੇ ਡੈਸ਼ਬੋਰਡ ਦੀ ਇੱਕ ਕੁੰਜੀ ਨਾਲ ਬਦਲੋ।
curl -X GET https://api.zinndigital.com/v1/marketplace/{vertical}/search \
-H "Authorization: Bearer zdk_live_…"ਲੌਗ ਇਨ ਕੀਤਾ ਹੋਇਆ ਹੈ? ਤੁਹਾਡੇ ਡੈਸ਼ਬੋਰਡ ਵਿੱਚ API ਕੰਸੋਲ ਤੁਹਾਡੀ ਅਸਲ ਸੰਸਥਾ ਆਈਡੀ (organisation id) ਅਤੇ ਤੁਹਾਡੀ ਆਪਣੀ ਕੁੰਜੀ ਨੂੰ ਭਰਦਾ ਹੈ, ਅਤੇ ਲਾਈਵ API ਦੇ ਵਿਰੁੱਧ ਬੇਨਤੀ ਚਲਾਉਂਦਾ ਹੈ ਤਾਂ ਜੋ ਤੁਸੀਂ ਅਸਲ ਜਵਾਬ ਦੇਖ ਸਕੋ। API ਕੰਸੋਲ ਵਿੱਚ ਇਸ ਐਂਡਪੁਆਇੰਟ ਨੂੰ ਖੋਲ੍ਹੋ
ਵੇਰਵੇ
docs/83 §2 step 4. Anonymous, single-variant, and answered entirely from the derived publication projection — never from the org-scoped authoring tables. ⛔ **The facet parameters are generic on purpose.** Fields are defined by staff in admin, so a typed parameter per filter would mean a spec change, an SDK regeneration and a deploy every time somebody added one — which is the exact property this milestone exists to remove. A filter is `facet=key:op:value`, repeated; values of the same key are OR-ed, different keys are AND-ed. ⛔ **A numeric filter requires `type`.** The promoted slot behind `da` holds a different field for every listing type, so asking `da:gte:50` across a whole vertical would compare a domain authority against whatever the next kind of listing stores in the same column — wrong, plausible, and impossible to notice. It is refused with 422. ⛔ **`declared`/`of` on every facet are not decoration.** A field added in schema v2 does not exist on v1 listings, so filtering on it silently excludes them and "DA ≥ 50" quietly becomes "and authored after the day DA was added". The two numbers are what let the page say "482 of 1,930 Zinn®s declare DA" instead of implying the other 1,448 failed the filter. ⛔ `total` is probed to 10,000 and `total_is_capped` says so. An exact count of a large filtered set costs as much as returning it.
ਪੈਰਾਮੀਟਰ
| ਨਾਮ | ਕਿਸਮ | ਲਾਜ਼ਮੀ | ਕੀ ਹੈ ਇਹ |
|---|---|---|---|
vertical (path) | string | ਹਾਂ | — |
locale (query) | string | ਨਹੀਂ | Render every operator-authored string — field labels, help text, enum option labels — in this locale, falling back to the source language per string. ⛔ A query parameter rather… |
type (query) | string | ਨਹੀਂ | A listing type key. Required before any facet filter can be applied. |
category (query) | string | ਨਹੀਂ | A category path. Matches that category AND everything beneath it. |
q (query) | string | ਨਹੀਂ | What the buyer typed. Truncated at 120 characters rather than refused — pasting an essay into a search box is not an attack. ⭐ Answered by **hybrid retrieval** (docs/83 §2a, own… |
facet (query) | string[] | ਨਹੀਂ | `key:op:value`, repeatable. `op` is `gte`/`lte` for numbers and `eq` for choices and yes/no fields. |
sort (query) | string<newest, price, -price, rating, sales> | ਨਹੀਂ | — |
cursor (query) | string | ਨਹੀਂ | Keyset page marker from a previous response. Never an offset. |
limit (query) | integer | ਨਹੀਂ | — |
ਜਵਾਬ
| ਨਾਮ | ਕਿਸਮ | ਲਾਜ਼ਮੀ | ਕੀ ਹੈ ਇਹ |
|---|---|---|---|
marketplace | object | ਹਾਂ | — |
canonical_vertical | string | ਨਹੀਂ | Set when the request used a SUPERSEDED slug — the segment this page should 301 to. `null` on the normal path. ⛔ A retired slug still RESOLVES rather than 404ing: docs/83 §6 puts… |
listing_type | string | ਨਹੀਂ | — |
results | MarketplaceSearchCard[] | ਹਾਂ | — |
next_cursor | string | ਹਾਂ | Empty when there is no next page. Opaque — never build one by hand. |
total | integer | ਹਾਂ | — |
total_is_capped | boolean | ਹਾਂ | True when there are more than `total` results. The page renders "10,000+"; showing a flat "10,000" for a catalogue of two million would be false. |
sort | string | ਹਾਂ | — |
sorts | string[] | ਹਾਂ | The sorts this catalogue offers, served with the data so the storefront is not compiled against a copy of the list. |
facets | MarketplaceFacet[] | ਹਾਂ | — |
query | string | ਹਾਂ | What was actually searched for, after the filter language took its bite. Empty when no phrase was given. ⭐ Differs from what the buyer typed whenever `interpreted` is non-empty:… |
interpreted | string[] | ਹਾਂ | Human-readable chips for filters INFERRED from the phrase rather than ticked on the rail — already in the requested locale. ⛔⛔ **Render these.** A search box that silently rewri… |
retrieval | string<lexical, trigram, semantic>[] | ਹਾਂ | Which retrieval paths actually ran for this request (docs/83 §2a, D-W15-9). Empty when no phrase was given, or when the deployment has no retrieval objects. ⛔⛔ **Not diagnostics… |
ਇਹ ਐਂਡਪੁਆਇੰਟ ਜੋ ਗਲਤੀਆਂ ਵਾਪਸ ਕਰ ਸਕਦਾ ਹੈ
404 · 422