plenty_client 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +23 -0
- data/.rspec +2 -0
- data/.rubocop.yml +43 -0
- data/.travis.yml +5 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +154 -0
- data/Rakefile +6 -0
- data/lib/plenty_client/config.rb +15 -0
- data/lib/plenty_client/constants.rb +362 -0
- data/lib/plenty_client/endpoint.rb +73 -0
- data/lib/plenty_client/item/attribute/name.rb +52 -0
- data/lib/plenty_client/item/attribute/value.rb +52 -0
- data/lib/plenty_client/item/attribute/value_name.rb +52 -0
- data/lib/plenty_client/item/attribute.rb +36 -0
- data/lib/plenty_client/item/barcode.rb +56 -0
- data/lib/plenty_client/item/cross_selling.rb +26 -0
- data/lib/plenty_client/item/image/availability.rb +37 -0
- data/lib/plenty_client/item/image/name.rb +57 -0
- data/lib/plenty_client/item/image.rb +53 -0
- data/lib/plenty_client/item/manufacturer/commission.rb +52 -0
- data/lib/plenty_client/item/manufacturer.rb +36 -0
- data/lib/plenty_client/item/property/market_reference.rb +52 -0
- data/lib/plenty_client/item/property/name.rb +52 -0
- data/lib/plenty_client/item/property.rb +36 -0
- data/lib/plenty_client/item/property_group.rb +36 -0
- data/lib/plenty_client/item/property_group_name.rb +44 -0
- data/lib/plenty_client/item/sales_price.rb +37 -0
- data/lib/plenty_client/item/shipping_profile.rb +26 -0
- data/lib/plenty_client/item/unit.rb +35 -0
- data/lib/plenty_client/item/unit_name.rb +38 -0
- data/lib/plenty_client/item/variation/barcode.rb +53 -0
- data/lib/plenty_client/item/variation/bundle.rb +52 -0
- data/lib/plenty_client/item/variation/category.rb +52 -0
- data/lib/plenty_client/item/variation/client.rb +37 -0
- data/lib/plenty_client/item/variation/default_category.rb +45 -0
- data/lib/plenty_client/item/variation/description.rb +53 -0
- data/lib/plenty_client/item/variation/image.rb +49 -0
- data/lib/plenty_client/item/variation/market.rb +37 -0
- data/lib/plenty_client/item/variation/market_ident_number.rb +53 -0
- data/lib/plenty_client/item/variation/sales_price.rb +53 -0
- data/lib/plenty_client/item/variation/sku.rb +52 -0
- data/lib/plenty_client/item/variation/stock.rb +57 -0
- data/lib/plenty_client/item/variation/supplier.rb +52 -0
- data/lib/plenty_client/item/variation/warehouse.rb +52 -0
- data/lib/plenty_client/item/variation.rb +35 -0
- data/lib/plenty_client/item/variation_property.rb +36 -0
- data/lib/plenty_client/item/variation_property_value.rb +48 -0
- data/lib/plenty_client/item.rb +24 -0
- data/lib/plenty_client/item_set/component.rb +54 -0
- data/lib/plenty_client/item_set/config.rb +20 -0
- data/lib/plenty_client/item_set.rb +44 -0
- data/lib/plenty_client/order/contact_wish.rb +17 -0
- data/lib/plenty_client/order/coupon_code/contact.rb +20 -0
- data/lib/plenty_client/order/coupon_code/validation.rb +20 -0
- data/lib/plenty_client/order/coupon_code.rb +19 -0
- data/lib/plenty_client/order/currency.rb +32 -0
- data/lib/plenty_client/order/date.rb +32 -0
- data/lib/plenty_client/order/item/date.rb +20 -0
- data/lib/plenty_client/order/item/property.rb +20 -0
- data/lib/plenty_client/order/item/serial_number.rb +25 -0
- data/lib/plenty_client/order/item.rb +18 -0
- data/lib/plenty_client/order/property.rb +21 -0
- data/lib/plenty_client/order/referrer.rb +22 -0
- data/lib/plenty_client/order/shipping/country.rb +18 -0
- data/lib/plenty_client/order/shipping/information.rb +45 -0
- data/lib/plenty_client/order/shipping/package.rb +54 -0
- data/lib/plenty_client/order/shipping/profile.rb +23 -0
- data/lib/plenty_client/order/shipping/service_provider.rb +27 -0
- data/lib/plenty_client/order/shipping.rb +12 -0
- data/lib/plenty_client/order.rb +43 -0
- data/lib/plenty_client/request.rb +128 -0
- data/lib/plenty_client/sales_price/account.rb +30 -0
- data/lib/plenty_client/sales_price/country.rb +26 -0
- data/lib/plenty_client/sales_price/currency.rb +26 -0
- data/lib/plenty_client/sales_price/customer_class.rb +31 -0
- data/lib/plenty_client/sales_price/name.rb +36 -0
- data/lib/plenty_client/sales_price/online_store.rb +29 -0
- data/lib/plenty_client/sales_price/referrer.rb +25 -0
- data/lib/plenty_client/version.rb +3 -0
- data/lib/plenty_client.rb +108 -0
- data/plenty_client.gemspec +29 -0
- metadata +204 -0
@@ -0,0 +1,362 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
AVAILABLE_LANGS = %w(de en bg fr it es tr nl pl pt nn ro da se cz ru sk cn vn).freeze
|
3
|
+
|
4
|
+
PAYMENT_STATUS_IDS = [
|
5
|
+
1, # Awaiting approval
|
6
|
+
2, # Approved
|
7
|
+
3, # Captured
|
8
|
+
4, # Partially captured
|
9
|
+
5, # Cancelled
|
10
|
+
6, # Refused
|
11
|
+
7, # Awaiting renewal
|
12
|
+
8, # Expired
|
13
|
+
9, # Refunded
|
14
|
+
10, # Partially refunded
|
15
|
+
].freeze
|
16
|
+
|
17
|
+
AVAILABLE_CURRENCYS = [
|
18
|
+
'AED', # United Arab Emirates dirham
|
19
|
+
'AUD', # Australian dollar
|
20
|
+
'BGN', # Bulgarian lev
|
21
|
+
'BRL', # Brazilian real
|
22
|
+
'CAD', # Canadian dollar
|
23
|
+
'CHF', # Swiss franc
|
24
|
+
'CNY', # Chinese Renminbi
|
25
|
+
'CZK', # Czech koruna
|
26
|
+
'DKK', # Danish krone
|
27
|
+
'EUR', # Euro
|
28
|
+
'GBP', # Pound sterling
|
29
|
+
'HKD', # Hong Kong dollar
|
30
|
+
'HUF', # Hungarian forint
|
31
|
+
'IDR', # Indonesian rupiah
|
32
|
+
'INR', # Indian rupee
|
33
|
+
'JPY', # Japanese yen
|
34
|
+
'MXN', # Mexican peso
|
35
|
+
'MYR', # Malaysian ringgit
|
36
|
+
'NOK', # Norwegian krone
|
37
|
+
'PHP', # Philippine peso
|
38
|
+
'PLN', # Polish zloty
|
39
|
+
'RON', # Romanian leu
|
40
|
+
'RUB', # Russian ruble
|
41
|
+
'SEK', # Swedish krona
|
42
|
+
'THB', # Thai baht
|
43
|
+
'TRY', # Turkish lira
|
44
|
+
'USD', # United States dollar
|
45
|
+
'VND', # Vietnamese dong
|
46
|
+
'ZAR', # South African rand
|
47
|
+
].freeze
|
48
|
+
|
49
|
+
AVAILABLE_UNITS = {
|
50
|
+
'C62' => 1, # Piece
|
51
|
+
'KGM' => 2, # Kilogram
|
52
|
+
'GRM' => 3, # Gram
|
53
|
+
'MGM' => 4, # Milligram
|
54
|
+
'LTR' => 5, # Litre
|
55
|
+
'DPC' => 6, # 12 pieces/dozen
|
56
|
+
'OP' => 7, # Two pack
|
57
|
+
'BL' => 8, # Bale
|
58
|
+
'DI' => 9, # Dispenser
|
59
|
+
'BG' => 10, # Bag
|
60
|
+
'ST' => 11, # Sheet
|
61
|
+
'D64' => 12, # Block
|
62
|
+
'PD' => 13, # Block
|
63
|
+
'QR' => 14, # Quire
|
64
|
+
'BX' => 15, # Box
|
65
|
+
'CL' => 16, # Coil
|
66
|
+
'CH' => 17, # Container
|
67
|
+
'TN' => 18, # Tin
|
68
|
+
'CA' => 19, # Can
|
69
|
+
'DZN' => 20, # Dozen
|
70
|
+
'BJ' => 21, # Bucket
|
71
|
+
'CS' => 22, # Case
|
72
|
+
'Z3' => 23, # Cask
|
73
|
+
'BO' => 24, # Bottle
|
74
|
+
'OZA' => 25, # Fluid ounce
|
75
|
+
'JR' => 26, # Jar
|
76
|
+
'CG' => 27, # Cardboard box
|
77
|
+
'CT' => 28, # Carton
|
78
|
+
'KT' => 29, # Kit
|
79
|
+
'AA' => 30, # Ball
|
80
|
+
'MTR' => 31, # Metre
|
81
|
+
'MLT' => 32, # Millilitre
|
82
|
+
'MMT' => 33, # Millimetre
|
83
|
+
'PR' => 34, # Pair
|
84
|
+
'PA' => 35, # Packet
|
85
|
+
'PK' => 36, # Bundle
|
86
|
+
'D97' => 37, # Pallet/unit load
|
87
|
+
'MTK' => 38, # Square metre
|
88
|
+
'CMK' => 39, # Square centimetre
|
89
|
+
'MMK' => 40, # Square millimetre
|
90
|
+
'SCM' => 41, # Square centimetre (non-standard)
|
91
|
+
'SMM' => 42, # Square millimetre (non-standard)
|
92
|
+
'RO' => 43, # Role
|
93
|
+
'SA' => 44, # Sack
|
94
|
+
'SET' => 45, # Set
|
95
|
+
'RL' => 46, # Reel
|
96
|
+
'EA' => 47, # Each
|
97
|
+
'TU' => 48, # Tube
|
98
|
+
'OZ' => 49, # Ounce
|
99
|
+
'WE' => 50, # Wet ton
|
100
|
+
'CMT' => 51, # Centimetre
|
101
|
+
'INH' => 52 # Inch
|
102
|
+
}.freeze
|
103
|
+
|
104
|
+
AVAILABLE_COUNTRIES = {
|
105
|
+
'' => 0, # Unknown
|
106
|
+
'DE' => 1, # Germany
|
107
|
+
'AT' => 2, # Austria
|
108
|
+
'BE' => 3, # Belgium
|
109
|
+
'CH' => 4, # Switzerland
|
110
|
+
'CY' => 5, # Cyprus
|
111
|
+
'CZ' => 6, # Czech Republic
|
112
|
+
'DK' => 7, # Denmark
|
113
|
+
'ES' => 8, # Spain
|
114
|
+
'EE' => 9, # Estonia
|
115
|
+
'FR' => 10, # France
|
116
|
+
'FI' => 11, # Finland
|
117
|
+
'GB' => 12, # United Kingdom
|
118
|
+
'GR' => 13, # Greece
|
119
|
+
'HU' => 14, # Hungary
|
120
|
+
'IT' => 15, # Italy
|
121
|
+
'IE' => 16, # Ireland
|
122
|
+
'LU' => 17, # Luxembourg
|
123
|
+
'LV' => 18, # Latvia
|
124
|
+
'MT' => 19, # Malta
|
125
|
+
'NO' => 20, # Norway
|
126
|
+
'NL' => 21, # Netherlands
|
127
|
+
'PT' => 22, # Portugal
|
128
|
+
'PL' => 23, # Poland
|
129
|
+
'SE' => 24, # Sweden
|
130
|
+
'SG' => 25, # Singapore
|
131
|
+
'SK' => 26, # Slovakia
|
132
|
+
'SI' => 27, # Slovenia
|
133
|
+
'US' => 28, # USA
|
134
|
+
'AU' => 29, # Australia
|
135
|
+
'CA' => 30, # Canada
|
136
|
+
'CN' => 31, # China
|
137
|
+
'JP' => 32, # Japan
|
138
|
+
'LT' => 33, # Lithuania
|
139
|
+
'LI' => 34, # Liechtenstein
|
140
|
+
'MC' => 35, # Monaco
|
141
|
+
'MX' => 36, # Mexico
|
142
|
+
'IC' => 37, # Canary Islands
|
143
|
+
'IN' => 38, # India
|
144
|
+
'BR' => 39, # Brazil
|
145
|
+
'RU' => 40, # Russia
|
146
|
+
'RO' => 41, # Romania
|
147
|
+
'EA' => 42, # Ceuta
|
148
|
+
# 'EA' => 43, # Melilla
|
149
|
+
'BG' => 44, # Bulgaria
|
150
|
+
'XZ' => 45, # Kosovo
|
151
|
+
'KG' => 46, # Kyrgyzstan
|
152
|
+
'KZ' => 47, # Kazakhstan
|
153
|
+
'BY' => 48, # Belarus
|
154
|
+
'UZ' => 49, # Uzbekistan
|
155
|
+
'MA' => 50, # Morocco
|
156
|
+
'AM' => 51, # Armenia
|
157
|
+
'AL' => 52, # Albania
|
158
|
+
'EG' => 53, # Egypt
|
159
|
+
'HR' => 54, # Croatia
|
160
|
+
'MV' => 55, # Maldives
|
161
|
+
'MY' => 56, # Malaysia
|
162
|
+
'HK' => 57, # Hong Kong
|
163
|
+
'YE' => 58, # Yemen
|
164
|
+
'IL' => 59, # Israel
|
165
|
+
'TW' => 60, # Taiwan
|
166
|
+
'GP' => 61, # Guadeloupe
|
167
|
+
'TH' => 62, # Thailand
|
168
|
+
'TR' => 63, # Turkey
|
169
|
+
# 'GR' => 64, # Greek Islands
|
170
|
+
# 'ES' => 65, # Balearic Islands
|
171
|
+
'NZ' => 66, # New Zealand
|
172
|
+
'AF' => 67, # Afghanistan
|
173
|
+
'AX' => 68, # Aland Islands
|
174
|
+
'DZ' => 69, # Algeria
|
175
|
+
'AS' => 70, # American Samoa
|
176
|
+
'AD' => 71, # Andorra
|
177
|
+
'AO' => 72, # Angola
|
178
|
+
'AI' => 73, # Anguilla
|
179
|
+
'AQ' => 74, # Antarctica
|
180
|
+
'AG' => 75, # Antigua and Barbuda
|
181
|
+
'AR' => 76, # Argentina
|
182
|
+
'AW' => 77, # Aruba
|
183
|
+
'AZ' => 78, # Azerbaijan
|
184
|
+
'BS' => 79, # The Bahamas
|
185
|
+
'BH' => 80, # Bahrain
|
186
|
+
'BD' => 81, # Bangladesh
|
187
|
+
'BB' => 82, # Barbados
|
188
|
+
'BZ' => 83, # Belize
|
189
|
+
'BJ' => 84, # Benin
|
190
|
+
'BM' => 85, # Bermuda
|
191
|
+
'BT' => 86, # Bhutan
|
192
|
+
'BO' => 87, # Bolivia
|
193
|
+
'BA' => 88, # Bosnia and Herzegovina
|
194
|
+
'BW' => 89, # Botswana
|
195
|
+
'BV' => 90, # Bouvet Island
|
196
|
+
'IO' => 91, # British Indian Ocean Territory
|
197
|
+
'BN' => 92, # Brunei Darussalam
|
198
|
+
'BF' => 93, # Burkina Faso
|
199
|
+
'BI' => 94, # Burundi
|
200
|
+
'KH' => 95, # Cambodia
|
201
|
+
'CM' => 96, # Cameroon
|
202
|
+
'CV' => 97, # Cape Verde
|
203
|
+
'KY' => 98, # Cayman Islands
|
204
|
+
'CF' => 99, # Central African Republic
|
205
|
+
'TD' => 100, # Chad
|
206
|
+
'CL' => 101, # Chile
|
207
|
+
'CX' => 102, # Christmas Island
|
208
|
+
'CC' => 103, # Cocos Islands/Keeling Islands
|
209
|
+
'CO' => 104, # Columbia
|
210
|
+
'KM' => 105, # Comoros
|
211
|
+
'CG' => 106, # Congo
|
212
|
+
'CD' => 107, # Democratic Republic of the Congo
|
213
|
+
'CK' => 108, # Cook Islands
|
214
|
+
'CR' => 109, # Costa Rica
|
215
|
+
'CI' => 110, # Ivory coast
|
216
|
+
'CU' => 112, # Cuba
|
217
|
+
'DJ' => 113, # Djibouti
|
218
|
+
'DM' => 114, # Dominica
|
219
|
+
'DO' => 115, # Dominican Republic
|
220
|
+
'EC' => 116, # Ecuador
|
221
|
+
'SV' => 117, # El Salvador
|
222
|
+
'GQ' => 118, # Equatorial Guinea
|
223
|
+
'ER' => 119, # Eritrea
|
224
|
+
'ET' => 120, # Ethiopia
|
225
|
+
'FK' => 121, # Falkland Islands
|
226
|
+
'FO' => 122, # Faroe Islands
|
227
|
+
'FJ' => 123, # Fiji
|
228
|
+
'GF' => 124, # French Guiana
|
229
|
+
'PF' => 125, # French Polynesia
|
230
|
+
'TF' => 126, # French Southern and Antarctic Lands
|
231
|
+
'GA' => 127, # Gabon
|
232
|
+
'GM' => 128, # Gambia
|
233
|
+
'GE' => 129, # Georgia
|
234
|
+
'GH' => 130, # Ghana
|
235
|
+
'GI' => 131, # Gibraltar
|
236
|
+
'GL' => 132, # Greenland
|
237
|
+
'GD' => 133, # Grenada
|
238
|
+
'GU' => 134, # Guam
|
239
|
+
'GT' => 135, # Guatemala
|
240
|
+
'GG' => 136, # Guernsey
|
241
|
+
'GN' => 137, # Guinea
|
242
|
+
'GW' => 138, # Guinea-Bissau
|
243
|
+
'GY' => 139, # Guyana
|
244
|
+
'HT' => 140, # Haiti
|
245
|
+
'HM' => 141, # Heard Island and McDonald Islands
|
246
|
+
'VA' => 142, # Vatican City
|
247
|
+
'HN' => 143, # Honduras
|
248
|
+
'IS' => 144, # Iceland
|
249
|
+
'ID' => 145, # Indonesia
|
250
|
+
'IR' => 146, # Iran
|
251
|
+
'IQ' => 147, # Iraq
|
252
|
+
'IM' => 148, # Isle of Man
|
253
|
+
'JM' => 149, # Jamaica
|
254
|
+
'JE' => 150, # Jersey
|
255
|
+
'JO' => 151, # Jordan
|
256
|
+
'KE' => 152, # Kenya
|
257
|
+
'KI' => 153, # Kiribati
|
258
|
+
'KP' => 154, # Democratic People's Republic of Korea
|
259
|
+
'KR' => 155, # Republic of Korea
|
260
|
+
'KW' => 156, # Kuwait
|
261
|
+
'LA' => 158, # Laos
|
262
|
+
'LB' => 159, # Lebanon
|
263
|
+
'LS' => 160, # Lesotho
|
264
|
+
'LR' => 161, # Liberia
|
265
|
+
'LY' => 162, # Libya
|
266
|
+
'MO' => 163, # Macao
|
267
|
+
'MK' => 164, # Macedonia
|
268
|
+
'MG' => 165, # Madagascar
|
269
|
+
'MW' => 166, # Malawi
|
270
|
+
'ML' => 168, # Mali
|
271
|
+
'MH' => 169, # Marshall Islands
|
272
|
+
'MQ' => 170, # Martinique
|
273
|
+
'MR' => 171, # Mauritania
|
274
|
+
'MU' => 172, # Mauritius
|
275
|
+
'YT' => 173, # Mayotte
|
276
|
+
'FM' => 174, # Micronesia
|
277
|
+
'MD' => 175, # Moldova
|
278
|
+
'MN' => 176, # Mongolia
|
279
|
+
'ME' => 177, # Montenegro
|
280
|
+
'MS' => 178, # Montserrat
|
281
|
+
'MZ' => 179, # Mozambique
|
282
|
+
'MM' => 180, # Myanmar
|
283
|
+
'NA' => 181, # Namibia
|
284
|
+
'NR' => 182, # Nauru
|
285
|
+
'NP' => 183, # Nepal
|
286
|
+
'AN' => 184, # Netherlands Antilles
|
287
|
+
'NC' => 185, # New Caledonia
|
288
|
+
'NI' => 186, # Nicaragua
|
289
|
+
'NE' => 187, # Niger
|
290
|
+
'NG' => 188, # Nigeria
|
291
|
+
'NU' => 189, # Niue
|
292
|
+
'NF' => 190, # Norfolk Island
|
293
|
+
'MP' => 191, # Northern Mariana Islands
|
294
|
+
'OM' => 192, # Oman
|
295
|
+
'PK' => 193, # Pakistan
|
296
|
+
'PW' => 194, # Palau
|
297
|
+
'PS' => 195, # Palestinian territories
|
298
|
+
'PA' => 196, # Panama
|
299
|
+
'PG' => 197, # Papua New Guinea
|
300
|
+
'PY' => 198, # Paraguay
|
301
|
+
'PE' => 199, # Peru
|
302
|
+
'PH' => 200, # Philippines
|
303
|
+
'PN' => 201, # Pitcairn Islands
|
304
|
+
'PR' => 202, # Puerto Rico
|
305
|
+
'QA' => 203, # Qatar
|
306
|
+
'RE' => 204, # Reunion
|
307
|
+
'RW' => 205, # Rwanda
|
308
|
+
'SH' => 206, # Saint Helena
|
309
|
+
'KN' => 207, # Saint Kitts and Nevis
|
310
|
+
'LC' => 208, # Saint Lucia
|
311
|
+
'PM' => 209, # Saint Pierre and Miquelon
|
312
|
+
'VC' => 210, # Saint Vincent and the Grenadines
|
313
|
+
'WS' => 211, # Samoa
|
314
|
+
'SM' => 212, # San Marino
|
315
|
+
'ST' => 213, # Sao Tome and Principe
|
316
|
+
'SA' => 214, # Saudi Arabia
|
317
|
+
'SN' => 215, # Senegal
|
318
|
+
'RS' => 216, # Serbia
|
319
|
+
'SC' => 217, # Seychelles
|
320
|
+
'SL' => 218, # Sierra Leone
|
321
|
+
'SB' => 219, # Solomon Islands
|
322
|
+
'SO' => 220, # Somalia
|
323
|
+
'ZA' => 221, # South Africa
|
324
|
+
'GS' => 222, # South Georgia and the South Sandwich Islands
|
325
|
+
'LK' => 223, # Sri Lanka
|
326
|
+
'SD' => 224, # Sudan
|
327
|
+
'SR' => 225, # Suriname
|
328
|
+
'SJ' => 226, # Spitsbergen and Jan Mayen
|
329
|
+
'SZ' => 227, # Swaziland
|
330
|
+
'SY' => 228, # Syria
|
331
|
+
'TJ' => 229, # Tajikistan
|
332
|
+
'TZ' => 230, # Tanzania
|
333
|
+
'TL' => 231, # Timor-Leste
|
334
|
+
'TG' => 232, # Togo
|
335
|
+
'TK' => 233, # Tokelau
|
336
|
+
'TO' => 234, # Tonga
|
337
|
+
'TT' => 235, # Trinidad and Tobago
|
338
|
+
'TN' => 236, # Tunisia
|
339
|
+
'TM' => 237, # Turkmenistan
|
340
|
+
'TC' => 238, # Turks and Caicos Islands
|
341
|
+
'TV' => 239, # Tuvalu
|
342
|
+
'UG' => 240, # Uganda
|
343
|
+
'UA' => 241, # Ukraine
|
344
|
+
'UM' => 242, # United States Minor Outlying Islands
|
345
|
+
'UY' => 243, # Uruguay
|
346
|
+
'VU' => 244, # Vanuatu
|
347
|
+
'VE' => 245, # Venezuela
|
348
|
+
'VN' => 246, # Vietnam
|
349
|
+
'VG' => 247, # British Virgin Islands
|
350
|
+
'VI' => 248, # United States Virgin Islands
|
351
|
+
'WF' => 249, # Wallis and Futuna
|
352
|
+
'EH' => 250, # Western Sahara
|
353
|
+
'ZM' => 252, # Zambia
|
354
|
+
'ZW' => 253, # Zimbabwe
|
355
|
+
'AE' => 254, # United Arab Emirates
|
356
|
+
# 'DE' => 255, # Helgoland
|
357
|
+
# 'DE' => 256, # Buesingen
|
358
|
+
# 'CUW' => 258, # Curacao
|
359
|
+
'SXM' => 259, # Sint Maarten
|
360
|
+
'BES' => 260, # BES Islands
|
361
|
+
}.freeze
|
362
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
module Endpoint
|
3
|
+
# Method that replaces the arguments in an endpoint with the given parameters.
|
4
|
+
# Arguments that are passed to the build_endpoint method, but do not
|
5
|
+
# live in the endpoint, are discarded.
|
6
|
+
def build_endpoint(api_endpoint_template, arguments = {})
|
7
|
+
# Duplicate constant to temporary endpoint string
|
8
|
+
api_endpoint_result = api_endpoint_template.dup
|
9
|
+
# Endpoint parameters hash that links symbols to regex
|
10
|
+
endpoint_parameters = {
|
11
|
+
account: /\{accountId\}/,
|
12
|
+
account_ype: /\{accountType\}/,
|
13
|
+
attribute: /\{attributeId\}/,
|
14
|
+
attribute_value: /\{attributeValueId\}/,
|
15
|
+
barcode: /\{barcodeId\}/,
|
16
|
+
bundle: /\{bundleId\}/,
|
17
|
+
cat: /\{catId\}/,
|
18
|
+
commission: /\{commissionId\}/,
|
19
|
+
component: /\{componentId\}/,
|
20
|
+
contact: /\{contactId\}/,
|
21
|
+
country: /\{countryId\}/,
|
22
|
+
coupon_string: /\{coupon\}/,
|
23
|
+
cross_item: /\{crossItemId\}/,
|
24
|
+
currency: /\{currencyIso\}/,
|
25
|
+
customer_class: /\{customerClassId\}/,
|
26
|
+
image: /\{imageId\}/,
|
27
|
+
item: /\{itemId\}/,
|
28
|
+
item_set: /\{itemSetId\}/,
|
29
|
+
lang: /\{lang\}/,
|
30
|
+
manufacturer: /\{manufacturerId\}/,
|
31
|
+
market: /\{marketId\}/,
|
32
|
+
market_ident_number: /\{marketIdentNumberId\}/,
|
33
|
+
marketplace: /\{marketplaceId\}/,
|
34
|
+
order: /\{orderId\}/,
|
35
|
+
order_item: /\{orderItemId\}/,
|
36
|
+
parent_referrer: /\{parentReferrerId\}/,
|
37
|
+
plenty: /\{plentyId\}/,
|
38
|
+
preset: /\{presetId\}/,
|
39
|
+
price: /\{priceId\}/,
|
40
|
+
property_group: /\{propertyGroupId\}/,
|
41
|
+
property: /\{propertyId\}/,
|
42
|
+
referrer: /\{referrerId\}/,
|
43
|
+
sales_price: /\{salesPriceId\}/,
|
44
|
+
shipping_profile: /\{shippingProfileId\}/,
|
45
|
+
shipping_package: /\{orderShippingPackageId\}/,
|
46
|
+
shipping_service_provider: /\{shippingServiceProviderID\}/,
|
47
|
+
sku: /\{skuId\}/,
|
48
|
+
type: /\{typeId\}/,
|
49
|
+
type_string: /\{type\}/,
|
50
|
+
unit: /\{unitId\}/,
|
51
|
+
value: /\{valueId\}/,
|
52
|
+
variation: /\{variationId\}/,
|
53
|
+
variation_supplier: /\{variationSupplierId\}/,
|
54
|
+
warehouse: /\{warehouseId\}/,
|
55
|
+
webstore: /\{webstoreId\}/
|
56
|
+
}
|
57
|
+
# Loop over the given argument symbols, retrieve the corresponding regex
|
58
|
+
# and replace the argument with the corresponding value.
|
59
|
+
arguments.each do |k, v|
|
60
|
+
api_endpoint_result.gsub!(endpoint_parameters.fetch(k), v.to_s)
|
61
|
+
end
|
62
|
+
|
63
|
+
api_endpoint_result
|
64
|
+
end
|
65
|
+
|
66
|
+
def routes
|
67
|
+
# Prints all available routes with their values in the given module
|
68
|
+
constants.each do |const|
|
69
|
+
puts "#{const}: \t #{const_get(const)}" if const.to_s.upcase!.nil?
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
module Item
|
3
|
+
module Attribute
|
4
|
+
class Name
|
5
|
+
extend PlentyClient::Endpoint
|
6
|
+
extend PlentyClient::Request
|
7
|
+
|
8
|
+
ITEM_ATTRIBUTE_PATH = '/items/attributes'.freeze
|
9
|
+
|
10
|
+
CREATE_ITEM_ATTRIBUTES = '/{attributeId}/names'.freeze
|
11
|
+
LIST_ITEM_ATTRIBUTE = '/{attributeId}/names'.freeze
|
12
|
+
GET_ITEMS_ATTRIBUTE = '/{attributeId}/names/{lang}'.freeze
|
13
|
+
UPDATE_ITEMS_ATTRIBUTE = '/{attributeId}/names/{lang}'.freeze
|
14
|
+
DELETE_ITEMS_ATTRIBUTE = '/{attributeId}/names/{lang}'.freeze
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def create(attribute_id, headers = {})
|
18
|
+
post(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{CREATE_ITEM_ATTRIBUTES}"),
|
19
|
+
attribute: attribute_id,
|
20
|
+
headers)
|
21
|
+
end
|
22
|
+
|
23
|
+
def list(attribute_id, headers = {}, &block)
|
24
|
+
get(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{LIST_ITEM_ATTRIBUTE}"),
|
25
|
+
attribute: attribute_id,
|
26
|
+
headers, &block)
|
27
|
+
end
|
28
|
+
|
29
|
+
def find(attribute_id, lang, headers = {}, &block)
|
30
|
+
get(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{GET_ITEMS_ATTRIBUTE}",
|
31
|
+
attribute: attribute_id,
|
32
|
+
lang: lang),
|
33
|
+
headers, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def update(attribute_id, lang, body = {})
|
37
|
+
put(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{UPDATE_ITEMS_ATTRIBUTE}",
|
38
|
+
attribute: attribute_id,
|
39
|
+
lang: lang),
|
40
|
+
body)
|
41
|
+
end
|
42
|
+
|
43
|
+
def delete(attribute_id, lang)
|
44
|
+
delete(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{DELETE_ITEMS_ATTRIBUTE}",
|
45
|
+
attribute: attribute_id,
|
46
|
+
lang: lang))
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
module Item
|
3
|
+
module Attribute
|
4
|
+
class Value
|
5
|
+
extend PlentyClient::Endpoint
|
6
|
+
extend PlentyClient::Request
|
7
|
+
|
8
|
+
ITEM_ATTRIBUTE_PATH = '/items/attributes'.freeze
|
9
|
+
|
10
|
+
CREATE_ITEM_ATTRIBUTE_VALUES = '/{attributeId}/values'.freeze
|
11
|
+
LIST_ITEM_ATTRIBUTE_VALUE = '/{attributeId}/values'.freeze
|
12
|
+
GET_ITEMS_ATTRIBUTE_VALUE = '/{attributeId}/values/{valueId}'.freeze
|
13
|
+
UPDATE_ITEMS_ATTRIBUTE_VALUE = '/{attributeId}/values/{valueId}'.freeze
|
14
|
+
DELETE_ITEMS_ATTRIBUTE_VALUE = '/{attributeId}/values/{valueId}'.freeze
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def create(attribute_id, body = {})
|
18
|
+
post(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{CREATE_ITEM_ATTRIBUTE_VALUES}"),
|
19
|
+
attribute: attribute_id,
|
20
|
+
body)
|
21
|
+
end
|
22
|
+
|
23
|
+
def list(attribute_id, headers = {}, &block)
|
24
|
+
get(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{LIST_ITEM_ATTRIBUTE_VALUE}"),
|
25
|
+
attribute: attribute_id,
|
26
|
+
headers, &block)
|
27
|
+
end
|
28
|
+
|
29
|
+
def find(attribute_id, value_id, headers = {}, &block)
|
30
|
+
get(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{GET_ITEMS_ATTRIBUTE_VALUE}",
|
31
|
+
attribute: attribute_id,
|
32
|
+
value: value_id),
|
33
|
+
headers, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def update(attribute_id, value_id, body = {}, &block)
|
37
|
+
put(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{UPDATE_ITEMS_ATTRIBUTE_VALUE}",
|
38
|
+
attribute: attribute_id,
|
39
|
+
value: value_id),
|
40
|
+
body, &block)
|
41
|
+
end
|
42
|
+
|
43
|
+
def delete(attribute_id, value_id)
|
44
|
+
delete(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{DELETE_ITEMS_ATTRIBUTE_VALUE}",
|
45
|
+
attribute: attribute_id,
|
46
|
+
value: value_id))
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
module Item
|
3
|
+
module Attribute
|
4
|
+
class ValueName
|
5
|
+
extend PlentyClient::Endpoint
|
6
|
+
extend PlentyClient::Request
|
7
|
+
|
8
|
+
ITEM_ATTRIBUTE_PATH = '/items/attribute_values'.freeze
|
9
|
+
|
10
|
+
CREATE_ITEM_ATTRIBUTE_VALUES = '/{attributeValueId}/names'.freeze
|
11
|
+
LIST_ITEM_ATTRIBUTE_VALUE = '/{attributeValueId}/names'.freeze
|
12
|
+
GET_ITEMS_ATTRIBUTE_VALUE = '/{attributeValueId}/names/{lang}'.freeze
|
13
|
+
UPDATE_ITEMS_ATTRIBUTE_VALUE = '/{attributeValueId}/names/{lang}'.freeze
|
14
|
+
DELETE_ITEMS_ATTRIBUTE_VALUE = '/{attributeValueId}/names/{lang}'.freeze
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def create(attribute_value_id, body = {})
|
18
|
+
post(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{CREATE_ITEM_ATTRIBUTE_VALUES}"),
|
19
|
+
attribute_value: attribute_value_id,
|
20
|
+
body)
|
21
|
+
end
|
22
|
+
|
23
|
+
def list(attribute_value_id, headers = {}, &block)
|
24
|
+
get(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{LIST_ITEM_ATTRIBUTE_VALUE}"),
|
25
|
+
attribute_value: attribute_value_id,
|
26
|
+
headers, &block)
|
27
|
+
end
|
28
|
+
|
29
|
+
def find(attribute_value_id, lang, headers = {}, &block)
|
30
|
+
get(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{GET_ITEMS_ATTRIBUTE_VALUE}",
|
31
|
+
attribute_value: attribute_value_id,
|
32
|
+
lang: lang),
|
33
|
+
headers, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def update(attribute_value_id, lang, body = {}, &block)
|
37
|
+
put(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{UPDATE_ITEMS_ATTRIBUTE_VALUE}",
|
38
|
+
attribute_value: attribute_value_id,
|
39
|
+
lang: lang),
|
40
|
+
body, &block)
|
41
|
+
end
|
42
|
+
|
43
|
+
def delete(attribute_value_id, value_id)
|
44
|
+
delete(build_endpoint("#{ITEM_ATTRIBUTE_PATH}#{DELETE_ITEMS_ATTRIBUTE_VALUE}",
|
45
|
+
attribute_value: attribute_value_id,
|
46
|
+
lang: lang))
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
module Item
|
3
|
+
module Attribute
|
4
|
+
extend PlentyClient::Endpoint
|
5
|
+
extend PlentyClient::Request
|
6
|
+
|
7
|
+
CREATE_ATTRIBUTE = '/items/attributes'.freeze
|
8
|
+
LIST_ATTRIBUTES = '/items/attributes'.freeze
|
9
|
+
GET_ATTRIBUTE = '/items/attributes/{attributeId}'.freeze
|
10
|
+
UPDATE_ATTRIBUTE = '/items/attributes/{attributeId}'.freeze
|
11
|
+
DELETE_ATTRIBUTE = '/items/attributes/{attributeId}'.freeze
|
12
|
+
|
13
|
+
class << self
|
14
|
+
def list(headers = {}, &block)
|
15
|
+
get(build_endpoint(LIST_ATTRIBUTES), headers, &block)
|
16
|
+
end
|
17
|
+
|
18
|
+
def find(attribute_id, headers = {}, &block)
|
19
|
+
get(build_endpoint(GET_ATTRIBUTE, attribute: attribute_id), headers, &block)
|
20
|
+
end
|
21
|
+
|
22
|
+
def create(headers = {})
|
23
|
+
post(build_endpoint(CREATE_ATTRIBUTE), headers)
|
24
|
+
end
|
25
|
+
|
26
|
+
def update(attribute_id, headers = {})
|
27
|
+
post(build_endpoint(UPDATE_ATTRIBUTE, attribute: attribute_id), headers)
|
28
|
+
end
|
29
|
+
|
30
|
+
def delete(attribute_id)
|
31
|
+
delete(build_endpoint(DELETE_attribute, attribute: attribute_id))
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module PlentyClient
|
2
|
+
module Item
|
3
|
+
class Barcode
|
4
|
+
extend PlentyClient::Endpoint
|
5
|
+
extend PlentyClient::Request
|
6
|
+
|
7
|
+
LIST_ALL_BARCODES = '/items/barcodes'.freeze
|
8
|
+
CREATE_BARCODE = '/items/barcodes'.freeze
|
9
|
+
GET_BARCODE = '/items/barcodes/{barcodeId}'.freeze
|
10
|
+
UPDATE_BARCODE = '/items/barcodes/{barcodeId}'.freeze
|
11
|
+
DELETE_BARCODE = '/items/barcodes/{barcodeId}'.freeze
|
12
|
+
DEACTIVATE_REFERRER = '/items/barcodes/{barcodeId}/referrer/{referrerId}'.freeze
|
13
|
+
ACTIVATE_RERERRER = '/items/barcodes/{barcodeId}/referrer'.freeze
|
14
|
+
LIST_BARCODES_BY_TYPE = '/items/barcodes/type/{type}'.freeze
|
15
|
+
LIST_BARCODES_BY_REFERRER = '/items/barcodes/referrer/{referrerId}'.freeze
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def list(headers = {}, &block)
|
19
|
+
get(build_endpoint(LIST_ALL_BARCODES), headers, &block)
|
20
|
+
end
|
21
|
+
|
22
|
+
def list_by_type(type_string, headers = {}, &block)
|
23
|
+
get(build_endpoint(LIST_BARCODES_BY_TYPE, type_string: type_string), headers, &block)
|
24
|
+
end
|
25
|
+
|
26
|
+
def list_by_referrer(referrer_id, headers = {}, &block)
|
27
|
+
get(build_endpoint(LIST_BARCODES_BY_REFERRER, referrer: referrer_id), headers, &block)
|
28
|
+
end
|
29
|
+
|
30
|
+
def find(barcode_id, headers = {}, &block)
|
31
|
+
get(build_endpoint(GET_BARCODE, barcode: barcode_id), headers, &block)
|
32
|
+
end
|
33
|
+
|
34
|
+
def create(body = {})
|
35
|
+
post(build_endpoint(CREATE_BARCODE), body)
|
36
|
+
end
|
37
|
+
|
38
|
+
def update(barcode_id, body = {})
|
39
|
+
post(build_endpoint(UPDATE_BARCODE, barcode: barcode_id), body)
|
40
|
+
end
|
41
|
+
|
42
|
+
def delete(barcode_id)
|
43
|
+
delete(build_endpoint(DELETE_BARCODE, barcode: barcode_id))
|
44
|
+
end
|
45
|
+
|
46
|
+
def deactivate_referrer(barcode_id, referrer_id)
|
47
|
+
delete(build_endpoint(DEACTIVATE_REFERRER, barcode: barcode_id, referrer: referrer_id))
|
48
|
+
end
|
49
|
+
|
50
|
+
def activate_referrer(barcode_id, body = {})
|
51
|
+
post(build_endpoint(ACTIVATE_RERERRER, barcode: barcode_id), body)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|