Общая информация

Конечная точка

Всё взаимодействие с API должно вестись по протоколу HTTPS. Базовый эндпоинт API, относительно которого строятся запросы: https://api.breez.ru/v1/. Используемый HTTP-метод: GET. Тип запроса указывается в качестве части пути. Параметры запроса передаются в параметрах URL, например:

GET https://api.breez.ru/v1/brands/?id=1
В данном случае brands это тип запроса, а параметр запроса id равен 1.

Авторизация

Авторизация происходит посредством Базовой схемы HTTP-аутентификации. Учётные данные для доступа к API передаются с каждым запросом в заголовке Authorization. Заголовок должен иметь следующий формат:

Authorization: Basic <credentials>
Где <credentials> - это ваши учётные данные, представленные в виде закодированной в Base64 строки вида имя_пользователя:пароль. Например, если ваше имя пользователя username, а пароль password, то строка будет иметь вид username:password. Кодируем её в Base64 и получаем dXNlcm5hbWU6cGFzc3dvcmQ=. Тогда заголовок будет иметь вид
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Учётные данные для авторизации можно получить запросом через форму "Запросить ключ" на api.breez.ru.

Формат данных

Данные доступны в двух форматах: JSON (по умолчанию) и XML. Для того, чтобы задать желаемый формат данных, необходимо среди параметров запроса передать параметр URL format, в качестве значения указав json (аналогично отсутствию параметра) или xml соответственно, например:

GET https://api.breez.ru/v1/brands/?format=xml
Такой запрос вернёт список всех брендов в формате XML.

Ошибки

В случае, если по тем или иным причинам в процессе выполнения запроса произошла ошибка, которая не относится к конкретному виду запроса, то вместо данных в выбранном формате в теле ответа придёт объект ошибки такого формата:

GET https://api.breez.ru/v1/brans/
{ "error": "Неизвестный запрос." }
<error>Неизвестный запрос.</error>

Категории

Все категории

В ответ на данный запрос возвращаются все находящиеся в БД категории. Они приходят в виде объекта, в котором ключи - это идентификаторы категорий в базе данных, а значения - это объекты, содержащие данные по соответствующим категориям.

GET https://api.breez.ru/v1/categories/
{
    "1": {
        "title": "MyCategory1",
        "chpu": "mycategory1",
        "level": "0",
        "order": "1"
    },
    "2": {
        "title": "MyCategory2",
        "chpu": "mycategory2",
        "level": "1",
        "order": "1"
    },
    ...
}
<categories>
    <category>
        <id>1</id>
        <title>MyCategory1</title>
        <chpu>mycategory1</chpu>
        <level>0</level>
        <order>1</order>
    </category>
    <category>
        <id>2</id>
        <title>MyCategory2</title>
        <chpu>mycategory2</chpu>
        <level>1</level>
        <order>1</order>
    </category>
    ...
</categories>
Параметр Тип Описание
title String Наименование категории
chpu String ЧПУ
level String Идентификатор родительской категории
order String Порядок сортировки категории среди других на своем уровне.

Конкретная категория

В ответ на данный запрос возвращается категория с соответствующим идентификатором. Она приходит в виде объекта, в котором ключ - это идентификатор категории в базе данных, а значение - это объект, содержащий данные по соответствующей категории. В случае, если категории с указанным идентификатором не существует, в JSON возвращается объект с ключом "error" и значением "Неверный ID", а в XML - пустой объект "categories".

GET https://api.breez.ru/v1/categories/?id=1
{
    "1": {
        "title": "MyCategory1",
        "chpu": "mycategory1",
        "level": "0",
        "order": "1"
    }
}
<categories>
    <category>
        <id>1</id>
        <title>MyCategory1</title>
        <chpu>mycategory1</chpu>
        <level>0</level>
        <order>1</order>
    </category>
</categories>
Параметр Тип Описание
title String Наименование категории
chpu String ЧПУ
level String Идентификатор родительской категории
order String Порядок сортировки категории среди других на своем уровне.

Бренды

Все бренды

В ответ на данный запрос возвращаются все находящиеся в БД бренды. Они приходят в виде объекта, в котором ключи - это идентификаторы брендов в базе данных, а значения - это объекты, содержащие данные по соответствующим брендам. Бренды отсортированы по полю order.

