| @@ 31-42 (lines=12) @@ | ||
| 28 | * @param string $email | |
| 29 | * @return array | |
| 30 | */ | |
| 31 | public function getCustomerByEmail(string $email) : array | |
| 32 |     { | |
| 33 | Assert::that($email)->email(); | |
| 34 | ||
| 35 | return (array)$this->master->doRequest( | |
| 36 | 'GET', | |
| 37 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/CustomerService/{KEY}/GetCustomerByEmail?email=%s', rawurlencode($email)) | |
| 38 | ); | |
| 39 | } | |
| 40 | ||
| 41 | /** | |
| 42 | * @see https://shoppartner.dandomain.dk/dokumentation/api-documentation/customer/#General_Online_Reference | |
| 43 | * | |
| 44 | * @param \DateTimeInterface $date | |
| 45 | * @return array | |
| @@ 88-98 (lines=11) @@ | ||
| 85 | * @param array $context | |
| 86 | * @return array | |
| 87 | */ | |
| 88 | public function getProductByMetadata(string $productNumber, array $context) : array | |
| 89 |     { | |
| 90 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 91 | Assert::that($context)->notEmpty(); | |
| 92 | ||
| 93 | return (array)$this->master->doRequest( | |
| 94 | 'POST', | |
| 95 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductService/{KEY}/%s', rawurlencode($productNumber)), | |
| 96 | $context | |
| 97 | ); | |
| 98 | } | |
| 99 | ||
| 100 | /** | |
| 101 | * @see http://4221117.shop53.dandomain.dk/admin/webapi/endpoints/v1_0/ProductService/help/operations/GetProductsInCategoryByMetadata | |
| @@ 13-21 (lines=9) @@ | ||
| 10 | * @param string $productNumber | |
| 11 | * @return array | |
| 12 | */ | |
| 13 | public function getDataProduct(string $productNumber) : array | |
| 14 |     { | |
| 15 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 16 | ||
| 17 | return (array)$this->master->doRequest( | |
| 18 | 'GET', | |
| 19 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber)) | |
| 20 | ); | |
| 21 | } | |
| 22 | ||
| 23 | /** | |
| 24 | * @param int $categoryId | |
| @@ 41-49 (lines=9) @@ | ||
| 38 | * @param string $barCode | |
| 39 | * @return array | |
| 40 | */ | |
| 41 | public function getDataProductsByBarcode(string $barCode) : array | |
| 42 |     { | |
| 43 | Assert::that($barCode)->minLength(1, 'The length of $barCode has to be > 0'); | |
| 44 | ||
| 45 | return (array)$this->master->doRequest( | |
| 46 | 'GET', | |
| 47 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/ByBarcode/%s', rawurlencode($barCode)) | |
| 48 | ); | |
| 49 | } | |
| 50 | ||
| 51 | /** | |
| 52 | * @param \DateTimeInterface $date | |
| @@ 121-129 (lines=9) @@ | ||
| 118 | * @param int $stockCount | |
| 119 | * @return bool | |
| 120 | */ | |
| 121 | public function setStockCount(string $productNumber, int $stockCount) : bool | |
| 122 |     { | |
| 123 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 124 | ||
| 125 | return (bool)$this->master->doRequest( | |
| 126 | 'PUT', | |
| 127 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/SetStockCount/%s/%d', rawurlencode($productNumber), $stockCount) | |
| 128 | ); | |
| 129 | } | |
| 130 | ||
| 131 | /** | |
| 132 | * Will return the stock count for the specified product number | |
| @@ 262-270 (lines=9) @@ | ||
| 259 | * @param string $productNumber | |
| 260 | * @return boolean | |
| 261 | */ | |
| 262 | public function deleteProduct(string $productNumber) : bool | |
| 263 |     { | |
| 264 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 265 | ||
| 266 | return (bool)$this->master->doRequest( | |
| 267 | 'DELETE', | |
| 268 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber)) | |
| 269 | ); | |
| 270 | } | |
| 271 | ||
| 272 | /** | |
| 273 | * @param array|\stdClass $category | |
| @@ 314-323 (lines=10) @@ | ||
| 311 | * @param array|\stdClass $product | |
| 312 | * @return array | |
| 313 | */ | |
| 314 | public function updateProduct(string $productNumber, $product) : array | |
| 315 |     { | |
| 316 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 317 | ||
| 318 | return (array)$this->master->doRequest( | |
| 319 | 'PUT', | |
| 320 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber)), | |
| 321 | $product | |
| 322 | ); | |
| 323 | } | |
| 324 | ||
| 325 | /** | |
| 326 | * @param string $productNumber | |
| @@ 330-340 (lines=11) @@ | ||
| 327 | * @param KeyValueCollection $keyValueCollection | |
| 328 | * @return array | |
| 329 | */ | |
| 330 | public function patchProduct(string $productNumber, KeyValueCollection $keyValueCollection) : array | |
| 331 |     { | |
| 332 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 333 | Assert::that($keyValueCollection->count())->greaterThan(0); | |
| 334 | ||
| 335 | return (array)$this->master->doRequest( | |
| 336 | 'PATCH', | |
| 337 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s', rawurlencode($productNumber)), | |
| 338 | $keyValueCollection->get() | |
| 339 | ); | |
| 340 | } | |
| 341 | ||
| 342 | /** | |
| 343 | * @param string $productNumber | |
| @@ 347-356 (lines=10) @@ | ||
| 344 | * @param array|\stdClass $price | |
| 345 | * @return array | |
| 346 | */ | |
| 347 | public function createPrice(string $productNumber, $price) : array | |
| 348 |     { | |
| 349 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 350 | ||
| 351 | return (array)$this->master->doRequest( | |
| 352 | 'POST', | |
| 353 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s/Prices', rawurlencode($productNumber)), | |
| 354 | $price | |
| 355 | ); | |
| 356 | } | |
| 357 | ||
| 358 | /** | |
| 359 | * @param string $productNumber | |
| @@ 363-372 (lines=10) @@ | ||
| 360 | * @param array|\stdClass $price | |
| 361 | * @return bool | |
| 362 | */ | |
| 363 | public function deletePrice(string $productNumber, $price) : bool | |
| 364 |     { | |
| 365 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 366 | ||
| 367 | return (bool)$this->master->doRequest( | |
| 368 | 'DELETE', | |
| 369 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s/Prices', rawurlencode($productNumber)), | |
| 370 | $price | |
| 371 | ); | |
| 372 | } | |
| 373 | ||
| 374 | /** | |
| 375 | * @param string $productNumber | |
| @@ 378-386 (lines=9) @@ | ||
| 375 | * @param string $productNumber | |
| 376 | * @return array | |
| 377 | */ | |
| 378 | public function getPricesForProduct(string $productNumber) : array | |
| 379 |     { | |
| 380 | Assert::that($productNumber)->minLength(1, 'The length of $productNumber has to be > 0'); | |
| 381 | ||
| 382 | return (array)$this->master->doRequest( | |
| 383 | 'GET', | |
| 384 |             sprintf('/admin/WEBAPI/Endpoints/v1_0/ProductDataService/{KEY}/%s/Prices/List', rawurlencode($productNumber)) | |
| 385 | ); | |
| 386 | } | |
| 387 | ||
| 388 | /** | |
| 389 | * @param int $siteId | |