• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/sender/sms/smscua.php
  • Класс: BitrixMessageServiceSenderSmsSmscUa
  • Вызов: SmscUa::sendMessage
public function sendMessage(array $messageFields)
{
	if (!$this->canUse())
	{
		$result = new SendMessage();
		$result->addError(new Error('Service is unavailable'));

		return $result;
	}

	$message = [
		'sender' => $messageFields['MESSAGE_FROM'],
		'phones' => str_replace('+', '', $messageFields['MESSAGE_TO']),
		'mes' => $this->prepareMessageBodyForSend($messageFields['MESSAGE_BODY']),
		'charset' => 'utf-8'
	];

	$result = new SendMessage();
	$apiResult = $this->sendApiRequest('send', $message);
	$result->setServiceRequest($apiResult->getHttpRequest());
	$result->setServiceResponse($apiResult->getHttpResponse());

	if (!$apiResult->isSuccess())
	{
		$result->addErrors($apiResult->getErrors());
	}
	else
	{
		$smsData = $apiResult->getData();
		$smsId = $smsData['id'];

		if (!$smsId)
		{
			$result->addError(new Error('Service error.'));
		}
		else
		{
			$result->setExternalId($smsId);
			$result->setAccepted();
		}
	}

	return $result;
}