/** * @param StoreEntity $store * @param ErpOrderEntity $erpOrder * @return ErpShipmentEntity * @throws ErpShipmentNotFound */ public function getShipment(StoreEntity $store, ErpOrderEntity $erpOrder) { $request = $this->client->createRequest('GET', sprintf('%s/shipments/?order=%s', $store->getErpUrl(), $erpOrder->getOrderId()), ['auth' => [$store->getErpUsername(), $store->getErpPassword()]]); try { $response = $this->sendRequest($request)->xml(); } catch (\Exception $e) { throw new ErpShipmentNotFound(sprintf('Not shipment can be found with the order id %s', $erpOrder->getOrderId())); } return ErpShipmentEntity::createFromShipmentXMLObject($response); }