SendFacilitator::send

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. SendFacilitator
  4. send
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/messagesender/sendfacilitator.php
  • Класс: Bitrix\Crm\MessageSender\SendFacilitator
  • Вызов: SendFacilitator::send
public function send(): Result
{
	$channelCheckResult = $this->channel->checkChannel();
	if (!$channelCheckResult->isSuccess())
	{
		return $channelCheckResult;
	}

	$checkCommunicationsResult = $this->channel->checkCommunications();
	if (!$checkCommunicationsResult->isSuccess())
	{
		return $checkCommunicationsResult;
	}

	$fields = $this->channel->getSender()::makeMessageFields(
		array_merge(
			$this->prepareMessageOptions(),
			[
				'ACTIVITY_PROVIDER_TYPE_ID' => $this->getActivityProviderTypeId(),
			]
		),
		$this->prepareMessageCommonOptions(),
	);

	$result = $this->channel->getSender()::sendMessage($fields);
	if (!($result instanceof Result))
	{
		return (new Result())->addError(new Error(Loc::getMessage('CRM_MSSF_ERROR')));
	}

	$result->setData(
		array_merge(
			[
				'FROM' => $this->getFrom(),
				'TO' => $this->getTo(),
			],
			$result->getData(),
		),
	);

	return $result;
}

Добавить комментарий