• Модуль: messageservice
  • Путь к файлу: ~/bitrix/modules/messageservice/lib/sender/sms/ednaruimhpx.php
  • Класс: BitrixMessageServiceSenderSmsEdnaruImHpx
  • Вызов: EdnaruImHpx::processIncomingRequest
public function processIncomingRequest(string $incomingRequestBody): DTOResponse
{
	$response = new DTOResponse([
		'statusCode' => 200
	]);
	$parseResult = $this->parseIncomingRequest($incomingRequestBody);
	if (!$parseResult->isSuccess())
	{
		$response->statusCode = 400;
		$response->body = 'Parse error';

		return $response;
	}

	/** @var DTOStatusUpdate[] $statusUpdateList */
	$statusUpdateList = $parseResult->getData();
	foreach ($statusUpdateList as $statusUpdate)
	{
		$message = Message::loadByExternalId(static::ID, $statusUpdate->externalId);
		if ($message && $statusUpdate->providerStatus != '')
		{
			$message->updateStatusByExternalStatus($statusUpdate->providerStatus);
		}
	}

	return $response;
}