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

События служб доставок

СобытиеОписание и параметры
onSaleDeliveryHandlersClassNamesBuildList Происходит при построении списка обработчиков служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков служб доставок и путей к ним.

Смотрите также
onSaleDeliveryExtraServicesClassNamesBuildList Происходит при построении списка обработчиков дополнительных сервисов служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков и путей к ним.

Смотрите также
onSaleDeliveryTrackingClassNamesBuildList Происходит при построении списка обработчиков отслеживания отправлений служб доставок. Параметры не передаются.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: массив со списком классов обработчиков и путей к ним.

Обработчик должен быть наследником \Bitrix\Sale\Delivery\Tracking\Base. Чтобы воспользоваться этим обработчиком, необходимо указать его в качестве обработчика в конкретной службе доставки. Например, с помощью метода \Bitrix\Sale\Delivery\Services\Base::setTrackingClass(). Как образец можно использовать \Bitrix\Sale\Delivery\Tracking\RusPost, \Sale\Handlers\Delivery\SpsrTracking.
onSaleShipmentsTrackingStatusesChanged Происходит после изменения статуса почтовых отправлений.

Параметры
\Bitrix\Sale\Delivery\Tracking\StatusChangeEventParam[] Массив данных по отправлениям.

Ответ от обработчика события не предполагается.

Если, например, мы хотим все изменения статусов отправлений записывать в файл, то сделать это можно таким образом:

function saleShipmentsTrackingStatusesChanged($params)
{
	file_put_contents($_SERVER["DOCUMENT_ROOT"]."/local/log/tracking.log", print_r($params, true)."\n", FILE_APPEND);
}
$eventManager->addEventHandler('sale', 'onSaleShipmentsTrackingStatusesChanged', 'saleShipmentsTrackingStatusesChanged');
onSaleDeliveryServiceCalculate Происходит после расчёта стоимости доставки.

Параметры
RESULT Объект типа \Bitrix\Sale\Delivery\CalculationResult с результатами вычислений.
SHIPMENT Объект типа \Bitrix\Sale\Shipment – отгрузка, для которой вычислялась стоимость.
DELIVERY_ID Идентификатор службы доставки.

Ответ от обработчика

В качестве результата обработчик должен вернуть объект вида \Bitrix\Main\EventResult, тип: \Bitrix\Main\EventResult::SUCCESS, параметры: RESULT – объект типа \Bitrix\Sale\Delivery\CalculationResult с дополненными результатами вычислений.

Смотрите также


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