1 | <?php |
||
9 | class MWSClient |
||
10 | { |
||
11 | const SIGNATURE_METHOD = 'HmacSHA256'; |
||
12 | const SIGNATURE_VERSION = '2'; |
||
13 | const DATE_FORMAT = "Y-m-d\TH:i:s.\\0\\0\\0\\Z"; |
||
14 | const APPLICATION_NAME = 'Looxis/MwsClient'; |
||
15 | const APPLICATION_VERSION = '0.0.1'; |
||
16 | |||
17 | protected $accessKeyId; |
||
18 | protected $secretKey; |
||
19 | protected $sellerId; |
||
20 | protected $client; |
||
21 | protected $marketPlaces; |
||
22 | |||
23 | protected $marketplaceIds = [ |
||
24 | 'A2Q3Y263D00KWC' => 'mws.amazonservices.com', |
||
25 | 'A2EUQ1WTGCTBG2' => 'mws.amazonservices.ca', |
||
26 | 'A1AM78C64UM0Y8' => 'mws.amazonservices.com.mx', |
||
27 | 'ATVPDKIKX0DER' => 'mws.amazonservices.com', |
||
28 | 'A2VIGQ35RCS4UG' => 'mws.amazonservices.ae', |
||
29 | 'A1PA6795UKMFR9' => 'mws-eu.amazonservices.com', |
||
30 | 'ARBP9OOSHTCHU' => 'mws-eu.amazonservices.com', |
||
31 | 'A1RKKUPIHCS9HS' => 'mws-eu.amazonservices.com', |
||
32 | 'A13V1IB3VIYZZH' => 'mws-eu.amazonservices.com', |
||
33 | 'A1F83G8C2ARO7P' => 'mws-eu.amazonservices.com', |
||
34 | 'A21TJRUUN4KGV' => 'mws.amazonservices.in', |
||
35 | 'APJ6JRA9NG5V4' => 'mws-eu.amazonservices.com', |
||
36 | 'A17E79C6D8DWNP' => 'mws-eu.amazonservices.com', |
||
37 | 'A33AVAJ2PDY3EV' => 'mws-eu.amazonservices.com', |
||
38 | 'A19VAU5U5O7RUS' => 'mws-fe.amazonservices.com', |
||
39 | 'A39IBJ37TRP1C6' => 'mws.amazonservices.com.au', |
||
40 | 'A1VC38T7YXB528' => 'mws.amazonservices.jp', |
||
41 | ]; |
||
42 | |||
43 | protected $countries = [ |
||
44 | 'BR' => 'A2Q3Y263D00KWC', |
||
45 | 'CA' => 'A2EUQ1WTGCTBG2', |
||
46 | 'MX' => 'A1AM78C64UM0Y8', |
||
47 | 'US' => 'ATVPDKIKX0DER', |
||
48 | 'AE' => 'A2VIGQ35RCS4UG', |
||
49 | 'DE' => 'A1PA6795UKMFR9', |
||
50 | 'EG' => 'ARBP9OOSHTCHU', |
||
51 | 'ES' => 'A1RKKUPIHCS9HS', |
||
52 | 'FR' => 'A13V1IB3VIYZZH', |
||
53 | 'GB' => 'A1F83G8C2ARO7P', |
||
54 | 'IN' => 'A21TJRUUN4KGV', |
||
55 | 'IT' => 'APJ6JRA9NG5V4', |
||
56 | 'SA' => 'A17E79C6D8DWNP', |
||
57 | 'TR' => 'A33AVAJ2PDY3EV', |
||
58 | 'SG' => 'A19VAU5U5O7RUS', |
||
59 | 'AU' => 'A39IBJ37TRP1C6', |
||
60 | 'JP' => 'A1VC38T7YXB528', |
||
61 | ]; |
||
62 | |||
63 | public function __construct(Client $client = null) |
||
71 | |||
72 | public function setMarketPlaces($countryCodes) |
||
77 | |||
78 | public function getCurrentMarketPlaces() |
||
82 | |||
83 | public function getTimeStamp() |
||
87 | |||
88 | public function getAccessKeyId() |
||
92 | |||
93 | public function setAccessKeyId($key) |
||
99 | |||
100 | public function getSellerId() |
||
104 | |||
105 | public function setSellerId($id) |
||
111 | |||
112 | public function getSignatureMethod() |
||
116 | |||
117 | public function getSignatureVersion() |
||
121 | |||
122 | public function getDomain() |
||
132 | |||
133 | public function getCountry() |
||
137 | |||
138 | public function setCountry($country) |
||
148 | |||
149 | public function getMarketPlaceIds() |
||
153 | |||
154 | public function post($action, $path, $version, $params = [], $body = null) |
||
178 | |||
179 | public function getDefaultQueryParams($action, $version, $params = []) |
||
196 | |||
197 | public function getMarketPlaceParams() |
||
207 | |||
208 | public function generateRequestUri($action, $version, $params = []) |
||
212 | |||
213 | public function getQueryStringForSignature($path, $action, $version, $params = []) |
||
223 | |||
224 | public function generateSignature($path, $action, $version, $params = []) |
||
237 | |||
238 | public function getQuery($path, $action, $version, $params = []) |
||
245 | } |
||
246 |
In PHP it is possible to write to properties without declaring them. For example, the following is perfectly valid PHP code:
Generally, it is a good practice to explictly declare properties to avoid accidental typos and provide IDE auto-completion: