• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/sender/sms/smscua.php
  • Класс: BitrixMessageServiceSenderSmsSmscUa
  • Вызов: SmscUa::getMessageStatus
public function getMessageStatus(array $messageFields)
{
	$result = new MessageStatus();
	$result->setId($messageFields['ID']);
	$result->setExternalId($messageFields['EXTERNAL_ID']);

	if (!$this->canUse())
	{
		$result->addError(new Error('Service is unavailable'));

		return $result;
	}

	$apiResult = $this->sendApiRequest('status', [
		'id' => $result->getExternalId(),
		'phone' => str_replace('+', '', $messageFields['MESSAGE_TO']),
		'charset' => 'utf-8',
	]);

	if (!$apiResult->isSuccess())
	{
		$result->addErrors($apiResult->getErrors());
	}
	else
	{
		$smsData = $apiResult->getData();

		if (!$smsData)
		{
			$result->addError(new Error('Service error.'));
		}

		$result->setStatusText($smsData['status']);
		$result->setStatusCode(self::resolveStatus($smsData['status']));
	}

	return $result;
}