Покупателям
Инструмент Электрика и свет Ручной инструмент Офис и дом Строительные материалы Спецодежда и СИЗ Расходные материалы Складское оборудование Крепёж Климатическое оборудование Сантехника Автосервисное оборудование Строительное оборудование Спорт и туризм Станки Всё для сада Клининговое оборудование

Поиск по Vesremont для AI-агента

HTML-поиск и программный поиск товаров и брендов: параметры, существующие индексы и границы результатов. Исходный файл для машинного чтения: /llms/search.md.

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

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

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

Задача: Найти точный товар по артикулу, модели или названию.

Что нужно на входе: Текст запроса. HTML, JSON и Markdown — альтернативы, OAuth для публичного поиска не нужен.

Результат: Подтверждённое совпадение, product_id и URL; неоднозначные результаты требуют уточнения, а не выбора наугад.

Другая цель? Карта всех задач и режимов. Права личного доступа — auth.md; это не обязательный шаг для публичного чтения.

Следующий раздел по теме: Данные карточки товара — сверить артикул и характеристики · Фильтры и диапазоны — уточнить широкий подбор · Корзина и оформление — передать уже найденные товары по ссылке.

Артикул → точный товар → ссылка на корзину

  1. Для известного артикула используйте публичный GET /api/v1/products?q={артикул} (JSON) или GET /api/v1/products.md?q={артикул} (Markdown). OAuth и API key не нужны. Кодируйте query value, не меняйте Host/IP и не передавайте browser cookies.
  2. Сопоставьте артикул и модель с результатом, прочитайте items[].id в JSON или явный ID в Markdown. При нескольких совпадениях проверьте точную карточку; не угадывайте ID и не подставляйте артикул вместо него.
  3. Если ваш инструмент не читает API, откройте HTML-поиск /search/?search={артикул} либо найденную поисковиком карточку. В карточке есть видимый текстовый блок с ID и конкретной /buy/ ссылкой. HTML-атрибуты и выполнение JavaScript для этого не нужны.
  4. Для запроса «пришли корзину» передайте эту опубликованную ссылку покупателю. Можно не открывать её агентом: перенос выполняется при открытии покупателем, а не в его отсутствие. Отметьте отдельно, если ваш инструмент не смог проверить ссылку; не объявляйте функцию невозможной. Ссылка, несколько товаров и оформление.

JSON, Markdown и HTML — альтернативы, а не обязательные последовательные этапы. Публичные MCP/A2A инструменты поиска также доступны без покупательского токена; SDK — необязателен. Подробности каждого протокола — в Public API.

Поиск в открытом браузере через WebMCP

search_products({search: "артикул или модель"}) открывает обычную страницу результатов; единственное точное совпадение может сразу открыть карточку. После навигации заново получите список инструментов текущей страницы.

  • В листинге вызовите get_visible_products({limit: 1}), чтобы показать цену первого результата и получить его настоящий productId и URL. limit ограничивает число возвращённых товаров, не выполняет новый поиск.
  • Для полной карточки вызовите open_product({productId: ID_из_результата}). Он принимает только товар, уже представленный на текущей странице, и открывает его опубликованный URL. Произвольный ID не угадывайте.
  • На карточке get_current_product({}) читает цену, остаток, описание и характеристики той же страницы, которую видит покупатель. Цена в рублях; наличие, возможность заказа и самовывоз — разные признаки.
  • Пустой список не доказывает отсутствие товара во всём каталоге. Уточните запрос или дождитесь штатной загрузки выдачи. Для добавления нужен отдельный add_to_cart; поиск и открытие карточки корзину не меняют.

Навигационные инструменты меняют открытую страницу и поэтому не помечены как чистое чтение readOnlyHint: true. Чтение данных выполняют get_visible_products и get_current_product. Браузерные инструменты и подтверждения · Карточка товара.

Программный поиск REST

GET /api/v1/products?q={text}&page=1&per_page=10 — поиск товаров; GET /api/v1/brands?q={text} — поиск брендов. Здесь используется q, тогда как HTML /search/ ниже использует search. API опирается на существующую поисковую нормализацию и Manticore-индексы сайта; фильтры/сортировка используют Reindexer, детали товара и цена — Tarantool. Пагинация начинается с 1, per_page ограничен 100. При слишком широком пересечении сервер возвращает ошибку вместо неполного результата. Уточните запрос или категорию. MCP/A2A используют операции реестра, UCP — catalog/search с непрозрачным cursor. Контракт поиска.

Публичная форма

В header каждой HTML-страницы находится стандартная форма:

<form action="/search/" method="get" role="search">
  <input name="search" type="search">
</form>

Публичный интерфейс:

GET https://vesremont.com/search/?search={url-encoded-text}

Используется параметр search, не q, s или query.

Поведение

  • Пробельные символы нормализуются, значение обрезается по краям.
  • Пустой запрос показывает страницу поиска без результатов.
  • Результаты разделены на категории, бренды и товары.
  • Максимум на серверной странице: 5 категорий, 5 брендов и 100 товаров.
  • Если после объединения найден ровно один уникальный URL, сервер отвечает 302 на найденную категорию, бренд или товар.
  • Страница не предоставляет публичной пагинации, сортировки или фасетов результатов.
  • Ссылки результатов являются обычными a[href].

Header также показывает AJAX-подсказки через внутренние /search_ajax/ endpoint. Это вспомогательный JS-интерфейс; для агента предпочтительна GET-форма /search/.