---
title: "Работа AI-агента с фильтрами и диапазонами"
description: "Правила работы AI-агента с категориальными фасетами, числовыми диапазонами и data-* контрактом каталога Vesremont."
canonical: "https://vesremont.com/for_ai/filters_ai/"
last_modified: "2026-10-26T08:28:35+00:00"
---

# Работа AI-агента с фильтрами и диапазонами

> Индекс документации: https://vesremont.com/llms.txt — используйте его для обнаружения остальных публичных страниц и машинных представлений Vesremont.

Каноническая HTML-страница: https://vesremont.com/for_ai/filters_ai/

Правила работы AI-агента с категориальными фасетами, числовыми диапазонами и data-* контрактом каталога Vesremont.

[Главная](https://vesremont.com/)

[AI-документация](https://vesremont.com/for_ai/)

Фильтры и диапазоны

[Обзор](https://vesremont.com/for_ai/)

[Выбор задачи и интерфейса](https://vesremont.com/for_ai/capabilities_ai/)

[Точка входа агента](https://vesremont.com/agents/)

[Vesremont API: разработчикам](https://vesremont.com/developers/)

[English developer portal](https://vesremont.com/en/developers/)

[Vesremont Public API](https://vesremont.com/for_ai/api_ai/)

[OAuth и WebMCP: авторизация](https://vesremont.com/auth.md)

[OpenAPI: схемы и операции](https://vesremont.com/openapi.json)

[Remote MCP: описание](https://vesremont.com/.well-known/mcp.json)

[Начало работы](https://vesremont.com/for_ai/getting-started_ai/)

[Карта документации](https://vesremont.com/for_ai/llms_ai/)

[Agent manifest](https://vesremont.com/agent.json)

[API catalog](https://vesremont.com/.well-known/api-catalog)

[Agent Skills](https://vesremont.com/.well-known/agent-skills/index.json)

[Канонические Markdown](https://vesremont.com/llms/)

[Вся документация](https://vesremont.com/for_ai/full_ai/)

[AI-policy и robots.txt](https://vesremont.com/for_ai/robots_ai/)

[Главная в Markdown](https://vesremont.com/for_ai/home_ai/)

[Навигация по каталогу](https://vesremont.com/for_ai/catalog_ai/)

[URL и параметры](https://vesremont.com/for_ai/url-patterns_ai/)

[Фильтры и диапазоны](https://vesremont.com/for_ai/filters_ai/)

[Данные карточки товара](https://vesremont.com/for_ai/products_ai/)

[Цена и возможность заказа](https://vesremont.com/for_ai/availability_ai/)

[Поиск по сайту](https://vesremont.com/for_ai/search_ai/)

[Навигация по брендам](https://vesremont.com/for_ai/brands_ai/)

[Корзина и оформление](https://vesremont.com/for_ai/purchase_ai/)

[Доставка и оплата](https://vesremont.com/for_ai/delivery_ai/)

[Отзывы и вопросы](https://vesremont.com/for_ai/reviews_ai/)

[Версии и изменения](https://vesremont.com/for_ai/changelog_ai/)

[Sitemap и обнаружение URL](https://vesremont.com/for_ai/sitemaps_ai/)

[Инструменты взаимодействия](https://vesremont.com/for_ai/tools_ai/)

Категориальные фасеты, числовые диапазоны и опубликованный data-* контракт каталога Vesremont. Исходный файл для машинного чтения: [/llms/filters.md](https://vesremont.com/llms/filters.md) .

Версия AI-документации: `1.14.31` . Ревизия: `sha256:5645af5ca9e82c3127c691283c5eec16d7efab8039972ccbbae5ae4b8ec746ce` .

- [Связь этого раздела с задачей](https://vesremont.com/for_ai/filters_ai/#doc-section-1)

- [Фильтры REST и удалённых протоколов](https://vesremont.com/for_ai/filters_ai/#doc-section-2)

- [Соответствие сортировок](https://vesremont.com/for_ai/filters_ai/#doc-section-3)

- [Категориальные фильтры](https://vesremont.com/for_ai/filters_ai/#doc-section-4)

- [Диапазонные фильтры](https://vesremont.com/for_ai/filters_ai/#doc-section-5)

- [Несколько фильтров](https://vesremont.com/for_ai/filters_ai/#doc-section-6)

- [Сброс](https://vesremont.com/for_ai/filters_ai/#doc-section-7)

- [Динамичность](https://vesremont.com/for_ai/filters_ai/#doc-section-8)

- [Правила AI-блока на страницах магазина](https://vesremont.com/for_ai/filters_ai/#doc-section-9)

- [— Каталог и фильтры](https://vesremont.com/for_ai/filters_ai/#doc-section-10)

- [— Как уточнить подборку](https://vesremont.com/for_ai/filters_ai/#doc-section-11)

- [— Из листинга в карточку](https://vesremont.com/for_ai/filters_ai/#doc-section-12)

- [— Если товар не найден](https://vesremont.com/for_ai/filters_ai/#doc-section-13)

- [— Передать корзину](https://vesremont.com/for_ai/filters_ai/#doc-section-14)

- [— Личные операции отдельно](https://vesremont.com/for_ai/filters_ai/#doc-section-15)

Индекс документации: [https://vesremont.com/llms.txt](https://vesremont.com/llms.txt)

#### Связь этого раздела с задачей

**Задача:** Сузить выбор, не смешивая HTML-фасеты и параметры API.

**Что нужно на входе:** Текущий раздел/бренд и его опубликованные фильтры; ID и допустимые границы берутся с сайта.

**Результат:** Проверенная подборка с выбранными характеристиками; после изменения фильтра перечитывается список.

Другая цель? [Карта всех задач и режимов](https://vesremont.com/for_ai/capabilities_ai/) . Права личного доступа — [auth.md](https://vesremont.com/auth.md) ; это не обязательный шаг для публичного чтения.

Следующий раздел по теме: [Данные карточки товара](https://vesremont.com/for_ai/products_ai/) — сравнить характеристики кандидатов · [URL и параметры](https://vesremont.com/for_ai/url-patterns_ai/) — собрать допустимое состояние HTML-каталога · [Навигация по брендам](https://vesremont.com/for_ai/brands_ai/) — ограничить подборку производителем.

#### Фильтры REST и удалённых протоколов

Сначала запросите GET `/api/v1/catalog/filters` с `section_id` либо `brand_id` . Используйте возвращённые ID, типы, значения и границы; не переносите URL HTML-фасетов в REST. Для GET `/api/v1/products` параметр `filters` — один URL-encoded JSON object. Список сортировок и структура запроса определены в [OpenAPI](https://vesremont.com/openapi.json) . MCP/A2A используют схемы реестра операций, UCP — собственную catalog schema. [Полный контракт](https://vesremont.com/for_ai/api_ai/) .

#### Соответствие сортировок

| Порядок | HTML URL | REST search_products | Browser WebMCP set_catalog_sort |

| Штатный | без `sorts` | `sort=id_sort` | `sort=default` |

| Цена по возрастанию | `sorts=price_min` | `sort=price_min` | `sort=price_asc` |

| Цена по убыванию | `sorts=price_max` | `sort=price_max` | `sort=price_desc` |

Это разные имена одного выбранного порядка в разных интерфейсах. Browser-инструмент сам преобразует свой enum в HTML URL; параметры `sorts` и `sort` не взаимозаменяемы. UCP использует собственную схему, не эту REST-таблицу. После перехода перечитайте результаты.

#### Категориальные фильтры

Каждая группа имеет контейнер:

Значения представлены ссылками со следующими атрибутами:

- `href` — готовое следующее состояние; это основной интерфейс;

- `data-filter-id` и `data-filter-name` — группа;

- `data-filter-value-id` — внутренний ID значения;

- `data-filter-value-code` — символьный код URL;

- `data-checked="true|false"` — текущее состояние;

- видимые имя и количество подходящих товаров.

Используйте `href` , потому что сервер может переместить значение между path и повторяемым `filter=...` , а также нормализовать порядок path-сегментов.

#### Диапазонные фильтры

Контейнер диапазона публикует:

Number inputs дополнительно содержат `data-filter-id` и `data-range-bound="min|max"` . Значения формируются из тех же серверных данных, что и UI, и обновляются после AJAX-навигации.

Алгоритм для запроса «длина 500–1000»:

- Найдите range-контейнер с `data-filter-name="Длина"` .

- Прочитайте его ID, допустимые min/max и step.

- Ограничьте запрос пользователя опубликованными границами и соблюдайте step.

- Удалите существующий `range` с тем же ID.

- Добавьте `range={id}_s_o_500-e_d_1000` .

- Удалите `page` , потому что набор результатов изменился.

- Откройте URL и проверьте новые `data-range-selected-*` .

Если выбран полный опубликованный диапазон, штатный UI удаляет соответствующий `range` из URL.

#### Несколько фильтров

- Разные категориальные группы комбинируются.

- Разные range ID комбинируются повторяемыми `range` .

- Категориальные и range фильтры комбинируются между собой.

- UI предполагает переключение, а не множественный выбор нескольких значений одной категориальной группы.

#### Сброс

Активные категориальные значения и группы имеют ссылки сброса. Активный range имеет ссылку, которая удаляет только параметр соответствующего ID. Предпочитайте эти ссылки ручному редактированию сложного path.

#### Динамичность

Допустимые значения, количества и границы зависят от выбранной категории и остальных фильтров. Не кэшируйте их как глобальный справочник и не переносите ID между несвязанными страницами без повторной проверки HTML.

В WebMCP сначала вызывайте `get_catalog_filters` без `filterId` : он возвращает до трёх групп, `nextOffset` и выбранные значения. Для раскрытия конкретной группы повторите вызов с её `filterId` ; значения также идут страницами до трёх элементов через `nextValueOffset` . Для перехода используйте возвращённый `resultUrl` или типизированные `set_catalog_range` / `set_catalog_sort` .

#### Правила AI-блока на страницах магазина

Эти правила и блок на сайте формируются из одного источника. Числа в фигурных скобках — обозначения, не реальные ID.

##### Каталог и фильтры

Вы на странице раздела или отфильтрованной подборки. Используйте опубликованные ссылки подкатегорий, товаров и пагинации; не угадывайте URL и ID. Для известного артикула быстрее [поиск](https://vesremont.com/for_ai/search_ai/) , для подбора — [каталог](https://vesremont.com/for_ai/catalog_ai/) .

##### Как уточнить подборку

Берите значения, диапазоны и ссылки фильтров из текущей страницы. После изменения перечитайте список и выбранные фильтры. Для REST сначала `GET /api/v1/catalog/filters?section_id={section_id}` либо `?brand_id={brand_id}` , затем `GET /api/v1/products` с тем же контекстом и `filters` — одним URL-кодированным JSON-объектом по схеме. HTML-сегменты URL не являются REST-параметрами. [Фильтры и диапазоны](https://vesremont.com/for_ai/filters_ai/) · [HTML URL](https://vesremont.com/for_ai/url-patterns_ai/) · [OpenAPI](https://vesremont.com/openapi.json) .

##### Из листинга в карточку

Откройте ссылку нужного товара. В нижнем блоке карточки «Для AI-систем» указаны внутренний `product_id` , данные для текстового клиента и готовая ссылка на корзину, если доступно оформление. Не подставляйте артикул, ID бренда/раздела или строки корзины вместо product_id. Сверьте модель, текущую цену и возможность заказа в карточке; совпадение фотографии недостаточно. [Правила карточки](https://vesremont.com/for_ai/products_ai/) · [Цена и наличие](https://vesremont.com/for_ai/availability_ai/) .

##### Если товар не найден

Публичный поиск без регистрации: `GET /api/v1/products?q={артикул}&per_page=5` . Числовой `items\[\].id` — ID товара. Если клиент не читает JSON, используйте `/api/v1/products.md?q={артикул}` или `/search/?search={артикул}` . Сверьте точное совпадение; несколько подходящих вариантов требуют уточнения. [Пример Markdown-каталога](https://vesremont.com/api/v1/products.md?per_page=1) · [Поиск](https://vesremont.com/for_ai/search_ai/) · [API](https://vesremont.com/for_ai/api_ai/) .

##### Передать корзину

Передайте опубликованную в карточке ссылку `/buy/{product_id}:{quantity}` либо получите `share_url` через `GET /api/v1/cart-drafts/?product_id={product_id}&quantity=1` . Вход, cookies, API-ключ и OAuth для подготовки ссылки не нужны. GET корзину не меняет. Когда покупатель откроет ссылку, сайт защищённым POST-запросом перенесёт товар в его корзину и заново проверит текущую цену и наличие. Заказ при этом не оформляется, а доступа к чужой корзине ссылка не даёт. [Перенос подборки и оформление](https://vesremont.com/for_ai/purchase_ai/) .

##### Личные операции отдельно

Для чтения или изменения личной корзины через REST, MCP, A2A или UCP нужно отдельное [разрешение покупателя](https://vesremont.com/auth.md) . Общее разрешение агенту не подтверждает конкретный заказ: его состав и сумму покупатель подтверждает отдельно. [Выбрать сценарий](https://vesremont.com/for_ai/capabilities_ai/) · [Разработчикам](https://vesremont.com/developers/) .
