Валюты

Справочник валют портала с курсами обмена. ID валюты — строковый код (RUB, USD, EUR).

Bitrix24 API: crm.currency.* Скоуп: crm

Создать валюту

POST /v1/currencies

Создаёт новую валюту в CRM. Код валюты задаётся в поле id (трёхбуквенный код ISO 4217).

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

Параметр Тип Обязат. Описание
id string да Код валюты (RUB, USD, EUR)
amount number да Курс обмена относительно базовой валюты
amountCnt number да Номинал — для большинства валют равен 1, для JPY 100
sort number Порядок сортировки
fullName string Название валюты
formatString string Шаблон отображения, например # ₽
decimals number Число знаков после запятой
decPoint string Десятичный разделитель
thousandsSep string Разделитель тысяч

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

Примеры

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/currencies" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"id": "CNY", "amount": 12.7, "amountCnt": 1, "sort": 300, "fullName": "Китайский юань"}'

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

Terminal
curl -X POST "https://vibecode.bitrix24.tech/v1/currencies" \
  -H "X-Api-Key: YOUR_APP_KEY" \
  -H "Authorization: Bearer USER_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"id": "CNY", "amount": 12.7, "amountCnt": 1, "sort": 300, "fullName": "Китайский юань"}'

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/currencies', {
  method: 'POST',
  headers: { 'X-Api-Key': 'YOUR_API_KEY', 'Content-Type': 'application/json' },
  body: JSON.stringify({ id: 'CNY', amount: 12.7, amountCnt: 1, sort: 300, LANG: { ru: { FULL_NAME: 'Китайский юань' } } }),
})
const { success, data } = await res.json()

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

javascript
const res = await fetch('https://vibecode.bitrix24.tech/v1/currencies', {
  method: 'POST',
  headers: {
    'X-Api-Key': 'YOUR_APP_KEY',
    'Authorization': 'Bearer USER_SESSION_TOKEN',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ id: 'CNY', amount: 12.7, amountCnt: 1, sort: 300, LANG: { ru: { FULL_NAME: 'Китайский юань' } } }),
})
const { success, data } = await res.json()

Поля ответа

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

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

Успешный запрос возвращает полный объект созданной валюты со статусом 201.

JSON
{
  "success": true,
  "data": {
    "id": "CNY",
    "fullName": "Китайский юань",
    "amount": 12.7,
    "amountCnt": 1,
    "base": false,
    "sort": 300,
    "lid": "ru",
    "formatString": "# ¥",
    "decimals": 2,
    "decPoint": ".",
    "thousandsSep": " ",
    "dateUpdate": "2024-11-12T07:20:08.000Z"
  }
}

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

JSON
{
  "success": false,
  "error": { "code": "BITRIX_ERROR", "message": "Currency already exists" }
}

Ошибки

HTTP Код Описание
422 BITRIX_ERROR Ошибка Bitrix24 (дубликат кода и др.)
403 SCOPE_DENIED API-ключ не имеет скоупа crm
401 TOKEN_MISSING Не передан API-ключ

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

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