• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/order/order.php
  • Класс: Bitrix\Crm\Order\Order
  • Вызов: Order::sendSmsToClientOnStoreV3OrderCreate
private function sendSmsToClientOnStoreV3OrderCreate(Sale\TradingPlatform\Platform $platform): void
{
	/** @var Contact|Company|null $entityCommunication */
	$entityCommunication = $this->getContactCompanyCollection()->getEntityCommunication();
	$phoneTo = $this->getContactCompanyCollection()->getEntityCommunicationPhone();

	if ($entityCommunication && $phoneTo)
	{
		$feedbackPage = $platform->getExternalLink(
			Landing::LINK_TYPE_PUBLIC_FEEDBACK,
			$this
		);

		Crm\MessageSender\MessageSender::send(
			[
				Crm\Integration\NotificationsManager::getSenderCode() => [
					'ACTIVITY_PROVIDER_TYPE_ID' => BaseMessage::PROVIDER_TYPE_CRM_ORDER_COMPLETED,
					'TEMPLATE_CODE' => 'ORDER_COMPLETED',
					'PLACEHOLDERS' => [
						'NAME' => $entityCommunication->getCustomerName(),
					],
				],
				Crm\Integration\SmsManager::getSenderCode() => [
					'ACTIVITY_PROVIDER_TYPE_ID' => BaseMessage::PROVIDER_TYPE_CRM_ORDER_COMPLETED,
					'MESSAGE_BODY' => Main\Localization\Loc::getMessage('CRM_ORDER_ORDER_CREATED')
						. (
						$feedbackPage
							? (
							' ' . Main\Localization\Loc::getMessage(
								'CRM_ORDER_ORDER_CREATED_QUESTIONS_LEFT',
								[
									'#FEEDBACK_LINK#' => UrlManager::getInstance()->getHostUrl() . \CBXShortUri::GetShortUri($feedbackPage),
								]
							)
						)
							: ''
						),
				]
			],
			[
				'COMMON_OPTIONS' => [
					'PHONE_NUMBER' => $phoneTo,
					'USER_ID' => $this->getField('RESPONSIBLE_ID'),
					'ADDITIONAL_FIELDS' => [
						'ENTITY_TYPE' => $entityCommunication::getEntityTypeName(),
						'ENTITY_TYPE_ID' => $entityCommunication::getEntityType(),
						'ENTITY_ID' => $entityCommunication->getField('ENTITY_ID'),
						'BINDINGS' => Crm\Order\BindingsMaker\ActivityBindingsMaker::makeByOrder(
							$this,
							[
								'extraBindings' => [
									[
										'TYPE_ID' => $entityCommunication::getEntityType(),
										'ID' => $entityCommunication->getField('ENTITY_ID'),
									]
								]
							]
						),
					]
				]
			]
		);
	}
}