Документация для разработчиков
Темная тема

crm.contact.update

Scope: crm Права на выполнение: для всех

crm.contact.update(id, fields, params)

Обновляет существующий контакт.

Важно! Настоятельно рекомендуется при обновлении адреса передавать полный набор полей адреса в метод обновления. Особенности обновления полей адреса описаны здесь.

Параметры

Параметр Описание
id Идентификатор контакта.
fields Набор полей - массив вида array("обновляемое поле"=>"значение"[, ...]), где "обновляемое поле" может принимать значения из возвращаемых методом crm.contact.fields.
Примечание: чтобы узнать требуемый формат полей, выполните метод crm.contact.fields и посмотрите формат пришедших значений этих полей.
params Набор параметров. REGISTER_SONET_EVENT - произвести регистрацию события изменения контакта в живой ленте. Дополнительно будет отправлено уведомление ответственному за контакт.

Пример

var id = prompt("Введите ID");
BX24.callMethod(
	"crm.contact.update", 
	{ 
		id: id,
		fields:
		{ 
			"TYPE_ID": "JOURNALIST",
			"SOURCE_ID": "CONFERENCE"
		},
		params: { "REGISTER_SONET_EVENT": "Y" }			
	}, 
	function(result) 
	{
		if(result.error())
			console.error(result.error());
		else
		{
			console.info(result.data());						
		}
	}
);	

Чтобы удалить одно из значений множественного поля, например поля EMAIL, нужно передать ID этого значения и обнулить VALUE.

BX24.callMethod(
    "crm.contact.update", {
        id: 46467,
        fields: {
            "EMAIL": [{
                "ID": 83153,
                "VALUE": ""
            }]
        }
    },
    function(result) {
        if (result.error())
            console.error(result.error());
        else {
            console.info(result.data());
        }
    }
);


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
0
Trionikl SR
Сообщение не промодерировано, возможны ошибки и неточности.
PHP
Код
<?   
   //выбор существующего значения из множественного списка пользовательского поля
   $arList = array();
   $arList[0] = 36;
   $arList[1] = 39;
   
   $answer = CRest::call(
   'crm.contact.update',
   [
   'ID' => '4',
   'fields' =>[
   'UF_CRM_1644565728425' => $arList
   ]   
   ]);
   
   //echo "<pre>ID поля: "; print_r($answer); echo "</pre>";   //$answer = 146
   
?>
0
Trionikl SR
Сообщение не промодерировано, возможны ошибки и неточности.
Лучи добра, и много радуги битриксам.
Может кому пригодится, когда придётся разбираться как это работает.

Идентификатор контакта.
- на php смотреть вот так:
Код
<?
   //получить id поля
   $answer = CRest::call(
   'crm.contact.userfield.list',
   [
   'order' =>[
   'SORT' => 'ASC'
   ],
   'filter' =>[
   'FIELD_NAME' => 'UF_CRM_1644565728425'
   ]  
   ]);
   
   echo "<pre>ID поля: "; print_r($answer); echo "</pre>";   //$answer = 146
?>

Выводится вот это
Код
ID поля: Array
(
    [result] => Array
        (
            [0] => Array
                (
                    [ID] => 146
                    [ENTITY_ID] => CRM_CONTACT
                    [FIELD_NAME] => UF_CRM_1644565728425
                    [USER_TYPE_ID] => enumeration
                    [XML_ID] => 
                    [SORT] => 100
                    [MULTIPLE] => Y
                    [MANDATORY] => N
                    [SHOW_FILTER] => E
                    [SHOW_IN_LIST] => Y
                    [EDIT_IN_LIST] => Y
                    [IS_SEARCHABLE] => N
                    [SETTINGS] => Array
                        (
                            [DISPLAY] => CHECKBOX
                            [LIST_HEIGHT] => 1
                            [CAPTION_NO_VALUE] => 
                            [SHOW_NO_VALUE] => Y
                        )

                    [LIST] => Array
                        (
                            [0] => Array
                                (
                                    [ID] => 36
                                    [SORT] => 0
                                    [VALUE] => Группа для задачи: "4.2 Участие в программах"
                                    [DEF] => N
                                )

                            [1] => Array
                                (
                                    [ID] => 37
                                    [SORT] => 100
                                    [VALUE] => Группа номер Два - детская
                                    [DEF] => N
                                )

                            [2] => Array
                                (
                                    [ID] => 38
                                    [SORT] => 200
                                    [VALUE] => Восемь, Семь, Три
                                    [DEF] => N
                                )

                            [3] => Array
                                (
                                    [ID] => 39
                                    [SORT] => 300
                                    [VALUE] => Визуальный интерфейс десять пятнадцать
                                    [DEF] => N
                                )

                            [4] => Array
                                (
                                    [ID] => 45
                                    [SORT] => 400
                                    [VALUE] => Вот тут здесь
                                    [DEF] => N
                                )

                        )

                )

        )

    [total] => 1
    [time] => Array
        (
            [start] => 1645082652.2016
            [finish] => 1645082652.227
            [duration] => 0.02534294128418
            [processing] => 0.0012969970703125
            [date_start] => 2022-02-17T07:24:12+00:00
            [date_finish] => 2022-02-17T07:24:12+00:00
        )

)

Далее берём строку созданного вебхука (с правами CRM), у каждого она (строка вебхука) своя, до жути секретная, у меня выглядит приблизительно вот так
Код
https://stsitebteckicks.ru/rest/1/uq3nu7gUd3H2qnys/
 (названия букв изменены, любые совпадения с реально существующими строками - случайны).

Далее пишем запрос
Код
https://stsitebteckicks.ru/rest/1/uq3nu7gUd3H2qnys/crm.contact.update?id=4&fields[UF_CRM_1644565728425][0]=45&fields[UF_CRM_1644565728425][1]=38
После выполнения запроса у контакта с ID=4 становятся выбранными поля с ID 45 (Вот тут здесь) и ID 38 (Восемь, Семь, Три)
*передавать нужно ID полей чтобы они выбрались, а не их значения.
** выбрать можно только уже существующие в множественном списке поля
***&fields[UF_CRM_1644565728425][0] - цифра 0 - это порядок в котором будет выводиться выбранное поле в контакте, в множественном поле

Это конечно писец лютый, но некоторые моменты вообще совсем не очевидны с первого раза, да и со второго тоже.
0
Trionikl SR
Сообщение не промодерировано, возможны ошибки и неточности.
Цитата
Для множественного свойства любого есть важный момент - в запросе передается не значение свойства нужное, а id варианта значения.
0
Imran Guseynov
Сообщение не промодерировано, возможны ошибки и неточности.
Как загружать файлы?
Пытаюсь передать
fields[PHOTO] = R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==­
еще пробовал
fields[PHOTO] = {"name":"фото.png","size":6611,"type":"image/png","content":"R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw=­= "}
1
Виталий Кулаков
Сообщение не промодерировано, возможны ошибки и неточности.
Параметр REGISTER_SONET_EVENT игнорируется в этом методе, пробовал всяко-разно уже. В английской версии документации, у этого метода этот параметр вообще не указан.
Внимание, вопрос! - Как регистрировать в ленте контакта внесенные изменения, если отдельного метода для этого нет, а тот способ, что указан здесь, т.е. через параметр REGISTER_SONET_EVENT - не работает?
© «Битрикс», 2001-2024, «1С-Битрикс», 2024