API каталога

Все ответы в JSON, кодировка UTF-8. Ключ передаётся в заголовке X-API-Key; для ссылок на выгрузки — параметром ?key=. Ключ выдаём по заявке.

curl 'https://каталог-масел.рф/api/v1/products?viscosity=5W-30&limit=5' \
  -H 'X-API-Key: lc_ВАШ_КЛЮЧ'

Каталог

GET /api/v1/products Все

Список опубликованных товаров. Фильтры: brand, category, viscosity, specification, search (название, артикул, EAN), sort, order, limit (до 100), offset. Общее число — в заголовке X-Total-Count.

/api/v1/products?viscosity=5W-30&specification=VW%20504.00&limit=20

GET /api/v1/products/{slug} Все

Карточка товара: название, категория, вязкость, описание, свойства (тип основы, тип двигателя, свойства смазок и жидкостей), источник.

GET /api/v1/products/{slug}/variants Все

Варианты и фасовки: объём, единица, артикул, EAN-13.

GET /api/v1/products/{slug}/specifications Все

Допуски и спецификации с типом заявления: approved (одобрено), claims_meets (соответствует), recommended_for, listed — и ссылкой на источник.

GET /api/v1/products/{slug}/images Все

Фото товара (ссылки на сайт производителя).

GET /api/v1/brands, /api/v1/categories Все

Справочники брендов и категорий.

GET /api/v1/facets/viscosity Все

Сколько товаров у каждого класса вязкости — для фильтров на витрине.

Подбор

GET /api/v1/approvals?code=… Все

Товары с допуском автопроизводителя, раздельно «одобрено» и «соответствует». «VW 502 00/505 00» разбирается на отдельные требования.

/api/v1/approvals?code=MB%20229.51&viscosity=5W-30

GET /api/v1/products/{slug}/analogs Все

Замены других брендов той же категории и вязкости с долей совпавших требований и списком того, что совпало и чего не хватает.

Интеграция

GET /api/v1/export/products.csv | .xlsx Старт и выше

Весь каталог или бренд/категория таблицей: строка на фасовку с артикулом, EAN, вязкостью, допусками и ссылками.

/api/v1/export/products.xlsx?brand=motul&key=ВАШ_КЛЮЧ

GET /api/v1/export/products.yml Бизнес и выше

YML для Яндекс Маркета и CMS (1С-Битрикс, InSales, OpenCart): offer = фасовка, vendorCode = артикул, barcode = EAN. Без цен.

POST /api/v1/match Бизнес и выше

Сопоставление прайса: до 500 строк с артикулом, EAN или названием; для каждой — найденный товар, фасовка и уверенность.

{"items":[{"ref":"1","sku":"111800"},{"ref":"2","brand":"Motul","name":"8100 X-clean 5W30 5л"}]}

GET /api/v1/changes?since=… Старт и выше

Лента изменений для синхронизации: новые товары, обновлённые карточки, новые артикулы, снятые с публикации. Храните next_since из ответа.

Ограничения

Лимиты зависят от тарифа: запросов в минуту и в сутки. При превышении — ответ 429 с заголовком Retry-After. Неверный ключ — 401, метод не входит в тариф — 403.