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

Обновить единицу измерения

PATCH /v1/catalog-measures/:id

Частично обновляет существующую единицу измерения в справочнике торгового каталога. Передаются только изменяемые поля, тело плоское — без обёртки fields.

Параметры

Параметр Тип Обяз. Описание
id (path) number да Идентификатор единицы измерения. Список: GET /v1/catalog-measures

Поля запроса (body)

Поле Тип Обяз. Описание
code number нет Код единицы по Общероссийскому классификатору единиц измерения (ОКЕИ), целое число. Уникален на портале. null не принимается
measureTitle string нет Название единицы измерения
symbol string | null нет Краткое обозначение. null очищает поле
symbolIntl string | null нет Международное обозначение. null очищает поле
symbolLetterIntl string | null нет Международное буквенное обозначение. null очищает поле
isDefault string нет Единица по умолчанию: Y или N. null не принимается
id number нет RO. Идентификатор задаётся только в пути. В теле отклоняется с 400 READONLY_FIELD

Очистка через null работает только в одиночном запросе — об ограничении пакетной записи см. Единицы измерения каталога.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-measures/17" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "measureTitle": "Тест документации 2"
  }'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/catalog-measures/17" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "measureTitle": "Тест документации 2"
  }'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-measures/17', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    measureTitle: 'Тест документации 2',
  }),
})

const { success, data } = await res.json()
console.log('Measure title:', data.measureTitle)

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/catalog-measures/17', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    measureTitle: 'Тест документации 2',
  }),
})

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

Поля ответа

Возвращается запись целиком после обновления, включая поля, которые не менялись.

Поле Тип Описание
success boolean Всегда true при успехе
data.id number Идентификатор единицы измерения
data.code number Код единицы по ОКЕИ
data.measureTitle string | null Название единицы измерения
data.symbol string | null Краткое обозначение
data.symbolIntl string | null Международное обозначение
data.symbolLetterIntl string | null Международное буквенное обозначение
data.isDefault string Y — единица по умолчанию, N — нет
meta.warnings array Приходит, только если в теле есть поле, которого нет среди полей единицы измерения. Элемент — code: "UNRECOGNIZED_WRITE_FIELD", field с именем поля и message. Объект fields на маршруте, который сам оборачивает карту полей и где схема не объявляет fields, отклоняется с 400 NESTED_FIELDS_ENVELOPE; передавайте поля плоско в корне JSON.

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

JSON
{
  "success": true,
  "data": {
    "code": 9917,
    "id": 17,
    "isDefault": "N",
    "measureTitle": "Тест документации 2",
    "symbol": "тд",
    "symbolIntl": "td",
    "symbolLetterIntl": "TDC"
  }
}

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

404 — единицы измерения с таким id нет:

JSON
{
  "success": false,
  "error": {
    "code": "ENTITY_NOT_FOUND",
    "message": "measure does not exist."
  }
}

Ошибки

HTTP Код Описание
404 ENTITY_NOT_FOUND Единицы измерения с таким id нет на портале
400 INVALID_PARAMS id в пути — не целое неотрицательное число. Сообщение id must be a non-negative integer
400 INVALID_PARAMS code — не целое число, например 1.5
400 INVALID_PARAMS В code или isDefault передан null
400 INVALID_PARAMS isDefault отличается от Y и N
400 EMPTY_UPDATE_BODY Тело запроса пустое — передайте хотя бы одно поле
400 NESTED_FIELDS_ENVELOPE В теле передан объект fields вместо корневых полей; единица не обновляется
400 READONLY_FIELD В теле передан id
422 BITRIX_ERROR Новый code уже занят другой единицей на портале. Сообщение Duplicate entry for key [code], в ответе также приходит error.b24Code
403 SCOPE_DENIED API-ключ не имеет скоупа catalog
401 TOKEN_MISSING API-ключ не имеет настроенных токенов
401 MISSING_API_KEY Не передан заголовок X-Api-Key

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

Известные особенности

Неизвестное скалярное поле не останавливает запрос. Если в теле есть только неизвестное скалярное поле, ответ приходит со статусом 200, запись не меняется, а о пропущенном поле говорит предупреждение в meta.warnings. Объект fields отклоняется с 400 NESTED_FIELDS_ENVELOPE до обновления: передавайте поля в корне JSON. Сверяйте имена с GET /v1/catalog-measures/fields, а успех проверяйте по значениям в data, а не только по success.

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