• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/sender/smsmanager.php
  • Класс: BitrixMessageServiceSenderSmsManager
  • Вызов: SmsManager::createMessageListByTemplate
static function createMessageListByTemplate(string $eventName, array $fields = []): array
{
	$messageList = [];
	$event = new MainSmsEvent($eventName, $fields);
	$templateMessageListResult = $event->createMessageList();
	if (!$templateMessageListResult->isSuccess())
	{
		return $messageList;
	}

	$templateMessages = $templateMessageListResult->getData();
	$sender = isset($fields['SENDER_ID']) ? static::getSenderById($fields['SENDER_ID']) : static::getUsableSender();

	/** @var BitrixMainSMSMessage $templateMessage */
	foreach($templateMessages as $templateMessage)
	{
		$message = Message::createFromFields(
			[
				'MESSAGE_FROM' => $fields['DEFAULT_FROM'] ?? $sender->getDefaultFrom(),
				'MESSAGE_TO' => $templateMessage->getReceiver(),
				'MESSAGE_BODY' => $templateMessage->getText(),
			],
			$sender
		);
		$message->setType(MessageType::SMS);
		$messageList[] = $message;
	}

	return $messageList;
}