@@ 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/#CreateCustomer_POST |
|
43 | * |
|
44 | * @param array|\stdClass $customer |
|
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 |