Search overrides & merchandising
Pin specific products to specific positions for a search term, category, tag or brand page — hardcoded merchandising on top of the normal ranking. The advanced companion to Sync your catalog.
The model
A product ranking override is scope + products in order:
pageType— where it applies:SEARCH,CATEGORY,TAG, orBRAND.url— the scope value(s): search term(s) forSEARCH, or entity slug(s) forCATEGORY/TAG/BRAND.productIds— the products to pin, in display order (position 1 = first).validFrom/validTo— optional time window (e.g. a campaign).
Pin products for a search term
Put product 2002 first for searches of "iphone 13":
curl -X POST https://zopping.com/api/catalogue-service/product-ranking \
-H "Authorization: Bearer $ZOPPING_TOKEN" -H "Content-Type: application/json" \
-d '{
"organizationId": "<org-id>",
"pageType": "SEARCH",
"url": ["iphone 13"],
"productIds": [2002, 1001, 3003],
"languages": "en"
}'
The order of productIds is the ranking — first id shows at position 1.
Reorder or update
PUT the same ranking with a new productIds order:
curl -X PUT https://zopping.com/api/catalogue-service/product-ranking \
-H "Authorization: Bearer $ZOPPING_TOKEN" -H "Content-Type: application/json" \
-d '{"id": 42, "organizationId": "<org-id>", "productIds": [1001, 2002, 3003]}'
List existing overrides
curl "https://zopping.com/api/catalogue-service/product-ranking?organizationId=<org-id>&pageType=SEARCH&activeNow=true&include=entity" \
-H "Authorization: Bearer $ZOPPING_TOKEN"
activeNow=true returns only time-valid overrides; include=entity expands the
pinned products in the response.
Use it for
- Sponsored placements and seasonal pushes (with
validFrom/validTo). - Fixing a top result for a high-intent term.
- Hand-curating a category's first row.
Reference: Catalog.