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

getStatusShipment

\Bitrix\Sale\Delivery\Tracking\StatusResult public
\Bitrix\Sale\Delivery\Tracking\Base::getStatusShipment(
	array $shipmentData
);

Метод извлекает трек-номер из данных отгрузки и передает его в getStatus. Нестатический метод.

Параметры

Параметр Описание
$shipmentData Данные отгрузки. Массив должен содержать ключ TRACKING_NUMBER с трек-номером отправления

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

Метод возвращает объект \Bitrix\Sale\Delivery\Tracking\StatusResult, который вернул метод getStatus.

Особенности

Метод обращается к ключу TRACKING_NUMBER без проверки его наличия. Передавайте этот ключ в массиве, чтобы избежать диагностического сообщения PHP.

Пример

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

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

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

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

	$result = $handler->getStatusShipment($shipmentData);
	if (!$result->isSuccess())
	{
		throw new RuntimeException(implode('; ', $result->getErrorMessages()));
	}

	echo 'Статус: ' . (string)$result->status . PHP_EOL;
}
catch (Throwable $exception)
{
	echo 'Ошибка: ' . $exception->getMessage() . PHP_EOL;
}


Была ли эта страница полезна?

Пользовательские комментарии

Помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2026, «1С-Битрикс», 2026
Наверх