Поиск
Результаты
GET /search.json?q= возвращает массив товаров текущей страницы, без обёртки status. Параметры страницы: page, page_size, order.
| Параметр | Описание |
|---|---|
q обязательныйстрока |
Поисковая фраза. Пустая фраза или фраза без совпадений даёт пустой массив. |
page необязательныйчисло |
Номер страницы. |
page_size необязательныйчисло |
Сколько товаров вернуть. page_size=1 оставляет один товар. |
order необязательныйстрока |
Порядок выдачи. |
const params = new URLSearchParams({ q: "iphone", page_size: "1" });
const response = await fetch(`/search.json?${params}`, {
credentials: "same-origin",
headers: { Accept: "application/json" }
});
const products = await response.json();
Ответ · 200
[
{
"id": 673,
"url": "/product/apple-iphone-16-pro-max-1-tb",
"title": "Apple iPhone 16 Pro Max 1 ТБ",
"short_description": null,
"available": true,
"unit": "pce",
"permalink": "apple-iphone-16-pro-max-1-tb",
"images": [
{
"id": 129,
"product_id": 673,
"external_id": null,
"position": 1,
"created_at": "2026-09-23T16:18:28.000+03:00",
"image_processing": false,
"title": "Apple iPhone 16 Pro Max",
"url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/thumb_a9cc378c5ceb.jpg",
"original_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/a9cc378c5ceb.jpg",
"medium_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/medium_a9cc378c5ceb.jpg",
"small_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/micro_a9cc378c5ceb.jpg",
"thumb_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/thumb_a9cc378c5ceb.jpg",
"compact_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/compact_a9cc378c5ceb.jpg",
"large_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/large_a9cc378c5ceb.jpg",
"filename": "a9cc378c5ceb.jpg",
"has_bitmap_image": false,
"image_content_type": "image/jpeg"
}
],
"first_image": {
"id": 129,
"product_id": 673,
"external_id": null,
"position": 1,
"created_at": "2026-09-23T16:18:28.000+03:00",
"image_processing": false,
"title": "Apple iPhone 16 Pro Max",
"url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/thumb_a9cc378c5ceb.jpg",
"original_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/a9cc378c5ceb.jpg",
"medium_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/medium_a9cc378c5ceb.jpg",
"small_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/micro_a9cc378c5ceb.jpg",
"thumb_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/thumb_a9cc378c5ceb.jpg",
"compact_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/compact_a9cc378c5ceb.jpg",
"large_url": "http://minio.insales.io:9000/insales-development-sber/images/products/1/129/129/large_a9cc378c5ceb.jpg",
"filename": "a9cc378c5ceb.jpg",
"has_bitmap_image": false,
"image_content_type": "image/jpeg"
},
"category_id": 1,
"canonical_url_collection_id": null,
"price_kinds": [],
"price_min": "179990.0",
"price_max": "179990.0",
"bundle": null,
"updated_at": "2026-09-23T16:28:57.000+03:00",
"video_links": [],
"reviews_average_rating_cached": null,
"reviews_count_cached": null,
"option_names": [
{
"id": 2517840,
"position": 2,
"navigational": true,
"permalink": "tsvet",
"title": "Цвет",
"api_permalink": "o-tsvet"
}
],
"properties": [],
"characteristics": [],
"variants": [
{
"ozon_link": null,
"wildberries_link": null,
"id": 2176487189,
"title": "Титан натуральный",
"product_id": 673,
"sku": "IP16PM-1TB",
"barcode": null,
"dimensions": null,
"available": true,
"image_ids": [],
"image_id": null,
"weight": null,
"created_at": "2026-09-23T16:04:07.000+03:00",
"updated_at": "2026-09-23T16:28:14.000+03:00",
"quantity": 10,
"quantity_at_warehouse0": "10.0",
"price": "179990.0",
"base_price": "179990.0",
"old_price": null,
"prices": [],
"variant_field_values": [],
"option_values": [
{
"id": 21063188,
"option_name_id": 2517840,
"position": 7,
"title": "Титан натуральный",
"image_url": null,
"permalink": "titan-naturalnyy"
}
]
},
{
"ozon_link": null,
"wildberries_link": null,
"id": 2176487219,
"title": "Титан чёрный",
"product_id": 673,
"sku": "IP16PM-1TB-TBLK",
"barcode": null,
"dimensions": null,
"available": true,
"image_ids": [],
"image_id": null,
"weight": null,
"created_at": "2026-09-23T16:28:54.000+03:00",
"updated_at": "2026-09-23T16:28:54.000+03:00",
"quantity": 5,
"quantity_at_warehouse0": "5.0",
"price": "179990.0",
"base_price": "179990.0",
"old_price": null,
"prices": [],
"variant_field_values": [],
"option_values": [
{
"id": 21063189,
"option_name_id": 2517840,
"position": 8,
"title": "Титан чёрный",
"image_url": null,
"permalink": "titan-chyornyy"
}
]
},
{
"ozon_link": null,
"wildberries_link": null,
"id": 2176487220,
"title": "Титан пустынный",
"product_id": 673,
"sku": "IP16PM-1TB-TDES",
"barcode": null,
"dimensions": null,
"available": true,
"image_ids": [],
"image_id": null,
"weight": null,
"created_at": "2026-09-23T16:28:56.000+03:00",
"updated_at": "2026-09-23T16:28:57.000+03:00",
"quantity": 5,
"quantity_at_warehouse0": "5.0",
"price": "179990.0",
"base_price": "179990.0",
"old_price": null,
"prices": [],
"variant_field_values": [],
"option_values": [
{
"id": 21063190,
"option_name_id": 2517840,
"position": 9,
"title": "Титан пустынный",
"image_url": null,
"permalink": "titan-pustynnyy"
}
]
}
],
"accessories": [],
"list_card_mode": "more_details",
"list_card_mode_with_variants": "show_variants"
}
]
page_size=1 оставляет один товар в массиве. У этой карточки три модификации цвета, одна картинка и пустые properties, characteristics, accessories. price_min и price_max здесь строки. Пустой q или фраза без совпадений даёт пустой массив.
Подсказки
GET /search_suggestions.json нужен живому поиску в строке. Параметры: query, locale, account_id, hide_items_out_of_stock. account_id — id магазина, его печатает шаблон как account.id.
data в подсказке — id товара строкой. Переход из подсказки ведёт на /product_by_id/{data}.
| Параметр | Описание |
|---|---|
query обязательныйстрока |
Фраза живого поиска. |
locale необязательныйстрока |
Язык подсказок. |
account_id обязательныйчисло |
id магазина, его печатает шаблон как account.id. Чужой id отвечает 400 и текстом Bad Request. |
hide_items_out_of_stock необязательныйстрока |
Скрыть отсутствующие товары. |
const params = new URLSearchParams({
query: "iphone",
locale: "ru",
account_id: "233686",
hide_items_out_of_stock: "true"
});
const response = await fetch(`/search_suggestions.json?${params}`, {
credentials: "same-origin",
headers: { Accept: "application/json" }
});
const data = await response.json();
Ответ · 200
{
"query": "iphone",
"suggestions": [
{
"value": "Apple iPhone 16 Pro Max 1 ТБ",
"data": "673",
"fields": {}
}
]
}
Чужой account_id отвечает 400 и текстом Bad Request.