GET https://api.breez.ru/v1/brands/
{
    "1": {
        "title": "MyBrand1",
        "chpu": "mybrand1",
        "image": "https:\/\/breez.ru\/images\/brands\/MyBrand1.jpg",
        "url": "https:\/\/mybrand1.ru\/",
        "order": "1"
    },
    "2": {
        "title": "MyBrand2",
        "chpu": "mybrand2",
        "image": "https:\/\/breez.ru\/images\/brands\/MyBrand2.jpg",
        "url": "https:\/\/mybrand2.ru\/",
        "order": "2"
    },
    ...
}
<brands>
    <brand>
        <id>1</id>
        <title>MyBrand1</title>
        <chpu>mybrand1</chpu>
        <image>https://breez.ru/images/brands/MyBrand1.jpg</image>
        <url>https://mybrand1.ru/</url>
        <order>1</order>
    </brand>
    <brand>
        <id>2</id>
        <title>MyBrand2</title>
        <chpu>mybrand2</chpu>
        <image>https://breez.ru/images/brands/MyBrand2.jpg</image>
        <url>https://mybrand2.ru/</url>
        <order>2</order>
    </brand>
    ...
</brands>

Конкретный бренд

В ответ на данный запрос возвращается бренд с соответствующим идентификатором. Он приходит в виде объекта, в котором ключ - это идентификатор бренда в базе данных, а значение - это объект, содержащий данные по соответствующему бренду. В случае, если бренда с указанным идентификатором не существует, в JSON возвращается объект с ключом "error" и значением "Неверный ID", а в XML - пустой объект "brands".

GET https://api.breez.ru/v1/brands/?id=1
{
    "1": {
        "title": "MyBrand1",
        "chpu": "mybrand1",
        "image": "https:\/\/breez.ru\/images\/brands\/MyBrand1.jpg",
        "url": "https:\/\/mybrand1.ru\/",
        "order": "1"
    }
}
<brands>
    <brand>
        <id>1</id>
        <title>MyBrand1</title>
        <chpu>mybrand1</chpu>
        <image>https://breez.ru/images/brands/MyBrand1.jpg</image>
        <url>https://mybrand1.ru/</url>
        <order>1</order>
    </brand>
</brands>
Параметр Тип Описание
title String Наименование бренда
chpu String ЧПУ
image String Ссылка на логотип бренда
url String Ссылка на сайт бренда
order String Порядок сортировки бренда среди других.

Продукты

Все продукты

В ответ на данный запрос возвращаются все находящиеся в БД продукты. Они приходят в виде объекта, в котором ключи - это идентификаторы продуктов в базе данных, а значения - это объекты, содержащие данные по соответствующим продуктам.

GET https://api.breez.ru/v1/products/
{
    ...,
    "1000000": {
        "nc": "НС-0000001",
        "nc_vnutr": "НС-0000002",
        "nc_naruj": "НС-0000003",
        "nc_accessory": "",
        "price": {
            "rrc": "9000",
            "rrc_currency": "RUB"
        },
        "articul": "AB-CDEF123",
        "category_id": "2",
        "title": "Классические сплит-системы серии SPLIT 2000",
        "series": "Классические сплит-системы серии SPLIT",
        "brand": "1",
        "utp": "&#9679; Стильный дизайн;<br>\r\n...",
        "description": "<p>Сплит-системы SPLIT SUPER 2000 выполнены...",
        "booklet": "https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/book.pdf",
        "manual": "https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/man.pdf",
        "bim_model": "",
        "video_youtube": "ABCDefg123",
        "images": [
            "https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_f.png",
            "https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_i.png",
            ...
        ]
    }
    ,...
}
<products>
    ...
    <product>
        <id>1000000</id>
        <nc>НС-0000001</nc>
        <nc_vnutr>НС-0000002</nc_vnutr>
        <nc_naruj>НС-0000003</nc_naruj>
        <nc_accessory></nc_accessory>
        <price>
            <rrc>9000</rrc>
            <rrc_currency>RUB</rrc_currency>
        </price>
        <articul>AB-CDEF123</articul>
        <category_id>2</category_id>
        <series>Классические сплит-системы серии SPLIT</series>
        <title>Классические сплит-системы серии SPLIT 2000</title>
        <brand>1</brand>
        <utp>&#9679; Стильный дизайн;<br>...</utp>
        <description><p>Сплит-системы SPLIT SUPER 2000 выполнены...</description>
        <booklet>https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/book.pdf</booklet>
        <manual>https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/man.pdf</manual>
        <bim_model></bim_model>
        <video_youtube>ABCDefg123</video_youtube>
        <images>
            <image>https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_f.png</image>
            <image>https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_i.png</image>
            ...
        </images>
    </product>
    ...
</products>

Конкретный продукт

