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