/** * Collect orders data and call service method to register order PV. * * @param \Magento\Sales\Api\Data\OrderInterface $order */ public function savePv(\Magento\Sales\Api\Data\OrderInterface $order) { $orderId = $order->getId(); $state = $order->getState(); $dateCreated = $order->getCreatedAt(); $itemsData = $this->_subCollector->getServiceItemsForMageSaleOrder($order); /* compose request data and request itself */ /** @var \Praxigento\Pv\Service\Sale\Request\Save $req */ $req = $this->_manObj->create(\Praxigento\Pv\Service\Sale\Request\Save::class); $req->setSaleOrderId($orderId); $req->setOrderItems($itemsData); if ($state == \Magento\Sales\Model\Order::STATE_PROCESSING) { $req->setSaleOrderDatePaid($dateCreated); } $this->_callSale->save($req); }