• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/tradingplatform/ebay/ebay.php
  • Класс: BitrixSaleTradingPlatformEbayEbay
  • Вызов: Ebay::onAfterUpdateShipment
static function onAfterUpdateShipment(BitrixMainEvent $event, array $additional)
{
	$data = array();
	$ebay = self::getInstance();
	$settings = $ebay->getSettings();
	$deliveryName = "Other";

	if(
		!empty($settings[$additional["SITE_ID"]]["MAPS"]["SHIPMENT"])
		&& is_array($settings[$additional["SITE_ID"]]["MAPS"]["SHIPMENT"])
	)
	{
		$map = array_flip($settings[$additional["SITE_ID"]]["MAPS"]["SHIPMENT"]);

		if(isset($map[$additional['DELIVERY_ID']]))
		{
			$deliveryName = $map[$additional['DELIVERY_ID']];

			if(mb_substr($deliveryName, 0, 3) == "RU_")
				$deliveryName = mb_substr($deliveryName, 3);
		}
	}

	if(
		!empty($additional["PARAMS"]["ORDER_LINES"])
		&& is_array($additional["PARAMS"]["ORDER_LINES"])
		&& !empty($additional["PARAMS"]["ORDER_ID"])
	)
	{
		foreach($additional["PARAMS"]["ORDER_LINES"] as $lineId)
		{
			$data[] = array(
				"ORDER_ID" => $additional["PARAMS"]["ORDER_ID"],
				"ORDER_LINE_ITEM_ID" => $lineId,
				"DELIVERY_NAME" => $deliveryName,
				"TRACKING_NUMBER" => $additional['TRACKING_NUMBER']
			);
		}
	}

	if(!empty($data))
	{
		$ebayFeed = BitrixSaleTradingPlatformEbayFeedManager::createFeed("SHIPMENT", $additional["SITE_ID"]);
		$ebayFeed->setSourceData(array($data));
		$ebayFeed->processData();
		BitrixSaleTradingPlatformEbayAgent::add('SHIPMENT', $additional["SITE_ID"], 1, true);
	}
}