Как обновить пользовательские поля?

В карточке лида присутствуют следующие поля: <br/> <pre><code>[UF_CRM_1761220670619] =&gt; Array
  • 5 мая 2026 г. 11:03
Ответы на вопрос 2
Коротко — как любое пользовательское поле в Битрикс24: вызвать метод crm.lead.update и передать в параметры поле UF_CRM_... с нужным значением. Несколько важных моментов — как именно формировать значение зависит от типа поля (строка, привязка к пользователю, множественный список, файл и т.п.). Ниже — пошагово и с примерами.

1) Узнать тип поля и его возможности
- Вызовите crm.lead.fields, чтобы увидеть метаданные поля (тип, множественность, список значений):
  - REST: crm.lead.fields

2) Обновление поля (REST)

Пример curl (вставьте свой портал, user/webhook/token и id лида):
- Для простого текстового/числового/строкового поля:
  curl -s -X POST "https://yourdomain.bitrix24.ru/rest/USER/WEBHOOK_TOKEN/crm.lead.update.json" \
   -d 'id=123' \
   -d 'fields[UF_CRM_1761220670619]=Новое значение'

- Для множественного списка (перечисление) — передать массив:
  curl -s -X POST "https://.../crm.lead.update.json" \
   -d 'id=123' \
   -d 'fields[UF_CRM_1761220670619][]=VALUE1' \
   -d 'fields[UF_CRM_1761220670619][]=VALUE2'

- Для поля «привязка к пользователю» (тип — user) передать id пользователя (или массив id, если множественное):
  -d 'fields[UF_CRM_1761220670619]=17'
  или
  -d 'fields[UF_CRM_1761220670619][]=17' -d 'fields[UF_CRM_1761220670619][]=23'

- Для логических (булевых) полей — 1/0 или true/false:
  -d 'fields[UF_CRM_1761220670619]=1'

- Для файлов — сначала загрузить файл на диск (disk.uploadfile или upload через REST), получить FILE_ID и передать его в поле в соответствии с метаданными (иногда через массив file_id или через привязку к сущности). Формат зависит от настройки поля, чаще требуется массив с ключом VALUE => FILE_ID.

3) Пример на JS (встраиваемый виджет/портал):
BX24.callMethod(
  'crm.lead.update',
  { id: 123, fields: { UF_CRM_1761220670619: 'Новое значение' } },
  function(result){ if(result.error()) console.error(result.error()); else console.log(result.data()); }
);

4) Пример на PHP (через REST webhook, простой curl):
<?php
$url = 'https://yourdomain.bitrix24.ru/rest/USER/WEBHOOK_TOKEN/crm.lead.update.json';
$data = [
  'id' => 123,
  'fields' => ['UF_CRM_1761220670619' => 'Новое значение']
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>

5) Проверка результата
- Получить обновлённый лид: crm.lead.get?id=123
- Либо смотреть ответ crm.lead.update — он вернёт true при успехе.

Если пришлёте:
- тип поля из crm.lead.fields (пример вывода для UF_CRM_1761220670619) или
- JSON/массив, который вы видите,
я подскажу точный формат значения для этого поля и пример запроса под ваш случай.
Множественные поля (isMultiple=1) принимают массив: <br/> <br/> <code>'UF_CRM_1761220670619' =&gt; [3905]</code> <br/> <br/> Строка вместо массива — поле не засчитывается как заполненное, отсюда ошибка про обязательные. UF_CRM_1753120953224 не множественное, там 2851 ок. <br/> <br/> p.s. STATUS_ID=LOST проверь через crm.status.list — у лидов дефолтный "потерянный" это JUNK, не LOST
Похожие вопросы