On this page
edit
Обновление лида
Примеры PHP-кода для обновления лида в Битрикс24.
Обновление существующего лида
Этот PHP-код позволяет обновить поля существующего лида в Битрикс24 по его ID.
use Bitrix\Crm\LeadTable;
use Bitrix\Main\Result;
$leadId = $this->GetRootActivity()->GetVariable("LeadID"); // ID лида для обновления
$fieldsToUpdate = $this->GetRootActivity()->GetVariable("FieldsToUpdate"); // Массив полей для обновления (JSON-строка)
$updateLeadStatus = "ERROR";
$updatedLeadId = 0;
$updateLeadErrorMessage = "";
if (empty($leadId)) {
$updateLeadErrorMessage = "КРИТИЧНО: Не указан ID лида для обновления.";
$this->WriteToTrackingService($updateLeadErrorMessage);
} elseif (empty($fieldsToUpdate)) {
$updateLeadErrorMessage = "КРИТИЧНО: Не указаны поля для обновления лида.";
$this->WriteToTrackingService($updateLeadErrorMessage);
} else {
$updateData = json_decode($fieldsToUpdate, true);
if (json_last_error() !== JSON_ERROR_NONE) {
$updateLeadErrorMessage = "КРИТИЧНО: Ошибка декодирования JSON для FieldsToUpdate: " . json_last_error_msg();
$this->WriteToTrackingService($updateLeadErrorMessage);
} else {
/** @var Result $result */
$result = LeadTable::update($leadId, $updateData);
if ($result->isSuccess()) {
$updateLeadStatus = "SUCCESS";
$updatedLeadId = $leadId;
} else {
$updateLeadStatus = "ERROR";
$updateLeadErrorMessage = implode(", ", $result->getErrorMessages());
$this->WriteToTrackingService("ОШИБКА: Обновление лида ID " . $leadId . " - " . $updateLeadErrorMessage);
}
}
}
$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("UpdateLeadStatus", $updateLeadStatus);
$rootActivity->SetVariable("UpdatedLeadID", $updatedLeadId);
$rootActivity->SetVariable("UpdateLeadErrorMessage", $updateLeadErrorMessage);
Параметры
LeadID
(int): ID лида, который необходимо обновить.FieldsToUpdate
(string): JSON-строка, содержащая массив полей лида для обновления. Например:{"TITLE": "Новое название лида", "STATUS_ID": "NEW"}
.
Возвращаемые значения
UpdateLeadStatus
(string): Статус операции обновления (SUCCESS
илиERROR
).UpdatedLeadID
(int): ID обновленного лида (совпадает сLeadID
в случае успеха).UpdateLeadErrorMessage
(string): Сообщение об ошибке, если операция обновления не удалась.
Рекомендации по использованию
- Используйте этот скрипт для программного изменения данных лидов.
- Убедитесь, что
FieldsToUpdate
содержит только те поля, которые вы хотите изменить. - Для получения списка доступных полей лида и их значений обратитесь к документации Битрикс24 API.