• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/Providers/Edna/SMS/Old/Sender.php
  • Класс: Bitrix\MessageService\Providers\Edna\SMS\Old\Sender
  • Вызов: Sender::getMessageStatus
public function getMessageStatus(array $messageFields): MessageStatus
{
	$result = new MessageStatus();
	$result->setId($messageFields['ID']);
	$result->setExternalId($messageFields['ID']);

	if (!$this->supportChecker->canUse())
	{
		$result->addError(new Error(Loc::getMessage('MESSAGESERVICE_SENDER_SMS_SMSEDNARU_USE_ERROR')));
		return $result;
	}

	$externalSender = new ExternalSender($this->optionManager->getOption(InternalOption::API_KEY, ''), Constants::API_ENDPOINT);
	$apiResult = $externalSender->callExternalMethod("smsOutMessage/{$messageFields['ID']}");
	if (!$apiResult->isSuccess())
	{
		$result->addErrors($apiResult->getErrors());
	}
	else
	{
		$apiData = $apiResult->getData();

		$result->setStatusText($apiData['dlvStatus']);
		$result->setStatusCode((new StatusResolver())->resolveStatus($apiData['dlvStatus']));
	}

	return $result;
}