6 declare(strict_types=1);
13 use Magento\InventorySalesApi\Api\Data\SalesEventInterfaceFactory;
14 use Magento\InventorySalesApi\Api\Data\SalesChannelInterfaceFactory;
16 use Magento\InventorySourceDeductionApi\Model\SourceDeductionRequestInterfaceFactory;
24 private $sourceDeductionRequestFactory;
29 private $salesChannelFactory;
34 private $salesEventFactory;
39 private $websiteRepository;
48 SourceDeductionRequestInterfaceFactory $sourceDeductionRequestFactory,
49 SalesChannelInterfaceFactory $salesChannelFactory,
50 SalesEventInterfaceFactory $salesEventFactory,
53 $this->sourceDeductionRequestFactory = $sourceDeductionRequestFactory;
55 $this->salesEventFactory = $salesEventFactory;
72 $salesEvent = $this->salesEventFactory->create([
79 $salesChannel = $this->salesChannelFactory->create([
86 return $this->sourceDeductionRequestFactory->create([
89 'salesChannel' => $salesChannel,
90 'salesEvent' => $salesEvent
const EVENT_SHIPMENT_CREATED
__construct(SourceDeductionRequestInterfaceFactory $sourceDeductionRequestFactory, SalesChannelInterfaceFactory $salesChannelFactory, SalesEventInterfaceFactory $salesEventFactory, WebsiteRepositoryInterface $websiteRepository)
execute(Shipment $shipment, string $sourceCode, array $items)
if(!isset($_GET['website_code'])) $websiteCode
foreach($order->getItems() as $orderItem) $shipment