GuzzleSoapClient   C
last analyzed

Complexity

Total Complexity 56

Size/Duplication

Total Lines 569
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 569
rs 5.5555
c 0
b 0
f 0
wmc 56

54 Methods

Rating   Name   Duplication   Size   Complexity  
A cancelShipments() 0 3 1
A listStores() 0 3 1
A generateImageReturnLabels() 0 3 1
A createPickupRequest() 0 3 1
A deleteStores() 0 3 1
A cancelPickupRequest() 0 3 1
A validateOrder() 0 3 1
A createStores() 0 3 1
A batchStatus() 0 3 1
A generateExtraImageLabel() 0 3 1
A generateExtraPdfLabel() 0 3 1
A setWebShopId() 0 5 1
A pickupRequestStatus() 0 3 1
A checkoutStatus() 0 3 1
A generatePdfReturnLabels() 0 3 1
A generatePdfLabels() 0 3 1
A pickupRequestDetails() 0 3 1
A getPassword() 0 3 1
A updateOrder() 0 3 1
A getExistingImageLabel() 0 3 1
A deleteOrder() 0 3 1
A changeOrder() 0 3 1
A proofOfDelivery() 0 3 1
A servicePoints() 0 3 1
A openBatch() 0 3 1
A pickupRequestOptions() 0 3 1
A orderDetails() 0 3 1
A generatePdfCustomsDocuments() 0 3 1
A ordersToShip() 0 3 1
A checkout() 0 3 1
A getExistingImageLabels() 0 3 1
A commitOrder() 0 3 1
A generateAdditionalImageDocument() 0 3 1
A getWebShopId() 0 3 1
A generateAdditionalPdfDocument() 0 3 1
A getExistingPdfLabel() 0 3 1
A getExistingPdfLabels() 0 3 1
A listOrders() 0 3 1
A address() 0 3 1
A orderStatus() 0 3 1
A generateExtraPdfReturnLabel() 0 3 1
A processRequest() 0 9 2
A deliveryEstimate() 0 3 1
A setPassword() 0 5 1
A generateImageLabels() 0 3 1
A closeBatch() 0 3 1
A shippingOption() 0 3 1
A processResponse() 0 17 2
A generateZplLabels() 0 3 1
A rate() 0 3 1
A order() 0 3 1
A updateStores() 0 3 1
A listOpenBatches() 0 3 1
A generateExtraImageReturnLabel() 0 3 1

How to fix   Complexity   

Complex Class

Complex classes like GuzzleSoapClient often do a lot of different things. To break such a class down, we need to identify a cohesive component within that class. A common approach to find such a component is to look for fields/methods that share the same prefixes, or suffixes.

Once you have determined the fields that belong together, you can apply the Extract Class refactoring. If the component makes sense as a sub-class, Extract Subclass is also a candidate, and is often faster.

While breaking up the class, it is a good idea to analyze how other classes use GuzzleSoapClient, and based on these observations, apply Extract Interface, too.

1
<?php
2
3
/*
4
 * This file is part of PHP CS Fixer.
5
 *
6
 * (c) Fabien Potencier <[email protected]>
7
 *     Dariusz Rumiński <[email protected]>
8
 *
9
 * This source file is subject to the MIT license that is bundled
10
 * with this source code in the file LICENSE.
11
 */
