Всё взаимодействие с API должно вестись по протоколу HTTPS.
Базовый эндпоинт API, относительно которого строятся запросы:
https://api.breez.ru/v1/
.
Используемый HTTP-метод: GET
.
Тип запроса указывается в качестве части пути.
Параметры запроса передаются в параметрах URL, например:
GET https://api.breez.ru/v1/leftovers/?format=xml
В данном случае leftovers
это тип запроса, а параметр
запроса format
равен xml
.
<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>