Индекс документации: https://vesremont.com/llms.txt
Связь этого раздела с задачей
Задача: Выбрать раздел и получить подходящий список товаров.
Что нужно на входе: Категория или опубликованный URL каталога; для артикула быстрее поиск.
Результат: Список товаров и доступные именно для него фильтры, сортировка и продолжение списка.
Другая цель? Карта всех задач и режимов. Права личного доступа — auth.md; это не обязательный шаг для публичного чтения.
Следующий раздел по теме: Фильтры и диапазоны — сузить подборку по характеристикам · Данные карточки товара — проверить выбранную модель · Поиск по сайту — найти известный артикул вместо обхода категорий.
Удалённый каталог
Для программного чтения используйте GET /api/v1/products, /api/v1/products/{product_id}, /api/v1/brands и /api/v1/catalog/filters. Каталог также доступен через Remote MCP, A2A и UCP. Публичные чтения не требуют OAuth; схемы, параметры, пагинация и scopes личных действий — в Public API и OpenAPI. URL HTML-фасетов не являются параметрами REST: используйте опубликованные ID и типы фильтров.
Структура
/catalog/ — корень каталога. Категории, подкатегории, бренды и часть фасетных значений представлены валидированными путями под /catalog/. Товар имеет путь, начинающийся с /catalog/product/.
Каталог серверно рендерит:
- хлебные крошки и ссылки на родительские разделы;
- дочерние категории;
- выбранные фильтры и ссылки сброса;
- категориальные фасеты как
a[href]; - числовые диапазоны как number/range inputs с
data-*контрактом; - карточки товаров как ссылки;
- сортировку и пагинацию как ссылки.
JavaScript перехватывает клики для AJAX-обновления, но опубликованные href остаются полноценными URL и открываются напрямую.
Рекомендуемый алгоритм агента
- Откройте
/catalog/либо подходящий URL из sitemap. - Переходите по ссылкам категорий до нужного раздела.
- Для категориального фильтра используйте точный
hrefего значения. - Для range прочитайте контейнер
[data-filter-type="range"], затем постройте query по правилам диапазонов. - После каждого перехода заново читайте актуальные фасеты, количества и ссылки: они зависят от текущей комбинации.
- Откройте товар по ссылке карточки и проверьте цену, остаток и возможность заказа на самой карточке.
Важное ограничение пути
Пользовательская механика размещает до трёх валидных символьных кодов в path, а дополнительные значения — в повторяемых filter query-параметрах. Порядок path-сегментов выбирается из актуальных серверных данных каталога и валидируется сервером. Поэтому самостоятельно переставлять или соединять символьные коды нельзя: используйте готовые href текущей страницы.
Отзывы категории
Для валидного состояния каталога может существовать страница {catalog-url}otziv/. На ней доступны отзывы товаров выбранной категории/фасетного состояния. Query-параметры этой страницы описаны в URL-грамматике.
Правила AI-блока на страницах магазина
Эти правила и блок на сайте формируются из одного источника. Числа в фигурных скобках — обозначения, не реальные ID.
Каталог и фильтры
Вы на странице раздела или отфильтрованной подборки. Используйте опубликованные ссылки подкатегорий, товаров и пагинации; не угадывайте URL и ID. Для известного артикула быстрее поиск, для подбора — каталог.
Как уточнить подборку
Берите значения, диапазоны и ссылки фильтров из текущей страницы. После изменения перечитайте список и выбранные фильтры. Для REST сначала GET /api/v1/catalog/filters?section_id={section_id} либо ?brand_id={brand_id}, затем GET /api/v1/products с тем же контекстом и filters — одним URL-кодированным JSON-объектом по схеме. HTML-сегменты URL не являются REST-параметрами. Фильтры и диапазоны · HTML URL · OpenAPI.
Из листинга в карточку
Откройте ссылку нужного товара. В нижнем блоке карточки «Для AI-систем» указаны внутренний product_id, данные для текстового клиента и готовая ссылка на корзину, если доступно оформление. Не подставляйте артикул, ID бренда/раздела или строки корзины вместо product_id. Сверьте модель, текущую цену и возможность заказа в карточке; совпадение фотографии недостаточно. Правила карточки · Цена и наличие.
Если товар не найден
Публичный поиск без регистрации: GET /api/v1/products?q={артикул}&per_page=5. Числовой items[].id — ID товара. Если клиент не читает JSON, используйте /api/v1/products.md?q={артикул} или /search/?search={артикул}. Сверьте точное совпадение; несколько подходящих вариантов требуют уточнения. Пример Markdown-каталога · Поиск · API.
Передать корзину
Передайте опубликованную в карточке ссылку /buy/{product_id}:{quantity} либо получите share_url через GET /api/v1/cart-drafts/?product_id={product_id}&quantity=1. Вход, cookies, API-ключ и OAuth для подготовки ссылки не нужны. GET корзину не меняет. Когда покупатель откроет ссылку, сайт защищённым POST-запросом перенесёт товар в его корзину и заново проверит текущую цену и наличие. Заказ при этом не оформляется, а доступа к чужой корзине ссылка не даёт. Перенос подборки и оформление.
Личные операции отдельно
Для чтения или изменения личной корзины через REST, MCP, A2A или UCP нужно отдельное разрешение покупателя. Общее разрешение агенту не подтверждает конкретный заказ: его состав и сумму покупатель подтверждает отдельно. Выбрать сценарий · Разработчикам.