Коротко — как любое пользовательское поле в Битрикс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/массив, который вы видите,
я подскажу точный формат значения для этого поля и пример запроса под ваш случай.