Call-центр: +7 (499) 500 00 01

Сервис: +7 (495) 447-36-45

Корзина

Кол-во товаров:0
Общая сумма:0

API каталога: выгрузка прайса с остатками

Автоматическая выгрузка вашего прайс-листа: розничная цена, ваша дилерская цена по индивидуальному соглашению и остатки по 10 складам. Один HTTP-запрос — и у вас всегда актуальные данные в учётной системе, на сайте или в Excel.

Обновление1 раз в сутки, к 11:00 МСК
ФорматыJSON · CSV (Excel) · XML
Доступпо персональному API-ключу

Быстрый старт

  1. Получите API-ключ

    Ключ выдаёт ваш менеджер Терморос. Он персональный: по нему API определяет вашу компанию и считает цены по вашему соглашению. Не публикуйте ключ; при утечке менеджер отзовёт его и выдаст новый.

  2. Сделайте первый запрос

    bash
    curl -H "X-Api-Key: ВАШ_КЛЮЧ" \
      "https://www.termoros.com/api/v1/catalog/?format=json"

    Система не умеет передавать заголовки (Excel, 1С, браузер)? Передайте ключ параметром:

    URL
    https://www.termoros.com/api/v1/catalog/?api_key=ВАШ_КЛЮЧ&format=csv
  3. Настройте ежедневную синхронизацию

    Данные меняются один раз в сутки после ночного обмена с 1С — достаточно одного запроса в день после 11:00 МСК.

Готовая коллекция для Postman

12 запросов со всеми сценариями и автотестами: выгрузки во всех форматах, фильтры, кэширование по ETag, обработка ошибок. Импортируйте файл в Postman, впишите свой ключ в переменную коллекции partnerApiKey — и запускайте.

Скачать коллекцию Postman

Справочник API

GEThttps://www.termoros.com/api/v1/catalog/

Аутентификация

Заголовок X-Api-Key: <ключ> (рекомендуется) или параметр ?api_key=<ключ>.

Параметры запроса

ПараметрЗначенияПо умолчанию
formatjson — для интеграций · csv — открывается в Excel · xml — для учётных системjson
brandбренды через запятую, например Danfoss,Baxiвсе
typeID разделов каталога через запятуювсе
storeID складов через запятую (таблица ниже)все

Склады

IDГородIDГород
1Москва6Санкт-Петербург
2Екатеринбург7Уфа
3Казань8Ростов-на-Дону
4Краснодар9Пятигорск
5Новосибирск10Нижний Новгород

Пример ответа

JSON
{
  "meta": {
    "generated_at": "2026-08-02T11:05:12+03:00",
    "data_date": "2026-08-02",
    "partner": "Ваша компания",
    "currency": "RUB",
    "items_count": 36199
  },
  "items": [
    {
      "id": 241335,
      "xml_id": "aebc5068-c864-11eb-a2d2-3cecef424a55",
      "article": "MH 6287",
      "name": "Датчик температуры настенный проводной My Heat",
      "brand": "My Heat",
      "product_type": "Датчики, реле и термостаты",
      "unit": "шт",
      "url": "https://www.termoros.com/product/datchik_temperatury_my_heat/",
      "price_retail": 1650.00,
      "price_partner": 1105.50,
      "discount_percent": 33,
      "stocks": {"Москва": 19, "Казань": 2}
    }
  ]
}

Поля позиции

ПолеОписание
articleартикул
xml_idидентификатор номенклатуры в 1С (GUID)
name, brand, product_type, unitнаименование, бренд, вид продукции, единица измерения
urlкарточка товара на termoros.com
price_retailрозничная цена, без округления
price_partnerваша цена по соглашению (= розничная − ваша скидка)
discount_percentваша скидка на товар, %
stocksостатки: город → количество (только выбранные склады)

CSV приходит в UTF-8 c BOM и разделителем «;» — открывается в Excel двойным кликом, остатки разложены колонками по городам. XML — плоская структура <catalog><item>… с теми же полями.

Ещё примеры

bash
# прайс по двум брендам сразу в Excel-файл
curl -H "X-Api-Key: ВАШ_КЛЮЧ" -o price.csv \
  "https://www.termoros.com/api/v1/catalog/?format=csv&brand=Danfoss,Baxi"

# остатки только по Москве и Санкт-Петербургу, XML
curl -H "X-Api-Key: ВАШ_КЛЮЧ" \
  "https://www.termoros.com/api/v1/catalog/?store=1,6&format=xml"

Совет: кэшируйте по ETag

Сохраните заголовок ETag из ответа и передавайте его в следующем запросе в заголовке If-None-Match. Если данные не менялись, придёт короткий ответ 304 Not Modified без тела — вы не качаете мегабайты зря, а выгрузка обновится ровно тогда, когда обновятся данные.

Ошибки

Любая ошибка — это JSON {"error": {"code", "message"}} с корректным HTTP-статусом:

HTTPКодЧто делать
401unauthorizedключ не передан, неверный или отозван — обратитесь к менеджеру
400bad_format / bad_filterневерный формат или фильтры; в details указано, что именно исправить
503snapshot_not_readyданные ещё готовятся — повторите запрос позже

Вопросы по интеграции — вашему менеджеру Терморос.

Возврат к списку