crm.company.update
Обновить существующую компанию
Описание
Метод crm.company.update обновляет существующую компанию.
Параметры
id
integer
обязательный
Идентификатор компании
fields
object
обязательный
Объект формата:
{
field_1: value_1,
field_2: value_2,
...,
field_n: value_n,
}
где:
- field_n — название поля
- value_n — новое значение поля
Список доступных полей описан в методе crm.company.fields.
Некорректное поле в fields будет проигнорировано
params
object
необязательный
Объект, содержащий набор дополнительных параметров:
REGISTER_SONET_EVENT— отправить уведомление ответственномуREGISTER_HISTORY_EVENT— регистрировать событие в истории. Возможные значения:
-Y— да
-N— нет
Параметр fields
TITLE
string
необязательный
Название компании
COMPANY_TYPE
crm_status
необязательный
Тип компании. Значения можно получить методом crm.status.list с фильтром по ENTITY_ID=COMPANY_TYPE
LOGO
file
необязательный
Логотип
INDUSTRY
crm_status
необязательный
Сфера деятельности. Значения можно получить методом crm.status.list с фильтром по ENTITY_ID=INDUSTRY
EMPLOYEES
crm_status
необязательный
Количество сотрудников. Значения можно получить методом crm.status.list с фильтром по ENTITY_ID=EMPLOYEES
CURRENCY_ID
crm_currency
необязательный
Валюта
REVENUE
double
необязательный
Годовой оборот
OPENED
char
необязательный
Доступна ли компания для всех. Возможные значения:
- Y — да
- N — нет
COMMENTS
string
необязательный
Комментарий
ASSIGNED_BY_ID
user
необязательный
Ответственный
CONTACT_ID
crm_contact
необязательный
Контакт. Множественное
ORIGINATOR_ID
string
необязательный
Идентификатор источника данных. Используется только для привязки к внешнему источнику
ORIGIN_ID
string
необязательный
Идентификатор элемента в источнике данных. Используется только для привязки к внешнему источнику
ORIGIN_VERSION
string
необязательный
Оригинальная версия. Используется для защиты данных от случайного перетирания внешней системой
UTM_SOURCE
string
необязательный
Рекламная система. Yandex-Direct, Google-Adwords и другие
UTM_MEDIUM
string
необязательный
Тип трафика. Возможные значения:
- CPC — объявления
- CPM — баннеры
UTM_CAMPAIGN
string
необязательный
Обозначение рекламной кампании
UTM_CONTENT
string
необязательный
Содержание кампании. Например, для контекстных объявлений
UTM_TERM
string
необязательный
Условие поиска кампании. Например, ключевые слова контекстной рекламы
PARENT_ID_...
необязательный
Поля связей.
Если на портале есть смарт-процессы, связанные с компаниями, для каждого такого смарт-процесса существует поле, хранящее связь между этим смарт-процессом и компанией. Само поле хранит идентификатор элемента такого смарт-процесса
PHONE
crm_multifield[]
необязательный
Телефон. Множественное
EMAIL
crm_multifield[]
необязательный
E-mail. Множественное
WEB
crm_multifield[]
необязательный
Сайт. Множественное
IM
crm_multifield[]
необязательный
Мессенджер. Множественное
LINK
crm_multifield[]
необязательный
LINK. Множественное
UF_...
необязательный
Пользовательские поля. Например, UF_CRM_25534736.
В зависимости от настроек портала у компаний может быть набор пользовательских полей определенных типов.
Добавить пользовательское поле в компанию можно с помощью метода crm.company.userfield.add
Примеры запроса
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":43,"FIELDS":{"CURRENCY_ID":"RUB","REVENUE":500000,"EMPLOYEES":"EMPLOYEES_3"},"PARAMS":{"REGISTER_SONET_EVENT":"Y","REGISTER_HISTORY_EVENT":"Y"}}' \
https://**put_your_bitrix24_address**/rest/**put_your_user_id_here**/**put_your_webhook_here**/crm.company.update
curl -X POST \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{"ID":43,"FIELDS":{"CURRENCY_ID":"RUB","REVENUE":500000,"EMPLOYEES":"EMPLOYEES_3"},"PARAMS":{"REGISTER_SONET_EVENT":"Y","REGISTER_HISTORY_EVENT":"Y"},"auth":"**put_access_token_here**"}' \
https://**put_your_bitrix24_address**/rest/crm.company.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.company.update',
params: {
id: 43,
fields: {
CURRENCY_ID: 'RUB',
REVENUE: 500000,
EMPLOYEES: 'EMPLOYEES_3',
},
params: { REGISTER_SONET_EVENT: 'Y' },
},
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('Company 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 updateCompany() {
try {
// Initialize the SDK inside a Bitrix24 frame
const $b24 = await B24Js.initializeB24Frame()
const response = await $b24.actions.v2.call.make({
method: 'crm.company.update',
params: {
id: 43,
fields: {
CURRENCY_ID: 'RUB',
REVENUE: 500000,
EMPLOYEES: 'EMPLOYEES_3',
},
params: { REGISTER_SONET_EVENT: 'Y' },
},
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('Company updated:', result)
} catch (error) {
// Thrown on transport or SDK failures (AjaxError, SdkError, etc.)
console.error(error)
}
}
document.addEventListener('DOMContentLoaded', updateCompany)
</script>
$id = readline("Введите ID");
try {
$response = $b24Service
->core
->call(
'crm.company.update',
[
'id' => $id,
'fields' => [
'CURRENCY_ID' => 'RUB',
'REVENUE' => 500000,
'EMPLOYEES' => 'EMPLOYEES_3',
],
'params' => ['REGISTER_SONET_EVENT' => 'Y'],
]
);
$result = $response
->getResponseData()
->getResult();
if ($result->error()) {
error_log($result->error());
} else {
echo 'Success: ' . print_r($result->data(), true);
}
} catch (Throwable $e) {
error_log($e->getMessage());
echo 'Error updating company: ' . $e->getMessage();
}
var id = prompt("Введите ID");
BX24.callMethod(
"crm.company.update",
{
id: id,
fields:
{
"CURRENCY_ID": "RUB",
"REVENUE" : 500000,
"EMPLOYEES": "EMPLOYEES_3"
},
params: { "REGISTER_SONET_EVENT": "Y" }
},
function(result)
{
if(result.error())
console.error(result.error());
else
{
console.info(result.data());
}
}
);
require_once('crest.php');
$result = CRest::call(
'crm.company.update',
[
'id' => 43,
'fields' => [
'CURRENCY_ID' => 'RUB',
'REVENUE' => 500000,
'EMPLOYEES' => 'EMPLOYEES_3',
],
'params' => [
'REGISTER_SONET_EVENT' => 'Y',
'REGISTER_HISTORY_EVENT' => 'Y',
],
]
);
echo '<PRE>';
print_r($result);
echo '</PRE>';
// client и ctx уже созданы — см. раздел «SDK для Go»
res, err := client.Core().Call(ctx, "crm.company.update", b24.Params{
"id": 43,
"fields": b24.Params{
"CURRENCY_ID": "RUB",
"REVENUE": 500000,
"EMPLOYEES": "EMPLOYEES_3",
},
"params": b24.Params{
"REGISTER_SONET_EVENT": "Y",
"REGISTER_HISTORY_EVENT": "Y",
},
})
if err != nil {
return fmt.Errorf("crm.company.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": 1769499930,
"finish": 1769499931.074515,
"duration": 1.0745151042938232,
"processing": 1,
"date_start": "2026-01-27T10:45:30+03:00",
"date_finish": "2026-01-27T10:45:31+03:00",
"operating_reset_at": 1769500530,
"operating": 0.2604348659515381
}
}
Возвращаемые данные
result
boolean
Корневой элемент ответа, возвращает true в случае успеха
time
time
Информация о времени выполнения запроса
Обработка ошибок
HTTP-статус: 400
{
"error": "",
"error_description": "Company is not found"
}
| Код | Описание | Значение |
|---|---|---|
| — | Parameter 'fields' must be array | В параметр fields передан не объект |
| — | Parameter 'params' must be array | В параметр params передан не объект |
| — | Access denied | У пользователя нет права «Изменение» компаний |
| — | Исчерпан выделенный дисковый ресурс | |
ERROR_CORE |
Поле E-mail содержит некорректный адрес |
Поле E-mail содержит некорректный адрес |