12
13
namespace Etrias\PaazlConnector;
14
15
/*
16
* SoapClient based on Guzzle
17
* @package Etrias\PaazlConnector
18
*/
19
use Etrias\PaazlConnector\Client\PaazlClientInterface;
20
use Etrias\PaazlConnector\Exceptions\PaazlException;
21
use Etrias\PaazlConnector\Result\PaazlResultInterface;
22
use Etrias\PaazlConnector\SoapTypes\AddressRequest;
23
use Etrias\PaazlConnector\SoapTypes\AddressResponse;
24
use Etrias\PaazlConnector\SoapTypes\BaseCheckoutRequestType;
25
use Etrias\PaazlConnector\SoapTypes\BatchStatusRequest;
26
use Etrias\PaazlConnector\SoapTypes\BatchStatusResponse;
27
use Etrias\PaazlConnector\SoapTypes\CancelPickupRequestResponse;
28
use Etrias\PaazlConnector\SoapTypes\CancelShipmentsRequest;
29
use Etrias\PaazlConnector\SoapTypes\CancelShipmentsResponse;
30
use Etrias\PaazlConnector\SoapTypes\ChangeOrderRequest;
31
use Etrias\PaazlConnector\SoapTypes\ChangeStoresRequestType;
32
use Etrias\PaazlConnector\SoapTypes\ChangeStoresResponseType;
33
use Etrias\PaazlConnector\SoapTypes\CheckoutResponse;
34
use Etrias\PaazlConnector\SoapTypes\CloseBatchRequest;
35
use Etrias\PaazlConnector\SoapTypes\CloseBatchResponse;
36
use Etrias\PaazlConnector\SoapTypes\CommitOrderRequest;
37
use Etrias\PaazlConnector\SoapTypes\CreatePickupRequestRequest;
38
use Etrias\PaazlConnector\SoapTypes\CreatePickupRequestResponse;
39
use Etrias\PaazlConnector\SoapTypes\DeleteOrderRequest;
40
use Etrias\PaazlConnector\SoapTypes\DeleteOrderResponse;
41
use Etrias\PaazlConnector\SoapTypes\DeleteStoresRequest;
42
use Etrias\PaazlConnector\SoapTypes\DeleteStoresResponse;
43
use Etrias\PaazlConnector\SoapTypes\DeliveryEstimateRequest;
44
use Etrias\PaazlConnector\SoapTypes\DeliveryEstimateResponse;
45
use Etrias\PaazlConnector\SoapTypes\GenerateAdditionalDocumentType;
46
use Etrias\PaazlConnector\SoapTypes\GenerateAdditionalImageDocumentResponse;
47
use Etrias\PaazlConnector\SoapTypes\GenerateAdditionalPdfDocumentRequest;
48
use Etrias\PaazlConnector\SoapTypes\GenerateAdditionalPdfDocumentResponse;
49
use Etrias\PaazlConnector\SoapTypes\GenerateExtraImageLabelRequest;
50
use Etrias\PaazlConnector\SoapTypes\GenerateExtraImageLabelResponse;
51
use Etrias\PaazlConnector\SoapTypes\GenerateExtraImageReturnLabelRequest;
52
use Etrias\PaazlConnector\SoapTypes\GenerateExtraImageReturnLabelResponse;
53
use Etrias\PaazlConnector\SoapTypes\GenerateExtraPdfLabelRequest;
54
use Etrias\PaazlConnector\SoapTypes\GenerateExtraPdfLabelResponse;
55
use Etrias\PaazlConnector\SoapTypes\GenerateExtraPdfReturnLabelRequest;
56
use Etrias\PaazlConnector\SoapTypes\GenerateExtraPdfReturnLabelResponse;
57
use Etrias\PaazlConnector\SoapTypes\GenerateImageLabelsRequest;
58
use Etrias\PaazlConnector\SoapTypes\GenerateImageLabelsResponse;
59
use Etrias\PaazlConnector\SoapTypes\GenerateImageReturnLabelsRequest;
60
use Etrias\PaazlConnector\SoapTypes\GenerateImageReturnLabelsResponse;
61
use Etrias\PaazlConnector\SoapTypes\GeneratePdfCustomsDocumentsRequest;
62
use Etrias\PaazlConnector\SoapTypes\GeneratePdfCustomsDocumentsResponse;
63
use Etrias\PaazlConnector\SoapTypes\GeneratePdfLabelsRequest;
64
use Etrias\PaazlConnector\SoapTypes\GeneratePdfLabelsResponse;
65
use Etrias\PaazlConnector\SoapTypes\GeneratePdfReturnLabelsRequest;
66
use Etrias\PaazlConnector\SoapTypes\GeneratePdfReturnLabelsResponse;
67
use Etrias\PaazlConnector\SoapTypes\GenerateZplLabelsRequest;
68
use Etrias\PaazlConnector\SoapTypes\GenerateZplLabelsResponse;
69
use Etrias\PaazlConnector\SoapTypes\GetExistingImageLabelRequest;
70
use Etrias\PaazlConnector\SoapTypes\GetExistingImageLabelResponse;
71
use Etrias\PaazlConnector\SoapTypes\GetExistingImageLabelsRequest;
72
use Etrias\PaazlConnector\SoapTypes\GetExistingPdfLabelRequest;
73
use Etrias\PaazlConnector\SoapTypes\GetExistingPdfLabelResponse;
74
use Etrias\PaazlConnector\SoapTypes\GetExistingPdfLabelsRequest;
75
use Etrias\PaazlConnector\SoapTypes\GetExistingPdfLabelsResponse;
76
use Etrias\PaazlConnector\SoapTypes\ListOpenBatchesRequest;
77
use Etrias\PaazlConnector\SoapTypes\ListOpenBatchesResponse;
78
use Etrias\PaazlConnector\SoapTypes\ListOrdersRequest;
79
use Etrias\PaazlConnector\SoapTypes\ListOrdersResponse;
80
use Etrias\PaazlConnector\SoapTypes\ListStoresRequest;
81
use Etrias\PaazlConnector\SoapTypes\ListStoresResponse;
82
use Etrias\PaazlConnector\SoapTypes\OpenBatchRequest;
83
use Etrias\PaazlConnector\SoapTypes\OpenBatchResponse;
84
use Etrias\PaazlConnector\SoapTypes\OrderDetailsRequest;
85
use Etrias\PaazlConnector\SoapTypes\OrderDetailsResponse;
86
use Etrias\PaazlConnector\SoapTypes\OrderRequest;
87
use Etrias\PaazlConnector\SoapTypes\OrderSaveResponseType;
88
use Etrias\PaazlConnector\SoapTypes\OrderStatusRequest;
89
use Etrias\PaazlConnector\SoapTypes\OrderStatusResponse;
90
use Etrias\PaazlConnector\SoapTypes\OrdersToShipRequest;
91
use Etrias\PaazlConnector\SoapTypes\OrdersToShipResponse;
92
use Etrias\PaazlConnector\SoapTypes\PickupRequestDetailsResponse;
93
use Etrias\PaazlConnector\SoapTypes\PickupRequestOptionsRequest;
94
use Etrias\PaazlConnector\SoapTypes\PickupRequestQueryType;
95
use Etrias\PaazlConnector\SoapTypes\PickupRequestStatusResponse;
96
use Etrias\PaazlConnector\SoapTypes\ProofOfDeliveryRequest;
97
use Etrias\PaazlConnector\SoapTypes\ProofOfDeliveryResponse;
98
use Etrias\PaazlConnector\SoapTypes\RateRequest;
99
use Etrias\PaazlConnector\SoapTypes\RateResponse;
100
use Etrias\PaazlConnector\SoapTypes\ServicePointsRequest;
101
use Etrias\PaazlConnector\SoapTypes\ServicePointsResponse;
102
use Etrias\PaazlConnector\SoapTypes\ShippingOptionRequest;
103
use Etrias\PaazlConnector\SoapTypes\ShippingOptionResponse;
104
use Etrias\PaazlConnector\SoapTypes\UpdateOrderRequest;
105
use Etrias\PaazlConnector\SoapTypes\ValidateOrderRequest;
106
use Etrias\PaazlConnector\SoapTypes\ValidateOrderResponseType;
107
use Phpro\SoapClient\Client;
108
use Phpro\SoapClient\Type\MixedResult;
109
use Phpro\SoapClient\Type\RequestInterface;
110
111
/**
112
 * Class SoapClient.
113
 */
