Для AI-агентов: markdown этой страницы — /docs-content/entities/basket-item-properties/list.md индекс документации — /llms.txt
Список свойств позиций корзины
GET /v1/basket-item-properties
Возвращает свойства позиций корзины с фильтрацией, сортировкой и автоматической пагинацией. Свойства одной позиции выбираются фильтром по её идентификатору.
Параметры
| Параметр | Тип | По умолч. | Описание |
|---|---|---|---|
filter |
object | — | Фильтрация по полям GET /v1/basket-item-properties/fields: id, basketId, name, value, code, sort, xmlId.Синтаксис фильтрации. Пример: ?filter[basketId]=9. Источник basketId: GET /v1/basket-items |
select |
string | — | Поля через запятую: ?select=id,basketId,value. Неизвестное имя не вызывает ошибку и отмечается в meta.warnings с кодом UNKNOWN_SELECT_FIELD |
sort |
string | — | Сортировка кратким синтаксисом: ?sort=-id, минус означает убывание |
order |
object | — | Сортировка объектом: ?order[id]=desc |
limit |
number | 50 |
Количество записей, от 1 до 5000 |
offset |
number | 0 |
Количество записей, которые нужно пропустить |
withTotal |
string | — | Принимается как true или false, но для свойств позиций корзины не меняет подсчёт и наличие meta.total |
Пагинация. При limit > 50 Вайбкод автоматически читает несколько страниц по 50 записей и объединяет их в один ответ. Для следующей выборки увеличьте offset на количество полученных записей. Продолжайте, пока meta.hasMore равен true.
Примеры
curl — личный ключ
curl -g "https://vibecode.bitrix24.tech/v1/basket-item-properties?filter[basketId]=9" \
-H "X-Api-Key: YOUR_API_KEY"
curl — OAuth-приложение
curl -g "https://vibecode.bitrix24.tech/v1/basket-item-properties?filter[basketId]=9" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/basket-item-properties?filter[basketId]=9', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data, meta } = await res.json()
console.log(`Свойств у позиции: ${meta.total}`)
JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/basket-item-properties?filter[basketId]=9', {
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[].id |
number | Идентификатор свойства |
data[].basketId |
number | Идентификатор позиции корзины. Источник: GET /v1/basket-items |
data[].name |
string | Название свойства |
data[].value |
string | null | Значение свойства |
data[].code |
string | null | Символьный код свойства |
data[].sort |
number | Порядок сортировки свойства внутри позиции |
data[].xmlId |
string | null | Внешний идентификатор |
meta.total |
number | Общее количество свойств, соответствующих фильтру |
meta.hasMore |
boolean | Есть ли записи за пределами текущей выборки |
meta.warnings |
array | Предупреждения о параметрах, с полями code, message, field. Поле приходит, только если предупреждения есть |
Пример ответа
{
"success": true,
"data": [
{
"basketId": 9,
"code": "CATALOG.XML_ID",
"id": 17,
"name": "Catalog XML_ID",
"sort": 100,
"value": "FUTURE-1C-CATALOG",
"xmlId": "bx_5fc9f8c57ff3e"
},
{
"basketId": 9,
"code": "PRODUCT.XML_ID",
"id": 19,
"name": "Product XML_ID",
"sort": 100,
"value": "1000000475",
"xmlId": "bx_5fc9f8c57ffb2"
}
],
"meta": {
"total": 2,
"hasMore": false
}
}
Пример ответа при ошибке
400 — фильтр по неизвестному полю:
{
"success": false,
"error": {
"code": "UNKNOWN_FILTER_FIELD",
"message": "Unknown filter field 'foo' for entity 'basket-item-properties'. Available: id, basketId, name, value, code, sort, xmlId"
}
}
Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 400 | UNKNOWN_FILTER_FIELD |
Фильтр по полю, которого нет в схеме. Сообщение перечисляет доступные поля |
| 400 | INVALID_FILTER_OPERATOR |
Неизвестный оператор в условии фильтра. Сообщение перечисляет поддерживаемые |
| 400 | INVALID_FILTER |
filter не записан ни скобками, ни JSON-объектом, в одном запросе смешаны обе формы записи либо условие не удалось применить |
| 400 | UNKNOWN_SORT_FIELD |
Сортировка по полю, которого нет в схеме |
| 400 | INVALID_SORT_DIRECTION |
Направление в объекте сортировки не из списка asc, desc, ASC, DESC |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа sale |
| 401 | MISSING_API_KEY |
Не передан заголовок X-Api-Key |
| 401 | TOKEN_MISSING |
Нет настроенных токенов доступа к Битрикс24 |
| 429 | RATE_LIMITED |
Превышен лимит запросов. Точное значение — в заголовке x-ratelimit-limit. Повторите после срока из заголовка Retry-After |
Полный список общих ошибок API — Коды ошибок.
Известные особенности
Свойства всех позиций заказа. Фильтра по заказу у свойств нет. Сначала получите идентификаторы позиций заказа: GET /v1/basket-items с фильтром ?filter[orderId]=33&select=id, где orderId берётся из GET /v1/orders. Затем передайте их списком: ?filter[basketId][]=9&filter[basketId][]=1005.
Несуществующая позиция. Фильтр по basketId позиции, которой нет на портале, возвращает пустой data с meta.total, равным 0, а не ошибку.