Swagger
API предоставляет доступные остатки товаров на складах и в производстве с детализацией по городам и цветам.
1. Адрес и метод
GET
http://ea.f1s.org.ua:8080/EA/ru_RU/hs/API/GetInfo2. Параметры запроса
В параметре URL param передаётся JSON, закодированный для передачи в URL. Тело GET-запроса не используется. Оба поля обязательны.
| Поле | Тип | Описание |
|---|---|---|
| token | Строка | Индивидуальный токен доступа |
| includeCharacteristics | Boolean | false — по товару; true — по товару и характеристике |
Без характеристик
curl --get \
'http://ea.f1s.org.ua:8080/EA/ru_RU/hs/API/GetInfo' \
--data-urlencode 'param={"token":"<YOUR_TOKEN>","includeCharacteristics":false}'С характеристиками
curl --get \
'http://ea.f1s.org.ua:8080/EA/ru_RU/hs/API/GetInfo' \
--data-urlencode 'param={"token":"<YOUR_TOKEN>","includeCharacteristics":true}'3. Поля ответа
| Поле | Тип | Описание |
|---|---|---|
| productCode | Строка | Код товара |
| article | Строка | Артикул |
| productName | Строка | Название товара |
| unit | Строка | Единица измерения |
| stockQuantity | Число | Доступный остаток на складе |
| productionQuantity | Число | Доступное количество в производстве |
| details | Массив | Детализация по городам |
| price | Число | Цена, только если её выгрузка разрешена |
| vatStatus | Строка или null | Статус НДС, передаётся вместе с price |
| characteristicCode | Строка | Код характеристики; может быть пустым |
| characteristicName | Строка | Название характеристики |
| color | Строка | Цвет, только если заполнен |
При includeCharacteristics: true дополнительно передаются characteristicCode и characteristicName. Поле color передаётся только при заполненном цвете. Если выгрузка цен выключена, price и vatStatus отсутствуют. Цена 0 — числовое значение, а не отсутствие поля.
vatStatus: included — с НДС; excluded — без НДС; null — статус не определён.
4. Детализация по городам и цветам
Каждый элемент details содержит city (строка или null), stockQuantity и productionQuantity (числа). Необязательный массив colors содержит color, stockQuantity и productionQuantity. Если цвета не заполнены, colors отсутствует. Количества без цвета учитываются в итоге города, но не включаются в colors; сумма по цветам может быть меньше итога города. Суммы по городам равны общим количествам позиции. Неопределённый город передаётся как city: null.
Пустой массив [] означает отсутствие доступных остатков. Коды нужно хранить как строки с ведущими нулями.
5. Пример без характеристик
Примеры содержат условные данные.
[
{
"productCode": "0000005870",
"article": "ЕА-0005870",
"productName": "Olflex Classic 110 18G1",
"unit": "м",
"stockQuantity": 200,
"productionQuantity": 100,
"details": [
{
"city": "Запоріжжя",
"stockQuantity": 150,
"productionQuantity": 100,
"colors": [
{
"color": "Чорний",
"stockQuantity": 150,
"productionQuantity": 100
}
]
},
{
"city": "Кам'янець-Подільський",
"stockQuantity": 50,
"productionQuantity": 0
}
]
}
]6. Пример с характеристиками
Примеры содержат условные данные.
[
{
"productCode": "0000005870",
"article": "ЕА-0005870-000004287",
"productName": "Olflex Classic 110 18G1",
"unit": "м",
"stockQuantity": 40,
"productionQuantity": 0,
"price": 42.5,
"vatStatus": "included",
"characteristicCode": "000004287",
"characteristicName": "Відрізок 40 м",
"details": [
{
"city": "Запоріжжя",
"stockQuantity": 40,
"productionQuantity": 0
}
]
}
]7. Статусы и ошибки
| HTTP | Описание |
|---|---|
| 200 | Данные успешно получены |
| 400 | Некорректный JSON или параметры |
| 403 | Токен отсутствует, недействителен или доступ запрещён |
| 500 | Внутренняя ошибка получения или формирования ответа |
Коды error передаются на английском, сообщения message — на украинском независимо от языка этой инструкции. Примеры ошибок:
{
"error": "access_denied",
"message": "Токен не вказано"
}{
"error": "internal_error",
"message": "Не вдалося отримати залишки. Зверніться до постачальника"
}Content-Type: application/json; charset=utf-8Если цена не передана, ранее сохранённую цену изменять не нужно. При ошибке запроса прежние данные следует сохранить. Токен доступа конфиденциален.