В ответ на данный запрос возвращается продукт с соответствующим идентификатором. Она приходит в виде объекта, в котором ключ - это идентификатор продукта в базе данных, а значение - это объект, содержащий данные по соответствующему продукту. В случае, если продукта с указанным идентификатором не существует, в JSON возвращается объект с ключом "error" и значением "Неверный ID", а в XML - пустой объект "product".

GET https://api.breez.ru/v1/products/?id=1000000
{
    "1000000": {
        "nc": "НС-0000001",
        "nc_vnutr": "НС-0000002",
        "nc_naruj": "НС-0000003",
        "nc_accessory": "",
        "price": {
            "rrc": "9000",
            "rrc_currency": "RUB"
        },
        "articul": "AB-CDEF123",
        "category_id": "2",
        "series": "Классические сплит-системы серии SPLIT",
        "title": "Классические сплит-системы серии SPLIT 2000",
        "brand": "1",
        "utp": "&#9679; Стильный дизайн;<br>\r\n...",
        "description": "<p>Сплит-системы SPLIT SUPER 2000 выполнены...",
        "booklet": "https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/book.pdf",
        "manual": "https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/man.pdf",
        "bim_model": "",
        "video_youtube": "ABCDefg123",
        "images": [
            "https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_f.png",
            "https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_i.png",
            ...
        ],
        "techs": {
            "1480": {
                "id_char": 1480,
                "title": "Бренд",
                "type": "string",
                "unit": "",
                "show": "1",
                "required": "1",
                "filter": "1",
                "filter_type": "select",
                "first": "1",
                "supcat": "1",
                "analog": "0",
                "order": "1",
                "group": "Основные",
                "value": "SPLIT"
            },
            ...
        }
    }
}
<products>
    <product>
        <id>1000000</id>
        <nc>НС-0000001</nc>
        <nc_vnutr>НС-0000002</nc_vnutr>
        <nc_naruj>НС-0000003</nc_naruj>
        <nc_accessory></nc_accessory>
        <price>
            <rrc>9000</rrc>
            <rrc_currency>RUB</rrc_currency>
        </price>
        <articul>AB-CDEF123</articul>
        <category_id>2</category_id>
        <series>Классические сплит-системы серии SPLIT</series>
        <title>Классические сплит-системы серии SPLIT 2000</title>
        <brand>1</brand>
        <utp>&#9679; Стильный дизайн;<br>...</utp>
        <description><p>Сплит-системы SPLIT SUPER 2000 выполнены...</description>
        <booklet>https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/book.pdf</booklet>
        <manual>https:\/\/breez.ru\/files\/biblio\/split\/super-2000\/man.pdf</manual>
        <bim_model></bim_model>
        <video_youtube>ABCDefg123</video_youtube>
        <images>
            <image>https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_f.png</image>
            <image>https:\/\/images.breez.ru\/catalog\/splits\/split\/2000_super_i.png</image>
            ...
        </images>
        <techs>
            <tech>
                <id_char>1480</id_char>
                <title><![CDATA[Бренд]]></title>
                <type>string</type>
                <unit><![CDATA[]]></unit>
                <show>1</show>
                <required>1</required>
                <filter>1</filter>
                <filter_type>select</filter_type>
                <first>1</first>
                <supcat>1</supcat>
                <analog>0</analog>
                <order>1</order>
                <group>Основные</group>
                <value>SPLIT</value>
            </tech>
            ...
        </techs>
    </product>
</products>
Параметр Тип Описание
nc String НС-код продукта (или комплекта в сложносоставных)
nc_vnutr,
nc_naruj,
nc_accessory
String НС-коды составных частей комплекта в сложносоставных
price Object Информация о цене
rrc String Стоимость типа РИЦ (рекомендованная интернет цена)
rrc_currency String Валюта РИЦ (RUB / USD / EUR)
articul String Артикул
category_id String Идентификатор категории
series String Название серии
title String Название продукта
brand String Идентификатор бренда
utp String УТП
description String Описание
booklet String URL файла с буклетом
manual String URL файла с инструкцией
bim_model String URL файла с моделью
video_youtube String Идентификатор видео на YouTube
images Array URL изображений продукта
techs Object ТХ продукта

Технические характеристики

Данный тип запроса, в отличие от остальных, не работает без параметров запроса.

Технические характеристики Категории

В ответ на данный запрос возвращаются все технические характеристики, принадлежащие к категории с указанным идентификатором. В случае, если категории с указанным идентификатором не существует, в JSON возвращается объект с ключом "error" и значением "Неверный ID". В XML возвращается объект "categories" с двумя объектами: "cat_id" содержащий запрошенный идентификатор и пустой "techs".

