/dnsshop/products/search

POST /api/dnsshop/products/search

Price: 1 credit

Search the DNS (dns-shop.ru) catalogue by keyword and/or category for a named Russian city, and return product cards with the current price in roubles, the instalment offer, availability class, rating, review and comment counts, the reliability badge, headline specifications, the product image and the canonical product URL. Narrows by availability, brand, promotion, price range, customer rating, reliability, presence of reviews and by any of the category's own specification facets, and orders by price, novelty, discount, popularity, rating or number of reviews.

How to use it

`city` decides the answer, not the presentation: DNS prices the same product differently by city and the catalogue membership differs too, so the same query in Москва and Владивосток is genuinely two result sets. Every card echoes the city it was priced in. Pass `query`, `category` or both — a product word DNS recognises is resolved to one of its categories and searched inside it, so a broad product word answers with one category's listing and not with the whole shop, while a bare brand name (xiaomi, apple, samsung) is answered with the brand's landing page, which carries no listing at all: pass such a brand through `brands` together with a `category`, and pin `category` whenever you know it. `stock` values are disjoint, not cumulative: out_of_stock is a separate archive of products DNS no longer sells and is never included in the default answer, so ask for it explicitly when you want discontinued models. `brands`, `promos`, `spec_filters` and `spec_ranges` take DNS's own slugs and facet codes, which differ per category — read them from a category page's URL rather than guessing, because a value DNS does not know narrows the listing to nothing and comes back as 412, not as an unfiltered list. Set `with_availability` when you need pickup and courier dates; without it the card still carries the availability class. There is no previous price or discount amount anywhere in the listing — use dnsshop/products/price-history for that, and only where a card reports has_price_history.

Parameters

Request body

Response

Errors

Response headers