crm.currency.update
Обновить валюту
Описание
Метод обновляет существующую валюту.
Параметры
ID
string
необязательный
Идентификатор валюты.
Соответствует стандарту ISO 4217.
Идентификатор можно получить методом crm.currency.list
fields
object
необязательный
Значения полей (подробное описание приведено ниже) для обновления валюты в виде структуры:
fields: {
SORT: 'значение'
AMOUNT_CNT: 'значение',
AMOUNT: 'значение'
BASE: 'значение',
LANG: {
lang_1: {
DECIMALS: 'значение',
DEC_POINT: 'значение',
...
},
...
lang_N: {
...
}
}
}Параметр fields
SORT
integer
необязательный
Положение в списке валют.
Значение по умолчанию — 100
AMOUNT_CNT
integer
обязательный
Номинал. В качестве номинала чаще всего используется 1 или число кратное 10
AMOUNT
double
обязательный
Курс обмена по отношению к базовой валюте
BASE
string
необязательный
Признак, является ли валюта базовой.
Возможные значения:
- Y — да
- N — нет
Значение по умолчанию — N.
Не рекомендуется менять базовую валюту через REST. Иначе необходимо будет изменить курсы всех валют
LANG
object
необязательный
Параметры локализации валюты.
Объект в формате {"lang_1": "value_1", ... "lang_N": "value_N"}, где lang_N — идентификатор языка, а value — объект типа crm_currency_localization.
Если указать не все языки, для оставшихся будут использоваться параметры локализации по умолчанию
Параметр LANG
DECIMALS
integer
обязательный
Число десятичных знаков дробной части
DEC_POINT
string
необязательный
Десятичная точка при выводе
FORMAT_STRING
string
необязательный
Шаблон формата
FULL_NAME
string
необязательный
Название валюты на языке, для которого добавляется локализация
HIDE_ZERO
string
необязательный
Признак, скрывать незначащие нули или нет
THOUSANDS_SEP
string
необязательный
Разделитель триад
THOUSANDS_VARIANT
string
необязательный
Код разделителя триад.
Допустимые значения смотрите в справочнике crm_currency_localization
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":"CNY","fields":{"AMOUNT":15.3449}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.currency.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":"CNY","fields":{"AMOUNT":15.3449},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.currency.update
// This snippet is an ES module: top-level await requires type="module" or a bundler.
// $b24 is an already-initialized SDK instance (see the SDK "Get started" guide).
import { Text } from '@bitrix24/b24jssdk'
import type { B24Frame } from '@bitrix24/b24jssdk'
declare const $b24: B24Frame
try {
const response = await $b24.actions.v2.call.make<boolean>({
method: 'crm.currency.update',
params: {
ID: 'CNY',
fields: {
AMOUNT: 15.3449,
},
},
requestId: Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
} else {
const result = response.getData()!.result
console.info('Currency updated:', result)
}
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
<!-- Load the SDK (UMD build); it is exposed as the global B24Js -->
<script src="https://unpkg.com/@bitrix24/b24jssdk@1/dist/umd/index.min.js"></script>
<script>
async function updateCurrency() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'crm.currency.update',
params: {
ID: 'CNY',
fields: {
AMOUNT: 15.3449,
},
},
requestId: B24Js.Text.getUuidRfc4122()
})
// The payload is available only on a successful response
if (!response.isSuccess) {
console.error(response.getErrorMessages().join('; '))
return
}
const result = response.getData().result
console.info('Currency updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateCurrency)
</script>
from b24pysdk.errors import BitrixAPIError, BitrixSDKException
try:
bitrix_response = client.crm.currency.update(
bitrix_id="CNY",
fields={
"AMOUNT": 15.3449,
},
).response
result = bitrix_response.result
print(result)
except BitrixAPIError as error:
print(
"Ошибка Bitrix API",
f"error: {error.error}",
f"error_description: {error.error_description}",
sep="\n",
)
except BitrixSDKException as error:
print(f"Ошибка Bitrix SDK: {error.message}")
except Exception as error:
print(f"Непредвиденная ошибка: {error}")
require_once('crest.php');
$result = CRest::call(
'crm.currency.update',
[
'ID' => 'CNY',
'fields' => [
'AMOUNT' => 15.3449,
]
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.currency.update", b24.Params{
"ID": "CNY",
"fields": b24.Params{
"AMOUNT": 15.3449,
},
})
if err != nil {
return fmt.Errorf("crm.currency.update: %w", err)
}
var ok bool
if err := json.Unmarshal(res.Result, &ok); err != nil {
return fmt.Errorf("разбор ответа: %w", err)
}
fmt.Println("выполнено:", ok)
Ответ
HTTP-статус: 200
{
"result": true,
"time": {
"start": 1717764521.938284,
"finish": 1717764522.516576,
"duration": 0.5782921314239502,
"processing": 0.07656002044677734,
"date_start": "2024-06-07T14:48:41+02:00",
"date_finish": "2024-06-07T14:48:42+02:00",
"operating": 0
}
}
Возвращаемые данные
result
boolean
Результат обновления валюты
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Access denied."
}
| Код | Описание | Значение |
|---|---|---|
Пустая строка |
Access denied. | Недостаточно прав доступа |
Пустая строка |
Модуль "Валюты" не найден! Пожалуйста, установите модуль "Валюты". | |
ERROR_CODE |
Другие ошибки в данных для изменения валюты |