GET https://api.breez.ru/v1/tech/?category=2
{
    "category": 2,
    "techs": {
        "1480": {
            "tech_id": "1480",
            "title": "Бренд",
            "data_type": "string",
            "unit": "",
            "required": "1",
            "filter": "1",
            "filter_type": "select",
            "group": "Основные",
            "order": "1"
        },
        "1489": {
            "tech_id": "1489",
            "title": "Модель",
            "data_type": "string",
            "unit": "",
            "required": "1",
            "filter": "0",
            "filter_type": "",
            "group": "Основные",
            "order": "2"
        },
        ...
    }
}
<category>
    <cat_id>2</cat_id>
    <techs>
        <tech>
            <tech_id>1480</tech_id>
            <title><![CDATA[Бренд]]></title>
            <data_type>string</data_type>
            <unit><![CDATA[]]></unit>
            <required>1</required>
            <filter>1</filter>
            <filter_type>select</filter_type>
            <group>Основные</group>
            <order>1</order>
        </tech>
        <tech>
            <tech_id>1489</tech_id>
            <title><![CDATA[Модель]]></title>
            <data_type>string</data_type>
            <unit><![CDATA[]]></unit>
            <required>1</required>
            <filter>0</filter>
            <filter_type></filter_type>
            <group>Основные</group>
            <order>2</order>
        </tech>
        ...
    </techs>
</category>
Параметр Тип Описание
category Integer Идентификатор категории
techs String Объект, содержащий ТХи, где ключ - идентификатор ТХ, а значение - объект с ТХ
tech_id String Идентификатор
title String Наименование
data_type String Тип данных
unit String Единицы измерения (отсутствует если неприменимо)
required String Обязательна ли данная ТХ
filter String Требуется ли выводить фильтр по ТХ
filter_type String Тип фильтра
group String Группа ТХ на странице продукта
order String Порядок отображения на странице

Технические характеристики Продукта

В ответ на данный запрос возвращаются данные по продукту с указанным идентификатром. Данные влючают в себя НС-коды, а также все технические характеристики продукта и их значения. В случае, если продукта с указанным идентификатором не существует, в JSON возвращается объект с ключом "error" и значением "Неверный ID", а в XML - пустой объект "product".

GET https://api.breez.ru/v1/tech/?id=2
{
    "2": {
      "nc": "НС-0000001",
      "nc_vnutr": "",
      "nc_naruj": "",
      "nc_accessory": "",
      "techs": {
        "3379": {
          "id_char": 3379,
          "title": "Бренд",
          "type": "string",
          "unit": "",
          "show": "1",
          "required": "1",
          "filter": "0",
          "filter_type": "",
          "first": "1",
          "supcat": "0",
          "analog": "0",
          "order": "1",
          "group": "Основные",
          "value": "MyBrand"
        },
        ...
    }
}
<product>
    <id>2</id>
    <nc>НС-0000001</nc>
    <nc_vnutr></nc_vnutr>
    <nc_naruj></nc_naruj>
    <nc_accessory></nc_accessory>
    <techs>
        <tech>
            <id_char>3379</id_char>
            <title><![CDATA[Бренд]]></title>
            <type>string</type>
            <unit><![CDATA[]]></unit>
            <show>1</show>
            <required>1</required>
            <filter>0</filter>
            <filter_type></filter_type>
            <first>1</first>
            <supcat>0</supcat>
            <analog>0</analog>
            <order>1</order>
            <group>Основные</group>
            <value>MyBrand</value>
        </tech>
        ...
    </techs>
</product>
Параметр Тип Описание
nc String НС-код продукта
nc_vnutr,
nc_naruj,
nc_accessory
String НС-коды составных частей в сложных продуктах
techs Object Объект, содержащий ТХи, где ключ - идентификатор ТХ, а значение - объект с ТХ
id_char Integer Идентификатор
title String Наименование
type String Тип данных
unit String Единицы измерения (отсутствует если неприменимо)
show String Отображается ли данная ТХ
required String Обязательна ли данная ТХ
filter String Требуется ли выводить фильтр по ТХ
filter_type String Тип фильтра
first String Отображается ли ТХ в карточке товара
supcat String Требуется ли выводить фильтр по ТХ в надкатегории
analog String Требуется ли ТХ для поиска аналогов
order String Порядок отображения на странице
group String Группа ТХ на странице продукта
value String Значение ТХ