Для AI-агентов: markdown этой страницы — /docs-content/entities/invoices/products-get-single.md индекс документации — /llms.txt

Получить товар из счёта

GET /v1/invoices/:id/products/:rowId

Возвращает одну товарную позицию счёта по ID строки.

Параметры

Параметр Тип Обяз. Описание
id (path) number да ID счёта
rowId (path) number да ID товарной строки (из ответа add или list)

rowId — это ID товарной строки, а не productId из каталога товаров.

Примеры

curl — личный ключ

Terminal
curl -X GET "https://vibecode.bitrix24.tech/v1/invoices/741/products/1471" \
  -H "X-Api-Key: YOUR_API_KEY"

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

Terminal
curl -X GET "https://vibecode.bitrix24.tech/v1/invoices/741/products/1471" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN"

JavaScript — личный ключ

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/invoices/741/products/1471', {
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
  },
})

const { success, data } = await res.json()
console.log('Цена:', data.price)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/invoices/741/products/1471', {
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
  },
})

const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data.id number ID товарной строки
data.productId number ID товара из каталога
data.productName string Название товара
data.price number Цена за единицу
data.quantity number Количество
data.discount number Сумма скидки
data.discountRate number Процент скидки
data.discountTypeId number Тип скидки — 1 означает сумму, 2 процент
data.taxRate number | null Ставка налога (%)
data.taxIncluded boolean Налог включён в цену
data.priceExclusive number Цена без налога со скидкой
data.priceNetto number Цена нетто
data.priceBrutto number Цена брутто
data.priceAccount number Цена в валюте отчёта
data.measureCode number Код единицы измерения
data.measureName string Название единицы измерения
data.sort number Сортировка
data.ownerId number ID сущности-владельца, которой принадлежит позиция
data.ownerType string Тип владельца позиции, у счёта — SI
data.storeId number | null ID склада. Список: GET /v1/warehouses. null, если складской учёт выключен
data.customized string Изменена ли позиция вручную — Y или N
data.xmlId string Внешний код позиции
data.type number Тип позиции

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

JSON
{
  "success": true,
  "data": {
    "id": 1471,
    "productId": 1,
    "productName": "Серверное оборудование",
    "price": 5000,
    "priceAccount": 5000,
    "priceExclusive": 5000,
    "priceNetto": 5000,
    "priceBrutto": 5000,
    "quantity": 3,
    "discountTypeId": 2,
    "discountRate": 0,
    "discount": 0,
    "taxRate": null,
    "taxIncluded": false,
    "customized": "Y",
    "measureCode": 796,
    "measureName": "шт",
    "sort": 0,
    "ownerId": 741,
    "ownerType": "SI",
    "storeId": 3,
    "xmlId": "sale_basket_995",
    "type": 1
  }
}

Пример ответа при ошибке

404 — счёт или товарная строка не найдены:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "Элемент не найден"
  }
}

Ошибки

HTTP Код Описание
404 ENTITY_NOT_FOUND Счёт или товарная строка не найдены
400 INVALID_ROW_ID rowId в адресе не целое положительное число
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING API-ключ не имеет настроенных токенов

Полный список общих ошибок API — Ошибки.

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