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

Как добавить клиенту событие календаря

Пример создаёт активити в календарь контакта с необходимостью выполнения в течение часа.

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

$contactID = 1;
$resultContact = CRest::call(
	'crm.contact.get',
	[
		'id' => $contactID
	]
);
$resultActivity = [];
if (!empty($resultContact['result']['ASSIGNED_BY_ID']) && !empty($resultContact['result']['PHONE']))
{
	$contactPhone = reset($resultContact['result']['PHONE']);
	$staffID = $resultContact['result']['ASSIGNED_BY_ID'];
	$resultActivity = CRest::call(
		'crm.activity.add',
		[
			'fields' => [
				"SUBJECT" => "calendar title",
				"DESCRIPTION" => "calendar body",
				"DESCRIPTION_TYPE" => 3,//text,html,bbCode type id in: CRest::call('crm.enum.contenttype');
				"OWNER_ID" => $contactID,
				"OWNER_TYPE_ID" => 3, // CRest::call('crm.enum.ownertype');
				"TYPE_ID" => 1, // CRest::call('crm.enum.activitytype');
				"COMMUNICATIONS" => [
					[
						'VALUE' => $contactPhone['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" => $staffID,
			]
		]
	);
}
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