Документация для разработчиков
Темная тема

getStatuses

\Bitrix\Sale\Result|\Bitrix\Sale\Delivery\Tracking\StatusResult[] public
\Bitrix\Sale\Delivery\Tracking\Base::getStatuses(
	string[] $trackingNumbers
);

Метод создает пустой результат получения статусов для списка трек-номеров. Класс-наследник может переопределить метод и вернуть результаты отслеживания. Нестатический метод.

Параметры

Параметр Описание
$trackingNumbers Массив трек-номеров. Базовая реализация не использует элементы массива

Возвращаемое значение

Базовая реализация возвращает новый объект \Bitrix\Sale\Result без данных и без ошибок. Класс-наследник может вернуть другой тип. Например, обработчик \Bitrix\Sale\Delivery\Tracking\RusPost возвращает массив объектов StatusResult, где ключами служат трек-номера.

Пример

<?php
use Bitrix\Main\Loader;
use Bitrix\Sale\Delivery\Tracking\Base;
use Bitrix\Sale\Delivery\Tracking\Manager;
use Bitrix\Sale\Result;

if (!Loader::includeModule('sale'))
{
	throw new RuntimeException('Не удалось подключить модуль sale');
}

// Идентификатор службы доставки с настроенным обработчиком отслеживания
$deliveryServiceId = 2;
$trackingNumbers = ['12345678901234', 'RA123456789RU'];

try
{
	$handler = Manager::getInstance()->getTrackingObjectByDeliveryId($deliveryServiceId);
	if (!$handler instanceof Base)
	{
		throw new RuntimeException('Обработчик отслеживания не найден');
	}

	$result = $handler->getStatuses($trackingNumbers);
	if ($result instanceof Result)
	{
		if (!$result->isSuccess())
		{
			throw new RuntimeException(implode('; ', $result->getErrorMessages()));
		}

		print_r($result->getData());
	}
	else
	{
		print_r($result);
	}
}
catch (Throwable $exception)
{
	echo 'Ошибка: ' . $exception->getMessage() . PHP_EOL;
}


© «Битрикс», 2001-2026, «1С-Битрикс», 2026