114
class GuzzleSoapClient extends Client implements PaazlClientInterface
115
{
116
    /**
117
     * @var string
118
     */
119
    private $webShopId;
120
121
    /**
122
     * @var string
123
     */
124
    private $password;
125
126
    /**
127
     * @param RequestInterface     $request
128
     * @param PaazlResultInterface $response
129
     *
130
     * @throws PaazlException
131
     *
132
     * @return PaazlResultInterface
133
     */
134
    public function processResponse(RequestInterface $request, PaazlResultInterface $response)
135
    {
136
        if ($response->getError()) {
137
            $exceptionName = ExceptionMap::getException($response->getError()->getCode());
138
            /** @var PaazlException $exception */
139
            $exception = new $exceptionName(
140
                $response->getError()->getMessage(),
141
                $response->getError()->getCode()
142
            );
143
            $exception
144
                ->setRequest($request)
145
                ->setResponse($response);
146
147
            throw $exception;
148
        }
149
150
        return $response;
151
    }
152
153
    /**
154
     * @param $functionName
155
     * @param RequestInterface $request
156
     * @return mixed
157
     */
158
    public function processRequest($functionName, RequestInterface $request)
159
    {
160
        $response = $this->call($functionName, $request);
161
162
        if ($response instanceof MixedResult) {
163
            $response = $response->getResult();
164
        }
165
166
        return $this->processResponse($request, $response);
167
    }
168
169
    /**
170
     * {@inheritdoc}
171
     */
172
    public function getWebShopId()
173
    {
174
        return $this->webShopId;
175
    }
176
177
    /**
178
     * {@inheritdoc}
179
     */
180
    public function setWebShopId(string $webShopId)
181
    {
182
        $this->webShopId = $webShopId;
183
184
        return $this;
185
    }
186
187
    /**
188
     * {@inheritdoc}
189
     */
190
    public function getPassword()
191
    {
192
        return $this->password;
193
    }
194
195
    /**
196
     * {@inheritdoc}
197
     */
198
    public function setPassword(string $password)
199
    {
200
        $this->password = $password;
201
202
        return $this;
203
    }
204
205
    /**
206
     * @param OpenBatchRequest $request
207
     *
208
     * @return OpenBatchResponse
209
     */
210
    public function openBatch(OpenBatchRequest $request)
211
    {
212
        return $this->processRequest(__FUNCTION__, $request);
213
    }
214
215
    /**
216
     * @param CloseBatchRequest $request
217
     *
218
     * @return CloseBatchResponse
219
     */
220
    public function closeBatch(CloseBatchRequest $request)
221
    {
222
        return $this->processRequest(__FUNCTION__, $request);
223
    }
224
225
    /**
226
     * @param BatchStatusRequest $request
227
     *
228
     * @return BatchStatusResponse
229
     */
230
    public function batchStatus(BatchStatusRequest $request)
231
    {
232
        return $this->processRequest(__FUNCTION__, $request);
233
    }
234
235
    /**
236
     * @param ListOpenBatchesRequest $request
237
     *
238
     * @return ListOpenBatchesResponse
239
     */
240
    public function listOpenBatches(ListOpenBatchesRequest $request)
241
    {
242
        return $this->processRequest(__FUNCTION__, $request);
243
    }
244
245
    /**
246
     * @param BaseCheckoutRequestType $request
247
     *
248
     * @return CheckoutResponse
249
     */
250
    public function checkout(BaseCheckoutRequestType $request)
251
    {
252
        return $this->processRequest(__FUNCTION__, $request);
253
    }
254
255
    /**
256
     * @param BaseCheckoutRequestType $request
257
     *
258
     * @return CheckoutResponse
259
     */
260
    public function checkoutStatus(BaseCheckoutRequestType $request)
261
    {
262
        return $this->processRequest(__FUNCTION__, $request);
263
    }
264
265
    /**
266
     * @param GenerateAdditionalPdfDocumentRequest $request
267
     *
268
     * @return GenerateAdditionalPdfDocumentResponse
269
     */
270
    public function generateAdditionalPdfDocument(GenerateAdditionalPdfDocumentRequest $request)
271
    {
272
        return $this->processRequest(__FUNCTION__, $request);
273
    }
274
275
    /**
276
     * @param GenerateAdditionalDocumentType $request
277
     *
278
     * @return GenerateAdditionalImageDocumentResponse
279
     */
280
    public function generateAdditionalImageDocument(GenerateAdditionalDocumentType $request)
281
    {
282
        return $this->processRequest(__FUNCTION__, $request);
283
    }
284
285
    /**
286
     * @param GeneratePdfCustomsDocumentsRequest $request
287
     *
288
     * @return GeneratePdfCustomsDocumentsResponse
289
     */
290
    public function generatePdfCustomsDocuments(GeneratePdfCustomsDocumentsRequest $request)
291
    {
292
        return $this->processRequest(__FUNCTION__, $request);
293
    }
294
295
    /**
296
     * @param ProofOfDeliveryRequest $request
297
     *
298
     * @return ProofOfDeliveryResponse
299
     */
300
    public function proofOfDelivery(ProofOfDeliveryRequest $request)
301
    {
302
        return $this->processRequest(__FUNCTION__, $request);
303
    }
304
305
    /**
306
     * @param GeneratePdfLabelsRequest $request
307
     *
308
     * @return GeneratePdfLabelsResponse
309
     */
310
    public function generatePdfLabels(GeneratePdfLabelsRequest $request)
311
    {
312
        return $this->processRequest(__FUNCTION__, $request);
313
    }
314
315
    /**
316
     * @param GenerateExtraPdfLabelRequest $request
317
     *
318
     * @return GenerateExtraPdfLabelResponse
319
     */
320
    public function generateExtraPdfLabel(GenerateExtraPdfLabelRequest $request)
321
    {
322
        return $this->processRequest(__FUNCTION__, $request);
323
    }
324
325
    /**
326
     * @param GeneratePdfReturnLabelsRequest $request
327
     *
328
     * @return GeneratePdfReturnLabelsResponse
329
     */
330
    public function generatePdfReturnLabels(GeneratePdfReturnLabelsRequest $request)
331
    {
332
        return $this->processRequest(__FUNCTION__, $request);
333
    }
334
335
    /**
336
     * @param GenerateExtraPdfReturnLabelRequest $request
337
     *
338
     * @return GenerateExtraPdfReturnLabelResponse
339
     */
340
    public function generateExtraPdfReturnLabel(GenerateExtraPdfReturnLabelRequest $request)
341
    {
342
        return $this->processRequest(__FUNCTION__, $request);
343
    }
344
345
    /**
346
     * @param GenerateImageLabelsRequest $request
347
     *
348
     * @return GenerateImageLabelsResponse
349
     */
350
    public function generateImageLabels(GenerateImageLabelsRequest $request)
351
    {
352
        return $this->processRequest(__FUNCTION__, $request);
353
    }
354
355
    /**
356
     * @param GenerateImageReturnLabelsRequest $request
357
     *
358
     * @return GenerateImageReturnLabelsResponse
359
     */
360
    public function generateImageReturnLabels(GenerateImageReturnLabelsRequest $request)
361
    {
362
        return $this->processRequest(__FUNCTION__, $request);
363
    }
364
365
    /**
366
     * @param GenerateExtraImageReturnLabelRequest $request
367
     *
368
     * @return GenerateExtraImageReturnLabelResponse
369
     */
370
    public function generateExtraImageReturnLabel(GenerateExtraImageReturnLabelRequest $request)
371
    {
372
        return $this->processRequest(__FUNCTION__, $request);
373
    }
374
375
    /**
376
     * @param GenerateExtraImageLabelRequest $request
377
     *
378
     * @return GenerateExtraImageLabelResponse
379
     */
380
    public function generateExtraImageLabel(GenerateExtraImageLabelRequest $request)
381
    {
382
        return $this->processRequest(__FUNCTION__, $request);
383
    }
384
385
    /**
386
     * @param GenerateZplLabelsRequest $request
387
     *
388
     * @return GenerateZplLabelsResponse
389
     */
390
    public function generateZplLabels(GenerateZplLabelsRequest $request)
391
    {
392
        return $this->processRequest(__FUNCTION__, $request);
393
    }
394
395
    /**
396
     * @param GetExistingPdfLabelRequest $request
397
     *
398
     * @return GetExistingPdfLabelResponse
399
     */
400
    public function getExistingPdfLabel(GetExistingPdfLabelRequest $request)
401
    {
402
        return $this->processRequest(__FUNCTION__, $request);
403
    }
404
405
    /**
406
     * @param GetExistingPdfLabelsRequest $request
407
     *
408
     * @return GetExistingPdfLabelsResponse
409
     */
410
    public function getExistingPdfLabels(GetExistingPdfLabelsRequest $request)
411
    {
412
        return $this->processRequest(__FUNCTION__, $request);
413
    }
414
415
    /**
416
     * @param GetExistingImageLabelRequest $request
417
     *
418
     * @return GetExistingImageLabelResponse
419
     */
420
    public function getExistingImageLabel(GetExistingImageLabelRequest $request)
421
    {
422
        return $this->processRequest(__FUNCTION__, $request);
423
    }
424
425
    /**
426
     * @param GetExistingImageLabelsRequest $request
427
     *
428
     * @return GetExistingPdfLabelsResponse
429
     */
430
    public function getExistingImageLabels(GetExistingImageLabelsRequest $request)
431
    {
432
        return $this->processRequest(__FUNCTION__, $request);
433
    }
434
435
    /**
436
     * @param AddressRequest $request
437
     *
438
     * @return AddressResponse
439
     */
440
    public function address(AddressRequest $request)
441
    {
442
        return $this->processRequest(__FUNCTION__, $request);
443
    }
444
445
    /**
446
     * @param DeliveryEstimateRequest $request
447
     *
448
     * @return DeliveryEstimateResponse
449
     */
450
    public function deliveryEstimate(DeliveryEstimateRequest $request)
451
    {
452
        return $this->processRequest(__FUNCTION__, $request);
453
    }
454
455
    /**
456
     * @param RateRequest $request
457
     *
458
     * @return RateResponse
459
     */
460
    public function rate(RateRequest $request)
461
    {
462
        return $this->processRequest(__FUNCTION__, $request);
463
    }
464
465
    /**
466
     * @param ServicePointsRequest $request
467
     *
468
     * @return ServicePointsResponse
469
     */
470
    public function servicePoints(ServicePointsRequest $request)
471
    {
472
        return $this->processRequest(__FUNCTION__, $request);
473
    }
474
475
    /**
476
     * @param OrderDetailsRequest $request
477
     *
478
     * @return OrderDetailsResponse
479
     */
480
    public function orderDetails(OrderDetailsRequest $request)
481
    {
482
        return $this->processRequest(__FUNCTION__, $request);
483
    }
484
485
    /**
486
     * @param OrderRequest $request
487
     *
488
     * @return OrderSaveResponseType
489
     */
490
    public function order(OrderRequest $request)
491
    {
492
        return $this->processRequest(__FUNCTION__, $request);
493
    }
494
495
    /**
496
     * @param UpdateOrderRequest $request
497
     *
498
     * @return OrderSaveResponseType
499
     */
500
    public function updateOrder(UpdateOrderRequest $request)
501
    {
502
        return $this->processRequest(__FUNCTION__, $request);
503
    }
504
505
    /**
506
     * @param ChangeOrderRequest $request
507
     *
508
     * @return OrderSaveResponseType
509
     */
510
    public function changeOrder(ChangeOrderRequest $request)
511
    {
512
        return $this->processRequest(__FUNCTION__, $request);
513
    }
514
515
    /**
516
     * @param ValidateOrderRequest $request
517
     *
518
     * @return ValidateOrderResponseType
519
     */
520
    public function validateOrder(ValidateOrderRequest $request)
521
    {
522
        return $this->processRequest(__FUNCTION__, $request);
523
    }
524
525
    /**
526
     * @param CommitOrderRequest $request
527
     *
528
     * @return OrderSaveResponseType
529
     */
530
    public function commitOrder(CommitOrderRequest $request)
531
    {
532
        return $this->processRequest(__FUNCTION__, $request);
533
    }
534
535
    /**
536
     * @param DeleteOrderRequest $request
537
     *
538
     * @return DeleteOrderResponse
539
     */
540
    public function deleteOrder(DeleteOrderRequest $request)
541
    {
542
        return $this->processRequest(__FUNCTION__, $request);
543
    }
544
545
    /**
546
     * @param OrderStatusRequest $request
547
     *
548
     * @return OrderStatusResponse
549
     */
550
    public function orderStatus(OrderStatusRequest $request)
551
    {
552
        return $this->processRequest(__FUNCTION__, $request);
553
    }
554
555
    /**
556
     * @param ListOrdersRequest $request
557
     *
558
     * @return ListOrdersResponse
559
     */
560
    public function listOrders(ListOrdersRequest $request)
561
    {
562
        return $this->processRequest(__FUNCTION__, $request);
563
    }
564
565
    /**
566
     * @param PickupRequestOptionsRequest $request
567
     *
568
     * @return PickupRequestDetailsResponse
569
     */
570
    public function pickupRequestOptions(PickupRequestOptionsRequest $request)
571
    {
572
        return $this->processRequest(__FUNCTION__, $request);
573
    }
574
575
    /**
576
     * @param CreatePickupRequestRequest $request
577
     *
578
     * @return CreatePickupRequestResponse
579
     */
580
    public function createPickupRequest(CreatePickupRequestRequest $request)
581
    {
582
        return $this->processRequest(__FUNCTION__, $request);
583
    }
584
585
    /**
586
     * @param PickupRequestQueryType $request
587
     *
588
     * @return PickupRequestDetailsResponse
589
     */
590
    public function pickupRequestDetails(PickupRequestQueryType $request)
591
    {
592
        return $this->processRequest(__FUNCTION__, $request);
593
    }
594
595
    /**
596
     * @param PickupRequestQueryType $request
597
     *
598
     * @return PickupRequestStatusResponse
599
     */
600
    public function pickupRequestStatus(PickupRequestQueryType $request)
601
    {
602
        return $this->processRequest(__FUNCTION__, $request);
603
    }
604
605
    /**
606
     * @param PickupRequestQueryType $request
607
     *
608
     * @return CancelPickupRequestResponse
609
     */
610
    public function cancelPickupRequest(PickupRequestQueryType $request)
611
    {
612
        return $this->processRequest(__FUNCTION__, $request);
613
    }
614
615
    /**
616
     * @param OrdersToShipRequest $request
617
     *
618
     * @return OrdersToShipResponse
619
     */
620
    public function ordersToShip(OrdersToShipRequest $request)
621
    {
622
        return $this->processRequest(__FUNCTION__, $request);
623
    }
624
625
    /**
626
     * @param CancelShipmentsRequest $request
627
     *
628
     * @return CancelShipmentsResponse
629
     */
630
    public function cancelShipments(CancelShipmentsRequest $request)
631
    {
632
        return $this->processRequest(__FUNCTION__, $request);
633
    }
634
635
    /**
636
     * @param ShippingOptionRequest $request
637
     *
638
     * @return ShippingOptionResponse
639
     */
640
    public function shippingOption(ShippingOptionRequest $request)
641
    {
642
        return $this->processRequest(__FUNCTION__, $request);
643
    }
644
645
    /**
646
     * @param ChangeStoresRequestType $request
647
     *
648
     * @return ChangeStoresResponseType
649
     */
650
    public function createStores(ChangeStoresRequestType $request)
651
    {
652
        return $this->processRequest(__FUNCTION__, $request);
653
    }
654
655
    /**
656
     * @param ChangeStoresRequestType $request
657
     *
658
     * @return ChangeStoresResponseType
659
     */
660
    public function updateStores(ChangeStoresRequestType $request)
661
    {
662
        return $this->processRequest(__FUNCTION__, $request);
663
    }
664
665
    /**
666
     * @param DeleteStoresRequest $request
667
     *
668
     * @return DeleteStoresResponse
669
     */
670
    public function deleteStores(DeleteStoresRequest $request)
671
    {
672
        return $this->processRequest(__FUNCTION__, $request);
673
    }
674
675
    /**
676
     * @param ListStoresRequest $request
677
     *
678
     * @return ListStoresResponse
679
     */
680
    public function listStores(ListStoresRequest $request)
681
    {
682
        return $this->processRequest(__FUNCTION__, $request);
683
    }
684
}
685