Документация API
Общие сведения
API отдаёт каталог товаров: названия, описания, фотографии, характеристики,
наличие и цены — базовые и персональные (со скидкой вашего аккаунта).
Базовый адрес: https://ventavtomatika.ru/api. Все методы принимают
POST-запросы с JSON-телом и отвечают JSON в кодировке UTF-8.
Авторизация
Создайте ключ в личном кабинете: Настройки профиля → API ключи → Создать ключ.
Ключ показывается один раз — сохраните его. В каждом запросе передавайте ключ
полем api_key в JSON-теле. Цены в ответах учитывают скидки аккаунта,
которому принадлежит ключ. Лимит — 20 запросов в минуту на ключ
(при превышении — HTTP 429).
{
"api_key": "ВАШ_КЛЮЧ",
...остальные параметры метода
}
1. Список товаров — POST /api/products/list
Постраничный список товаров каталога с фильтрами.
Параметры
| Параметр | Тип | Описание |
|---|---|---|
| page | int | Номер страницы (по умолчанию 1) |
| per_page | int | Товаров на страницу, максимум 50 (по умолчанию 50) |
| folder | string | Слаг раздела каталога (см. метод 3) |
| ids | int[] | Выборка по конкретным ID товаров (до 50 за запрос) |
| search | string | Поиск по вхождению в название |
Пример запроса
curl -X POST https://ventavtomatika.ru/api/products/list \
-H "Content-Type: application/json" \
-d '{"api_key":"ВАШ_КЛЮЧ","folder":"smesitelnye-uzly","per_page":2}'
Пример ответа
{
"data": [
{
"id": 1,
"name": "Смесительный узел СУБ 32-80-160-24",
"slug": "smesitelnyi-uzel-sub-32-80-160-24-873718194",
"url": "https://ventavtomatika.ru/catalog/product/smesitelnyi-uzel-sub-32-80-160-24-873718194",
"description": "Готовый смесительный узел для приточной установки…",
"unit": "шт",
"price_base": 48000, // цена без скидки, руб.
"price": 45600, // ваша цена со скидкой аккаунта, руб.
"discount_percent": 5, // ваша скидка, %
"remains": 3, // остаток на складе, шт
"in_stock": true, // false = под заказ (заказ возможен)
"images": ["https://ventavtomatika.ru/storage/products/1/….webp"],
"characteristics": [{"label": "KVS трехходового клапана", "value": "16,0"}],
"folders": [{"id": 12, "name": "Смесительные узлы", "slug": "smesitelnye-uzly", "is_last": true}]
}
],
"meta": {"current_page": 1, "per_page": 2, "last_page": 40, "total": 79}
}
Поле price уже учитывает скидку аккаунта; без персональных скидок
price равен price_base, а discount_percent = 0.
2. Карточка товара — POST /api/products/get
Один товар по id или slug (нужен любой из параметров). Отдаёт те же поля,
что и список, плюс documentation — документы товара (паспорта, схемы,
сертификаты) со ссылками на файлы.
curl -X POST https://ventavtomatika.ru/api/products/get \
-H "Content-Type: application/json" \
-d '{"api_key":"ВАШ_КЛЮЧ","id":1}'
{
"data": {
…все поля из метода 1,
"documentation": [
{"category": "Инструкции", "links": ["https://ventavtomatika.ru/storage/docs/products/1/passport.pdf"]}
]
}
}
3. Разделы каталога — POST /api/folders/list
Все разделы каталога. Слаг раздела используется в параметре folder метода 1.
Дерево собирается по parent_id (null — корневой раздел).
curl -X POST https://ventavtomatika.ru/api/folders/list \
-H "Content-Type: application/json" \
-d '{"api_key":"ВАШ_КЛЮЧ"}'
{
"data": [
{"id": 9, "name": "Щиты автоматики", "slug": "shhity-avtomatiki", "parent_id": null, "products_count": 0},
{"id": 12, "name": "Смесительные узлы", "slug": "smesitelnye-uzly", "parent_id": 9, "products_count": 79}
]
}
Ошибки
| Код | Причина |
|---|---|
| 401 | Ключ не передан, неверен или отозван |
| 404 | Товар не найден (метод 2) |
| 422 | Ошибка в параметрах — детали в поле errors ответа |
| 429 | Превышен лимит 20 запросов в минуту — повторите позже |
Вопросы по интеграции — manager+zogubi@ventavtomatika.ru или +7 (800) 700-08-10.