• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integration/zoom/activity.php
  • Класс: Bitrix\Crm\Integration\Zoom\Activity
  • Вызов: Activity::addZoom
public function addZoom(array $conferenceData): Result
{
	$result = new Result();

	if (empty($conferenceData))
	{
		return $result->addError(new Error('No conference data'));
	}

	$startTimeStamp = \DateTime::createFromFormat(DATE_ATOM, $conferenceData['start_time'])->getTimestamp();
	$startDateTime = DateTime::createFromTimestamp($startTimeStamp);

	$duration = "T". $conferenceData['duration'] ."M";
	$endDateTime = DateTime::createFromTimestamp($startTimeStamp)->add($duration);

	$fields = [
		'CREATE_TIMESTAMP' => (new DateTime())->getTimestamp(),
		'START_TIME' => $startDateTime,
		'END_TIME' => $endDateTime,
		'ASSOCIATED_ENTITY_ID' => $conferenceData['bitrix_internal_id'],
		'DEADLINE' => $startDateTime,
		'OWNER_ENTITY_ID' => $this->entityId,
		'OWNER_ENTITY_TYPE' => $this->entityType,
		'PROVIDER_TYPE_ID' => Zoom::TYPE_ZOOM_CONF_START,
		'CONFERENCE_EXTERNAL_ID' => $conferenceData['id'],
		'DIRECTION' => \CCrmActivityDirection::Outgoing,
		'COMPLETED' => 'N',
		'SUBJECT' => Loc::getMessage("CRM_ZOOM_ACTIVITY_CONFERENCE_TITLE"),
	];

	$result = $this->saveActivity($fields, \CCrmSecurityHelper::GetCurrentUserID(), SITE_ID);

	return $result;
}