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Якщо ціна не передана, раніше збережену ціну змінювати не потрібно. У разі помилки запиту попередні дані слід зберегти. Токен доступу є конфіденційним.