From c8d2f234ef3027fc62e2597643db4c9e6bb2bbcd Mon Sep 17 00:00:00 2001 From: Roy de Jong Date: Fri, 26 Aug 2022 17:17:40 +0200 Subject: [PATCH] feat: addProductsToArticleGroup API call --- Mplusqapiclient.php | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/Mplusqapiclient.php b/Mplusqapiclient.php index 4f2650f..dfb7eb9 100755 --- a/Mplusqapiclient.php +++ b/Mplusqapiclient.php @@ -1736,6 +1736,23 @@ public function saveArticleGroups($articleGroupList = array()) //---------------------------------------------------------------------------- + public function addProductsToArticleGroup($groupNumber, $productNumbers = array(), $position = null) + { + try { + $result = $this->client->addProductsToArticleGroup($this->parser->convertAddProductsToArticleGroupRequest($groupNumber, $productNumbers, $position)); + if($this->returnRawResult) { + return $result; + } + return $this->parser->parseAddProductsToArticleGroupResponse($result); + } catch (SoapFault $e) { + throw new MplusQAPIException('SoapFault occurred: '.$e->getMessage(), 0, $e); + } catch (Exception $e) { + throw new MplusQAPIException('Exception occurred: '.$e->getMessage(), 0, $e); + } + } // END addProductsToArticleGroup() + + //---------------------------------------------------------------------------- + public function getStock($branchNumber, $articleNumbers=array(), $stockId=null, $attempts=0) { try { @@ -5201,6 +5218,12 @@ public function parseArticleSubGroups($articleSubGroups) { //---------------------------------------------------------------------------- + public function parseAddProductsToArticleGroupResponse($soapUpdateProductResult) { + return isset($soapUpdateProductResult->result) and $soapUpdateProductResult->result == 'ADD-PRODUCTS-TO-ARTICLE-GROUP-RESULT-OK'; + } // END parseAddProductsToArticleGroupResponse() + + //---------------------------------------------------------------------------- + public function parseStock($soapStock) { if (isset($soapStock->articleStocks)) { $soapArticleStocks = $soapStock->articleStocks; @@ -8437,6 +8460,17 @@ public function convertSaveArticleGroupsRequest($articleGroupList, $depth=0) //---------------------------------------------------------------------------- + public function convertAddProductsToArticleGroupRequest($groupNumber, $productNumbers, $position = null) + { + return arrayToObject(array('request' => array( + 'groupNumber' => $groupNumber, + 'position' => $position ? $position : 0, + 'productNumbers' => $productNumbers + ))); + } // END convertGetStockRequest() + + //---------------------------------------------------------------------------- + public function convertGetStockRequest($branchNumber, $articleNumbers, $stockId) { if ( ! is_array($articleNumbers)) {