#Сводные остатки по товарам
GET /v1/warehouses/stock/totals
Складывает остатки каждого товара по всем складам портала. Для товара возвращает суммарное количество, суммарный резерв и список складов, где товар представлен. Только для чтения.
#Параметры запроса
| Параметр | Тип | По умолч. | Описание |
|---|---|---|---|
productId |
number | — | Свести остатки только по одному товару |
limit |
number | — | Сколько товаров вернуть в ответе |
offset |
number | 0 |
Смещение по списку товаров |
#Примеры
#curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/warehouses/stock/totals?productId=200" \
-H "X-Api-Key: YOUR_API_KEY"
#curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/warehouses/stock/totals?productId=200" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/warehouses/stock/totals', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/warehouses/stock/totals', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data, meta } = await res.json()
#Поля ответа
| Поле | Тип | Описание |
|---|---|---|
success |
boolean | Всегда true при успехе |
data |
array | Сводка по товарам |
data[].productId |
number | Идентификатор товара — см. Товары каталога |
data[].amount |
number | Суммарное количество товара по всем складам |
data[].quantityReserved |
number | Суммарный резерв товара по всем складам |
data[].storeIds |
array | Идентификаторы складов, где товар представлен |
meta.total |
number | Количество товаров в ответе |
meta.rawTotal |
number | Количество исходных строк остатков, обработанных при агрегации |
meta.truncated |
boolean | true, если исходных строк остатков больше 5000 и часть не вошла в свод |
#Пример ответа
{
"success": true,
"data": [
{
"productId": 200,
"amount": 25,
"quantityReserved": 30,
"storeIds": [1, 2, 5]
}
],
"meta": {
"total": 1,
"truncated": false,
"rawTotal": 3
}
}
#Пример ответа при ошибке
400 — некорректный productId:
{
"success": false,
"error": {
"code": "INVALID_PARAMS",
"message": "productId must be a positive integer"
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | INVALID_PARAMS |
productId, limit или offset заданы некорректно |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа catalog |
| 502 | BITRIX_UNAVAILABLE |
Битрикс24 недоступен |
Полный список общих ошибок API — Ошибки.
#Известные особенности
Суммирование по товару. Количество и резерв одного товара суммируются по всем складам, где он представлен. Список таких складов — в storeIds. Если на отдельном складе количество не задано, при суммировании оно считается нулём.
Ограничение свода. Свод считается по первым 5000 строкам остатков. Если строк больше, meta.truncated равно true, и свод получается неполным. В этом случае сузьте выборку параметром productId.