Для 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 — личный ключ

Terminal
curl -g "https://vibecode.bitrix24.tech/v1/basket-item-properties?filter[basketId]=9" \
  -H "X-Api-Key: YOUR_API_KEY"

curl — OAuth-приложение

Terminal
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 — личный ключ

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-приложение

javascript
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. Поле приходит, только если предупреждения есть

Пример ответа

JSON
{
  "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 — фильтр по неизвестному полю:

JSON
{
  "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, а не ошибку.

Смотрите также