Обновление существующего контакта

Этот PHP-код позволяет обновить существующий контакт в Битрикс24 по его ID.

use Bitrix\Crm\ContactTable;

// ID контакта, который нужно обновить
$contactId = $this->GetRootActivity()->GetVariable("ContactID"); // Например, ID контакта

// Поля для обновления
$fields = [
    'NAME' => $this->GetRootActivity()->GetVariable("ContactName"), // Новое имя контакта
    'LAST_NAME' => $this->GetRootActivity()->GetVariable("ContactLastName"), // Новая фамилия контакта
    'PHONE' => [['VALUE' => $this->GetRootActivity()->GetVariable("ContactPhone"), 'VALUE_TYPE' => 'WORK']], // Новый телефон
    'EMAIL' => [['VALUE' => $this->GetRootActivity()->GetVariable("ContactEmail"), 'VALUE_TYPE' => 'WORK']], // Новый email
];

$updateStatus = false;
$errorMessage = '';

if (!$contactId) {
    $errorMessage = "КРИТИЧНО: Не указан ID контакта для обновления.";
    $this->WriteToTrackingService($errorMessage);
} else {
    $result = ContactTable::update($contactId, $fields);

    if ($result->isSuccess()) {
        $updateStatus = true;
    } else {
        $errorMessage = "ОШИБКА: Не удалось обновить контакт ID: " . $contactId . ". " . implode(', ', $result->getErrorMessages());
        $this->WriteToTrackingService($errorMessage);
    }
}

$rootActivity = $this->GetRootActivity();
$rootActivity->SetVariable("UpdateContactStatus", $updateStatus);
$rootActivity->SetVariable("UpdatedContactID", $contactId);
$rootActivity->SetVariable("UpdateContactErrorMessage", $errorMessage);

Параметры

  • ContactID (int): ID контакта, который необходимо обновить.
  • ContactName (string): Новое имя контакта.
  • ContactLastName (string): Новая фамилия контакта.
  • ContactPhone (string): Новый номер телефона контакта.
  • ContactEmail (string): Новый адрес электронной почты контакта.

Возвращаемые значения

  • UpdateContactStatus (bool): Статус операции обновления (true - успешно, false - ошибка).
  • UpdatedContactID (int): ID обновленного контакта.
  • UpdateContactErrorMessage (string): Сообщение об ошибке, если операция не удалась.

Рекомендации по использованию

  • Используйте этот скрипт для изменения данных существующих контактов.
  • Передавайте только те поля, которые необходимо обновить; остальные поля останутся без изменений.
  • Всегда проверяйте UpdateContactStatus для определения успешности операции.