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

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

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

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

Вы также можете получить (ТОЛЬКО ПОЛНУЮ) выгрузку в формате CSV, авторизовавшись через GET-параметр. Всё, что вам для этого нужно - прямо в браузере перейти по ссылке ниже, заменив <credentials> на описанную в расположенном ниже разделе Авторизация строку аутентификации:
https://api.breez.ru/v1/leftovers/?token=<credentials>
Например, если ваше имя пользователя username, а пароль password, то строка будет иметь вид username:password. Кодируем её в Base64 и получаем dXNlcm5hbWU6cGFzc3dvcmQ=. Тогда ссылка будет иметь следующий вид:
https://api.breez.ru/v1/leftovers/?token=dXNlcm5hbWU6cGFzc3dvcmQ=

Авторизация

Авторизация происходит посредством Базовой схемы 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/leftovers/?format=xml
Такой запрос вернёт список всех брендов в формате XML.

Ошибки

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

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

Если API "Остатки" вам недоступен, то вместо выгрузки возвращается ошибка.

{ "error": "Вам нужен ключ." }
<?xml version="1.0" encoding="utf-8"?>
<error>Вам нужен ключ.</error>

Полная выгрузка

Описание запроса

Данный запрос производится по умолчанию, когда ни один специфичный параметр запроса не указан.

GET https://api.breez.ru/v1/leftovers/

Описание ответа

В ответ на данный запрос возвращаются все остатки на доступных вам складах.

Формирование данной выгрузки занимает некоторое время - до нескольких минут, в зависимости от объема.

Данные по остаткам обновляются каждые два часа - в сорок минут нечётного часа (01:40, 03:40, ...). В течение первых нескольких минут после обновления данные могут быть недоступны. В связи с этим рекомендуется соответствующим образом планировать время для отправки запросов во избежание получения пустого ответа от сервера.

[
    {
        "nc": "НС-1234567",
        "articul": "TR-AB-123-C",
        "title": "Терморегулятор AB-123-C",
        "quantity": "10",
        "stock": "Шерризон-Норд Бриз WMS",
        "price": {
            "base": "123",
            "base_currency": "RUB",
            "ric": "234",
            "ric_currency": "RUB",
        }
        "time": "2023-06-01 12:00:00"
    },
    ...
]
<?xml version="1.0" encoding="utf-8"?>
<leftovers>
    <leftover>
        <nc>НС-1234567</nc>
        <articul>TR-AB-123-C</articul>
        <title><![CDATA[Терморегулятор AB-123-C]]></title>
        <quantity>10</quantity>
        <stock>Шерризон-Норд Бриз WMS</stock>
        <price>
            <base>123</base>
            <base_currency>RUB</base_currency>
            <ric>234</ric>
            <ric_currency>RUB</ric_currency>
        </price>
        <time>2023-06-01 12:00:00</time>
    </leftover>
    ...
</leftovers>

Выгрузка по НС-коду

Описание запроса

Данный запрос производится, когда передан параметр URL nc.

GET https://api.breez.ru/v1/leftovers/?nc=НС-1234567

Описание ответа

В ответ на данный запрос возвращаются все остатки с указанным НС-кодом на доступных вам складах.

Данные по остаткам обновляются каждые два часа - в сорок минут нечётного часа (01:40, 03:40, ...). В течение первых нескольких минут после обновления данные могут быть недоступны. В связи с этим рекомендуется соответствующим образом планировать время для отправки запросов во избежание получения пустого ответа от сервера.

[
    {
        "nc": "НС-1234567",
        "articul": "TR-AB-123-C",
        "title": "Терморегулятор AB-123-C",
        "quantity": "10",
        "stock": "Шерризон-Норд Бриз WMS",
        "price": {
            "base": "123",
            "base_currency": "RUB",
            "ric": "234",
            "ric_currency": "RUB",
        }
        "time": "2023-06-01 12:00:00"
    },
    ...
]
<?xml version="1.0" encoding="utf-8"?>
<leftovers>
    <leftover>
        <nc>НС-1234567</nc>
        <articul>TR-AB-123-C</articul>
        <title><![CDATA[Терморегулятор AB-123-C]]></title>
        <quantity>10</quantity>
        <stock>Шерризон-Норд Бриз WMS</stock>
        <price>
            <base>123</base>
            <base_currency>RUB</base_currency>
            <ric>234</ric>
            <ric_currency>RUB</ric_currency>
        </price>
        <time>2023-06-01 12:00:00</time>
    </leftover>
    ...
</leftovers>
Параметр Описание
nc НС-код
articul Артикул
title Наименование товара
quantity Остаток данного товара на данном складе (больше 50 единиц обозначаются как ">50")
stock Наименование склада
base Базовая цена
base_currency Валюта базовой цены
ric РИЦ
ric_currency Валюта РИЦ
time Время последнего обновления данных

Ошибки

Если НС-код указан неверно, в ответ возвращается пустой массив.

[]
<?xml version="1.0" encoding="utf-8"?>
<leftovers></leftovers>