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

Обновить валюту

PATCH /v1/currencies/:id

Обновляет поля валюты по коду. Используйте для обновления курса обмена.

base и BASE — только для чтения. Попытка передать их в обновлении возвращает 400 READONLY_FIELD до вызова Битрикс24. Смена базовой валюты через API не поддерживается — только в интерфейсе Битрикс24.

Параметры пути

Параметр Тип Обяз. Описание
id (path) string да Код валюты: RUB, USD, EUR. Список: GET /v1/currencies

Параметры тела запроса

Параметр Тип Обяз. Описание
amount number нет Курс обмена
amountCnt number нет Количество единиц для курса
sort number нет Порядок сортировки
fullName string нет Название валюты
formatString string нет Шаблон отображения, например # ₽
decimals number нет Число знаков после запятой
decPoint string нет Десятичный разделитель
thousandsSep string нет Разделитель тысяч

Локализуемые поля можно передавать плоско. fullName, formatString, decimals, decPoint, thousandsSep API упаковывает в локализацию вашего языка (языка API-ключа), поэтому плоское обновление сохраняется и читается обратно. Сырой объект LANG в теле передавать нельзя — поле только для чтения, вернётся 400 READONLY_FIELD. Задание разных значений сразу для нескольких языков через API пока не поддерживается.

Примеры

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/currencies/USD" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"amount": 94.2}'

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

Terminal
curl -X PATCH "https://vibecode.bitrix24.tech/v1/currencies/USD" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount": 94.2}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/currencies/USD', {
  method: 'PATCH',
  headers: { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({ amount: 94.2 }),
})
const { success, data } = await res.json()

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/currencies/USD', {
  method: 'PATCH',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ amount: 94.2 }),
})
const { success, data } = await res.json()

Поля ответа

Поле Тип Описание
success boolean Всегда true при успехе
data object Валюта со всеми полями после записи
data.id string Код валюты (RUB, USD, EUR)
data.amountCnt number Количество единиц для курса
data.amount number Курс обмена
data.sort number Сортировка
data.base boolean Базовая валюта
data.fullName string Название (руб., $)
data.lid string Идентификатор сайта, к которому привязана валюта
data.formatString string Формат отображения
data.decPoint string Разделитель дробной части
data.thousandsSep string Разделитель тысяч
data.decimals number Знаков после запятой
data.dateUpdate datetime Дата последнего изменения
data.lang object Настройки отображения по языкам — формат, название, разделители. Ключ объекта — идентификатор языка, например ru

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

Объект lang сокращён до одного языка.

JSON
{
  "success": true,
  "data": {
    "id": "USD",
    "fullName": "Доллар США",
    "amount": 94.2,
    "amountCnt": 1,
    "base": false,
    "sort": 200,
    "lid": "ru",
    "formatString": "$#",
    "decimals": 2,
    "decPoint": ".",
    "thousandsSep": ",",
    "dateUpdate": "2024-11-12T07:20:08.000Z",
    "lang": {
      "ru": {
        "FORMAT_STRING": "$#",
        "FULL_NAME": "Доллар США",
        "DEC_POINT": ".",
        "THOUSANDS_SEP": ",",
        "DECIMALS": "2",
        "THOUSANDS_VARIANT": "C",
        "HIDE_ZERO": "Y"
      }
    }
  }
}

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

404 — валюты с таким кодом нет:

JSON
{
  "success": false,
  "error": { "code": "ENTITY_NOT_FOUND", "message": "Currency is not found" }
}

Ошибки

HTTP Код Описание
404 ENTITY_NOT_FOUND Валюта не найдена
400 READONLY_FIELD В теле передано поле только для чтения, например LANG или dateUpdate. Имя поля указано в message
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 MISSING_API_KEY Не передан заголовок X-Api-Key

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

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