#Поля товаров счёта
GET /v1/invoices/:id/products/fields
Возвращает описание полей товарных позиций счёта: названия, типы, доступность для чтения и записи.
#Параметры
| Параметр | Тип | Обяз. | Описание |
|---|---|---|---|
id (path) |
number | да | ID счёта |
#Примеры
#curl — личный ключ
curl "https://vibecode.bitrix24.tech/v1/invoices/741/products/fields" \
-H "X-Api-Key: YOUR_API_KEY"
#curl — OAuth-приложение
curl "https://vibecode.bitrix24.tech/v1/invoices/741/products/fields" \
-H "X-Api-Key: YOUR_APP_KEY" \
-H "Authorization: Bearer USER_SESSION_TOKEN"
#JavaScript — личный ключ
const res = await fetch('https://vibecode.bitrix24.tech/v1/invoices/741/products/fields', {
headers: {
'X-Api-Key': 'YOUR_API_KEY',
},
})
const { success, data } = await res.json()
console.log('Полей:', Object.keys(data).length)
#JavaScript — OAuth-приложение
const res = await fetch('https://vibecode.bitrix24.tech/v1/invoices/741/products/fields', {
headers: {
'X-Api-Key': 'YOUR_APP_KEY',
'Authorization': 'Bearer USER_SESSION_TOKEN',
},
})
const { success, data } = await res.json()
#Поля ответа
| Поле | Тип | RO | Обяз. | Описание |
|---|---|---|---|---|
id |
integer | да | ID позиции | |
productId |
integer | да | ID товара. Каталог: GET /v1/products |
|
productName |
string | Название товара | ||
price |
double | Цена | ||
quantity |
double | Количество | ||
discountSum |
double | Сумма скидки | ||
discountRate |
double | Величина скидки (%) | ||
discountTypeId |
integer | Тип скидки | ||
taxRate |
double | Налог (%) | ||
taxIncluded |
char | Налог включён в цену (Y/N) |
||
priceExclusive |
double | да | Цена без налога со скидкой | |
priceNetto |
double | да | Цена нетто | |
priceBrutto |
double | да | Цена брутто | |
measureCode |
integer | Код единицы измерения | ||
measureName |
string | Единица измерения | ||
customized |
char | Изменён (Y/N) |
||
sort |
integer | Сортировка | ||
type |
integer | да | Тип | |
storeId |
integer | да | ID склада | |
ownerId |
integer | да | ID владельца (счёта) | |
ownerType |
string | да | Тип владельца |
#Пример ответа
{
"success": true,
"data": {
"id": { "type": "integer", "isRequired": false, "isReadOnly": true, "title": "ID" },
"ownerId": { "type": "integer", "isRequired": true, "isReadOnly": false, "isImmutable": true, "title": "ID владельца" },
"ownerType": { "type": "string", "isRequired": true, "isReadOnly": false, "isImmutable": true, "title": "Тип владельца" },
"productId": { "type": "integer", "isRequired": true, "isReadOnly": false, "title": "Товар" },
"productName": { "type": "string", "isRequired": false, "isReadOnly": false, "title": "Название товара" },
"price": { "type": "double", "isRequired": false, "isReadOnly": false, "title": "Цена" },
"priceExclusive": { "type": "double", "isRequired": false, "isReadOnly": true, "title": "Цена без налога со скидкой" },
"priceNetto": { "type": "double", "isRequired": false, "isReadOnly": true, "title": "PRICE_NETTO" },
"priceBrutto": { "type": "double", "isRequired": false, "isReadOnly": true, "title": "PRICE_BRUTTO" },
"quantity": { "type": "double", "isRequired": false, "isReadOnly": false, "title": "Количество" },
"discountTypeId": { "type": "integer", "isRequired": false, "isReadOnly": false, "title": "Тип скидки" },
"discountRate": { "type": "double", "isRequired": false, "isReadOnly": false, "title": "Величина скидки" },
"discountSum": { "type": "double", "isRequired": false, "isReadOnly": false, "title": "Сумма скидки" },
"taxRate": { "type": "double", "isRequired": false, "isReadOnly": false, "title": "Налог" },
"taxIncluded": { "type": "char", "isRequired": false, "isReadOnly": false, "title": "Налог включен в цену" },
"customized": { "type": "char", "isRequired": false, "isReadOnly": false, "title": "Изменен" },
"measureCode": { "type": "integer", "isRequired": false, "isReadOnly": false, "title": "Код единицы измерения" },
"measureName": { "type": "string", "isRequired": false, "isReadOnly": false, "title": "Единица измерения" },
"sort": { "type": "integer", "isRequired": false, "isReadOnly": false, "title": "Сортировка" },
"type": { "type": "integer", "isRequired": false, "isReadOnly": true, "title": "TYPE" },
"storeId": { "type": "integer", "isRequired": false, "isReadOnly": true, "title": "STORE_ID" }
}
}
#Пример ответа при ошибке
404 — счёт не найден:
{
"success": false,
"error": {
"code": "ENTITY_NOT_FOUND",
"message": "Элемент не найден"
}
}
#Ошибки
| HTTP | Код | Описание |
|---|---|---|
| 404 | ENTITY_NOT_FOUND |
Счёт не найден |
| 403 | SCOPE_DENIED |
API-ключ не имеет скоупа crm |
| 401 | TOKEN_MISSING |
API-ключ не имеет настроенных токенов |
Полный список общих ошибок API — Ошибки.
#Смотрите также
- Товарные позиции — получить товары счёта
- Добавить товар — добавить позицию
- Установить товары — заменить все позиции
- Поля счёта — описание полей счёта