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

Как изменить номера телефонов и e-mail на примере контакта

Описание

Примеры добавления/изменения/удаления телефона и e-mail на примере контакта.

Внимание! Для использования примера настройте работу класса CRest и подключите файл crest.php в файлах, где используется данный класс. Подробнее.

Работа с E-Mail

$sEmail1 = rand(111111111, 999999999) . '@nomail.com';
$sEmail2 = rand(111111111, 999999999) . '@nomail.com';

$arNewEmail = [
	[
		'VALUE' => $sEmail1,
		'VALUE_TYPE' => 'HOME'
	],
	[
		'VALUE' => $sEmail2,
		'VALUE_TYPE' => 'HOME'
	]
];

//create contact with phone
$newContact = CRest::call(
	'crm.contact.add',
	[
		'fields' => [
			'NAME' => 'CHANGE EMAIL',
			'EMAIL' => $arNewEmail

		]
	]
);
if ($newContact['result'] > 0)
{
	//get contact with email
	$newContactData = CRest::call(
		'crm.contact.get',
		[
			'id' => $newContact['result']
		]
	);

	//change 1 email and delete 2 email
	if (!empty($newContactData['result']['EMAIL'][0]) && !empty($newContactData['result']['EMAIL'][1]))
	{
		$arUpdateEmail = [
			[//change
			 'ID' => $newContactData['result']['EMAIL'][0]['ID'],
			 'VALUE' => rand(111111111, 999999999) . '@nomail.com'
			],
			[//delete
			 'ID' => $newContactData['result']['EMAIL'][1]['ID'],
			 'VALUE' => ''//empty value for delete email
			],
		];
		$resultContactChange = CRest::call(
			'crm.contact.update',
			[
				'id' => $newContactData['result']['ID'],
				'fields' => [
					'EMAIL' => $arUpdateEmail
				]
			]
		);
	}
}
else
{
	echo 'error creat contact ' . $newContact['error_description'];
}

Работа с телефонами

$sPhone1 = rand(111111111, 999999999);
$sPhone2 = rand(111111111, 999999999);

$arNewPhone = [
	[
		'VALUE' => $sPhone1,
		'VALUE_TYPE' => 'HOME'
	],
	[
		'VALUE' => $sPhone2,
		'VALUE_TYPE' => 'HOME'
	]
];

//creat contact with phone
$newContact = CRest::call(
	'crm.contact.add',
	[
		'fields' => [
			'NAME' => 'CHANGE PHONE',
			'PHONE' => $arNewPhone

		]
	]
);
if ($newContact['result'] > 0)
{
	//get contact with phone
	$newContactData = CRest::call(
		'crm.contact.get',
		[
			'id' => $newContact['result']
		]
	);

	//change 1 phone and delete 2 phone
	if (!empty($newContactData['result']['PHONE'][0]) && !empty($newContactData['result']['PHONE'][1]))
	{
		$arUpdatePhone = [
			[//change
			 'ID' => $newContactData['result']['PHONE'][0]['ID'],
			 'VALUE' => rand(111111111, 999999999)
			],
			[//delete
			 'ID' => $newContactData['result']['PHONE'][1]['ID'],
			 'VALUE' => ''//empty value for delete phone
			],
		];
		$resultContactChange = CRest::call(
			'crm.contact.update',
			[
				'id' => $newContactData['result']['ID'],
				'fields' => [
					'PHONE' => $arUpdatePhone
				]
			]
		);
	}
}
else
{
	echo 'error creat contact ' . $newContact['error_description'];
}


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

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

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

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2022, «1С-Битрикс», 2022
Наверх