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

Как отправить e-mail клиенту от имени сотрудника с указанием ящика сотрудника

Пример получает e-mail ответственного за контакт и создаёт активити отправки письма с моментальной отправкой.

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

<?
$contactID = 1;
$resultContact = CRest::call(
	'crm.contact.get',
	[
		'id' => $contactID
	]
);
$resultActivity = [];
if (!empty($resultContact['result']['ASSIGNED_BY_ID']) && !empty($resultContact['result']['EMAIL']))
{
	$resultUser = CRest::call(
		'user.get',
		[
			'filter' => [
				'ID' => $resultContact['result']['ASSIGNED_BY_ID']
			]
		]
	);

	if ($resultUser['result'])
	{
		$contactEmail = reset($resultContact['result']['EMAIL']);
		$staff = reset($resultUser['result']);
		if (!empty($contactEmail['VALUE']) && !empty($staff['EMAIL']))
		{
			$resultActivity = CRest::call(
				'crm.activity.add',
				[
					'fields' => [
						"SUBJECT" => "subject email now",
						"DESCRIPTION" => "body email now",
						"DESCRIPTION_TYPE" => 3,//text,html,bbCode type id in: CRest::call('crm.enum.contenttype');
						"COMPLETED" => "Y",//send now
						"DIRECTION" => 2,// CRest::call('crm.enum.activitydirection');
						"OWNER_ID" => $contactID,
						"OWNER_TYPE_ID" => 3, // CRest::call('crm.enum.ownertype');
						"TYPE_ID" => 4, // CRest::call('crm.enum.activitytype');
						"COMMUNICATIONS" => [
							[
								'VALUE' => $contactEmail['VALUE'],
								'ENTITY_ID' => $contactID,
								'ENTITY_TYPE_ID' => 3// CRest::call('crm.enum.ownertype');
							]
						],
						"START_TIME" => date("Y-m-d H:i:s", time()),
						"END_TIME" => date("Y-m-d H:i:s", time() + 3600),
						"RESPONSIBLE_ID" => $staff['ID'],
						'SETTINGS' => [
							'MESSAGE_FROM' => implode(
								' ',
								[$staff['NAME'], $staff['LAST_NAME'], '<' . $staff['EMAIL'] . '>']
							),

						],
					]
				]
			);
		}
	}
}
if (!empty($resultActivity['result']))
{
	echo json_encode(['message' => 'Activity add']);
}
elseif (!empty($resultActivity['error_description']))
{
	echo json_encode(['message' => 'Activity not added: ' . $resultActivity['error_description']]);
}
else
{
	echo json_encode(['message' => 'Activity not added']);
}
?>


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

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

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

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

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