blomming_api 0.4.6 → 0.5.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b7e0c7366da5aff6c926bcee806c8594392d9744
4
- data.tar.gz: d9057aa9d300dce1dd2c331216fc58c6dffbf718
3
+ metadata.gz: ef281dfa6f26763582a9689b0538f068517e4ba0
4
+ data.tar.gz: 522da850bc418c5f24f5047f3ae037adb22cda4b
5
5
  SHA512:
6
- metadata.gz: 2d3406fb988cc61bc21bcce750bae444842fd72868a53787013537c848fbd6a87fe9db88e28487fc87756807c3d5bd4d7b62e828389ea36c637c33a12be93433
7
- data.tar.gz: 68ba5da8c950751188f5bda3d85757234838bf9a1e8c6f21e84ca5acbcb82c987b60d0f05b0ff42f606e00573669392a996973e7da79867691b71fb53d081907
6
+ metadata.gz: ff0ad8e69dd1181907b9508f6554a1f10143b82c2b602fa25e69685d24ac9d99a949e51a490a32511bf033f3aa6b36537ad723a6493a8f38856947c347f1a37d
7
+ data.tar.gz: 59b9c907352eeae6a1021eeef33714a440652294cbe424ccf175deb5dca3ea1dc2ad32c1568da5737ac4d46fcb1039a0a627b9dab7ffc3693f82247ba8855363
@@ -30,7 +30,7 @@ elsif option == "-a"
30
30
  puts
31
31
  elsif option == "-e"
32
32
  puts
33
- puts "Endpoints methods list:\n"
33
+ puts "Endpoints methods list:\n\n"
34
34
  BlommingApi::endpoints_help
35
35
  puts
36
36
  else
@@ -5,49 +5,71 @@ require 'rest_client'
5
5
  module BlommingApi
6
6
  module BuyEndpoints
7
7
  #
8
+ # BUY
8
9
  # CARTS
9
10
  #
10
11
 
12
+ #
13
+ # Create a new Cart on the server, as present in the home page of the web site.
14
+ # It also redirects to the Cart URL.
15
+ #
11
16
  def carts_create(sku_id, params={})
12
- url = api_url '/carts'
17
+ url = api_url "/carts"
13
18
  req = request_params({currency: @currency}.merge(params))
14
19
 
15
20
  # with a hash sends parameters as a urlencoded form body
16
- load = {:sku_id => sku_id, :multipart => true}
17
-
18
- # debug
19
- #puts req
20
- #RestClient.log = 'stdout'
21
+ load = {sku_id: sku_id, multipart: true}
21
22
 
22
23
  feed_or_retry do
23
24
  RestClient.post url, load, req
24
25
  end
25
26
  end
26
27
 
28
+ #
29
+ # Returns the Cart with the given ID, as returned from the create cart API.
30
+ #
31
+ def carts_find(cart_id, params={})
32
+ url = api_url "/carts/#{cart_id}"
33
+ req = request_params({currency: @currency, locale: @locale}.merge(params))
34
+
35
+ feed_or_retry do
36
+ RestClient.get url, req
37
+ end
38
+ end
39
+
40
+ #
41
+ # Add multiple SKUs to the Cart.
42
+ #
27
43
  def carts_add(*skus, cart_id, params)
28
44
  url = api_url "/carts/#{cart_id}/add"
29
45
  req = request_params({currency: @currency, locale: @locale}.merge(params))
30
46
 
31
47
  # with a hash sends parameters as a urlencoded form body
32
- load = {:skus => skus.join(','), :multipart => true}
48
+ load = {skus: skus.join(','), multipart: true}
33
49
 
34
50
  feed_or_retry do
35
51
  RestClient.put url, load, req
36
52
  end
37
53
  end
38
54
 
55
+ #
56
+ # Remove multiple SKUs from the Cart.
57
+ #
39
58
  def carts_remove(*skus, cart_id, params)
40
59
  url = api_url "/carts/#{cart_id}/remove"
41
60
  req = request_params({currency: @currency, locale: @locale}.merge(params))
42
61
 
43
62
  # with a hash sends parameters as a urlencoded form body
44
- load = {:skus => skus.join(','), :multipart => true}
63
+ load = {skus: skus.join(','), multipart: true}
45
64
 
46
65
  feed_or_retry do
47
66
  RestClient.put url, load, req
48
67
  end
49
68
  end
50
69
 
70
+ #
71
+ # Remove all SKUs from the Cart.
72
+ #
51
73
  def carts_clear(cart_id, params={})
52
74
  url = api_url "/carts/#{cart_id}/clear"
53
75
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -58,59 +80,92 @@ module BlommingApi
58
80
  end
59
81
  end
60
82
 
61
- def carts_checkout(order, params={})
62
- url = api_url '/carts/checkout'
83
+ #
84
+ # Returns countries to which this Cart can be shipped to.
85
+ #
86
+ def carts_shipping_countries(cart_id, params={})
87
+ url = api_url "/carts/#{cart_id}/shipping_countries"
63
88
  req = request_params({currency: @currency, locale: @locale}.merge(params))
64
- load = MultiJson.dump order
65
-
66
- feed_or_retry do
67
- # POST with raw JSON payloads ?
68
- RestClient.post url, load, req
69
- end
70
- end
71
89
 
72
- def carts_place_paypal_order(paypal_order, params={})
73
- url = api_url '/carts/place_paypal_order'
74
- req = request_params({currency: @currency, locale: @locale}.merge(params))
75
- load = MultiJson.dump paypal_order
76
-
77
90
  feed_or_retry do
78
- RestClient.post url, load, req
91
+ RestClient.get url, req
79
92
  end
80
93
  end
81
94
 
95
+ #
96
+ # order_example = {
97
+ # ship_to_first_name: "Andrea",
98
+ # ship_to_last_name: "Salicetti",
99
+ # ship_to_address: "via%20Teodosio%2065",
100
+ # ship_to_postal_code: 20100,
101
+ # ship_to_city: "Milano",
102
+ # ship_to_province: "MI",
103
+ # ship_to_country: "Italy",
104
+ # bill_is_ship: "false",
105
+ # bill_to_first_name: "Nicola%20Junior",
106
+ # bill_to_last_name: "Vitto",
107
+ # bill_to_address: "via%20Teodosio%2065",
108
+ # bill_to_postal_code: "20100",
109
+ # bill_to_city: "Milano",
110
+ # bill_to_province: "MI",
111
+ # bill_to_country: "Italy",
112
+ # bill_to_company: "Blomming%20SpA",
113
+ # bill_to_vat_number: "IT07199240966",
114
+ # phone_number3: ""
115
+ # }
116
+ #
82
117
 
83
- def carts_shipping_countries(params={})
84
- url = api_url '/carts/shipping_countries'
85
- req = request_params({currency: @currency, locale: @locale}.merge(params))
118
+ #
119
+ # Returns the Cart with the given ID, as returned from the create cart API.
120
+ #
121
+ def carts_validate_order(cart_id, order, payment_type, params={})
122
+ url = api_url "/carts/#{cart_id}/validate/#{payment_type}"
123
+ req = request_params({order: order, currency: @currency, locale: @locale}.merge(params))
86
124
 
87
125
  feed_or_retry do
88
126
  RestClient.get url, req
89
127
  end
90
128
  end
91
129
 
92
- def carts_show(cart_id, params={})
93
- url = api_url '/carts/#{cart_id}/show'
130
+ #
131
+ # Checkout of the Cart.
132
+ #
133
+ def carts_checkout_order(cart_id, order, payment_type, params={})
134
+ url = api_url "/carts/#{cart_id}/checkout/#{payment_type}"
94
135
  req = request_params({currency: @currency, locale: @locale}.merge(params))
95
136
 
137
+ # with a hash sends parameters as a urlencoded form body
138
+ load = {order: order, multipart: true}
139
+
96
140
  feed_or_retry do
97
- RestClient.get url, req
141
+ RestClient.post url, load, req
98
142
  end
99
143
  end
100
144
 
101
- def carts_validate(cart_id, params={})
102
- url = api_url '/carts/#{cart_id}/validate'
145
+ #
146
+ # Complete a PayPal transaction
147
+ #
148
+ def carts_place_paypal_order(cart_id, order_id, paypal_token, paypal_payer_id, params={})
149
+ url = api_url "/carts/#{cart_id}/order/#{order_id}/place_paypal"
103
150
  req = request_params({currency: @currency, locale: @locale}.merge(params))
151
+
152
+ # with a hash sends parameters as a urlencoded form body
153
+ load = {token: paypal_token, PayerID: paypal_payer_id, multipart: true}
104
154
 
105
155
  feed_or_retry do
106
- RestClient.get url, req
156
+ RestClient.post url, load, req
107
157
  end
108
158
  end
109
159
 
110
160
 
111
161
  #
162
+ # BUY
112
163
  # CATEGORIES
113
164
  #
165
+
166
+ #
167
+ # Returns the categories
168
+ #
114
169
  def categories(params={})
115
170
  url = api_url '/categories'
116
171
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -120,6 +175,9 @@ module BlommingApi
120
175
  end
121
176
  end
122
177
 
178
+ #
179
+ # Returns all the Items (paged) belonging to a certain category.
180
+ #
123
181
  def category_items (category_id, params={})
124
182
  url = api_url "/categories/#{category_id}/items"
125
183
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -130,8 +188,13 @@ module BlommingApi
130
188
  end
131
189
 
132
190
  #
191
+ # BUY
133
192
  # COLLECTIONS
134
193
  #
194
+
195
+ #
196
+ # Returns the collections
197
+ #
135
198
  def collections(params={})
136
199
  url = api_url '/collections'
137
200
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -141,6 +204,9 @@ module BlommingApi
141
204
  end
142
205
  end
143
206
 
207
+ #
208
+ # Returns the Items of a shop.
209
+ #
144
210
  def collection_items (collection_id, params={})
145
211
  url = api_url "/collections/#{collection_id}/items"
146
212
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -151,8 +217,13 @@ module BlommingApi
151
217
  end
152
218
 
153
219
  #
220
+ # BUY
154
221
  # COUNTRIES
155
222
  #
223
+
224
+ #
225
+ # Get the full list of the possible Countries, localized.
226
+ #
156
227
  def countries(params={})
157
228
  url = api_url '/countries'
158
229
  req = request_params({locale: @locale}.merge(params))
@@ -163,8 +234,13 @@ module BlommingApi
163
234
  end
164
235
 
165
236
  #
237
+ # BUY
166
238
  # CURRENCIES
167
239
  #
240
+
241
+ #
242
+ # Returns currencies accepted by Blomming
243
+ #
168
244
  def currencies(params={})
169
245
  url = api_url '/currencies'
170
246
  req = request_params({locale: @locale}.merge(params))
@@ -175,8 +251,13 @@ module BlommingApi
175
251
  end
176
252
 
177
253
  #
254
+ # BUY
178
255
  # ITEMS
179
256
  #
257
+
258
+ #
259
+ # Returns the “discounted” Items, as present in the home page of the web site
260
+ #
180
261
  def items_discounted(params={})
181
262
  url = api_url '/items/discounted'
182
263
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -186,6 +267,9 @@ module BlommingApi
186
267
  end
187
268
  end
188
269
 
270
+ #
271
+ # Returns the “featured” Items, as present in the home page of the web site.
272
+ #
189
273
  def items_featured(params={})
190
274
  url = api_url '/items/featured'
191
275
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -195,6 +279,9 @@ module BlommingApi
195
279
  end
196
280
  end
197
281
 
282
+ #
283
+ # Returns the “hand picked” Items, as present in the home page of the web site.
284
+ #
198
285
  def items_hand_picked(params={})
199
286
  url = api_url '/items/hand_picked'
200
287
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -204,6 +291,9 @@ module BlommingApi
204
291
  end
205
292
  end
206
293
 
294
+ #
295
+ # Returns the Items with the specified ids.
296
+ #
207
297
  def items_list (item_id, params={})
208
298
  url = api_url '/items/list'
209
299
  req = request_params({id: item_id, currency: @currency, locale: @locale}.merge(params))
@@ -213,6 +303,9 @@ module BlommingApi
213
303
  end
214
304
  end
215
305
 
306
+ #
307
+ # Returns the “most_liked” Items, as present in the home page of the web site.
308
+ #
216
309
  def items_most_liked(params={})
217
310
  url = api_url '/items/most_liked'
218
311
  req = request_params({currency: @currency, locale: @locale}.merge(params))
@@ -222,6 +315,9 @@ module BlommingApi
222
315
  end
223
316
  end
224
317
 
318
+ #
319
+ # Search Blomming for items that respond to a query.
320
+ #
225
321
  def items_search (keyword, params={})
226
322
  url = api_url '/items/search'
227
323
  req = request_params({q: keyword, currency: @currency, locale: @locale}.merge(params))
@@ -232,8 +328,13 @@ module BlommingApi
232
328
  end
233
329
 
234
330
  #
331
+ # BUY
235
332
  # MACROCATEGORIES
236
333
  #
334
+
335
+ #
336
+ # Returns the Macrocategories
337
+ #
237
338
  def macrocategories(params={})
238
339
  url = api_url '/macrocategories'
239
340
  req = request_params({locale: @locale}.merge(params))
@@ -243,6 +344,9 @@ module BlommingApi
243
344
  end
244
345
  end
245
346
 
347
+ #
348
+ # Returns the Categories included in the given Macrocategory.
349
+ #
246
350
  def macrocategory_categories (macrocategory_id​, params={})
247
351
  url = api_url "/macrocategories​/:macrocategory_id​/categories"
248
352
  req = request_params({locale: @locale}.merge(params))
@@ -252,6 +356,9 @@ module BlommingApi
252
356
  end
253
357
  end
254
358
 
359
+ #
360
+ # Returns the Items inside a Macrocategory.
361
+ #
255
362
  def macrocategory_items (macrocategory_id​, params={})
256
363
  url = api_url "/macrocategories​/:macrocategory_id​/items"
257
364
  req = request_params({locale: @locale}.merge(params))
@@ -263,8 +370,15 @@ module BlommingApi
263
370
 
264
371
 
265
372
  #
373
+ # BUY
266
374
  # PASSWORD_RESETS
267
375
  #
376
+
377
+ #
378
+ # Perform a password reset request to Blomming.
379
+ # If it does succeed, an email is sent to the user
380
+ # with the link to renew his passowrd for Blomming.
381
+ #
268
382
  def password_resets (email_of_user, params={})
269
383
  url = api_url "/password_resets"
270
384
 
@@ -276,8 +390,13 @@ module BlommingApi
276
390
 
277
391
 
278
392
  #
393
+ # BUY
279
394
  # PROVINCES
280
395
  #
396
+
397
+ #
398
+ # Retruns the provinces list for a given Country.
399
+ #
281
400
  def provinces (province_country_code, params={})
282
401
  url = api_url "/provinces/#{province_country_code}"
283
402
 
@@ -287,8 +406,13 @@ module BlommingApi
287
406
  end
288
407
 
289
408
  #
409
+ # BUY
290
410
  # SHOPS
291
411
  #
412
+
413
+ #
414
+ # Returns the Shops list
415
+ #
292
416
  def shops (params={})
293
417
  url = api_url '/shops'
294
418
 
@@ -297,6 +421,11 @@ module BlommingApi
297
421
  end
298
422
  end
299
423
 
424
+ #
425
+ # Returns the Items of a Shop.
426
+ # :shop_id is the Shop id (the User’s login owner of the Shop)
427
+ # as returned from the /shops endpoint.
428
+ #
300
429
  def shop_items (shop_id, params={})
301
430
  url = api_url "/shops/#{shop_id}/items"
302
431
 
@@ -308,6 +437,9 @@ module BlommingApi
308
437
  data
309
438
  end
310
439
 
440
+ #
441
+ # Returns the details of an Item.
442
+ #
311
443
  def shop_item (shop_id, item_id, params={})
312
444
  url = api_url "/shops/#{shop_id}/items/#{item_id}"
313
445
 
@@ -316,6 +448,11 @@ module BlommingApi
316
448
  end
317
449
  end
318
450
 
451
+ #
452
+ # Get the details of a single Shop.
453
+ # :id is the Shop id (the User’s login owner of the Shop)
454
+ # as returned from the /shops endpoint.
455
+ #
319
456
  def shops_find (shop_id, params={})
320
457
  url = api_url "/shops/#{shop_id}"
321
458
 
@@ -325,8 +462,13 @@ module BlommingApi
325
462
  end
326
463
 
327
464
  #
465
+ # BUY
328
466
  # TAGS
329
467
  #
468
+
469
+ #
470
+ # Retrieve the tags.
471
+ #
330
472
  def tags (params={})
331
473
  url = api_url "/tags"
332
474
 
@@ -335,6 +477,9 @@ module BlommingApi
335
477
  end
336
478
  end
337
479
 
480
+ #
481
+ # Returns the Items with a specific tag.
482
+ #
338
483
  def tags_items (tag_id, params={})
339
484
  url = api_url "/tags/#{tag_id}/items"
340
485
 
@@ -16,7 +16,8 @@ module BlommingApi
16
16
  end
17
17
 
18
18
  def BlommingApi::endpoints_help
19
- puts "BUY endpoints available methods:\n\n"
19
+ puts "BUY ENDPOINTS METHODS"
20
+ puts "=====================\n"
20
21
 
21
22
  buy_endpoints_methods = BlommingApi::BuyEndpoints.instance_methods(false)
22
23
 
@@ -24,7 +25,8 @@ module BlommingApi
24
25
  display_method_info method_name
25
26
  end
26
27
 
27
- puts "SELL endpoints available methods:\n\n"
28
+ puts "SELL ENDPOINTS METHODS"
29
+ puts "======================\n"
28
30
 
29
31
  sell_endpoints_methods = BlommingApi::SellEndpoints.instance_methods(false)
30
32
 
@@ -43,7 +45,7 @@ module BlommingApi
43
45
  method_def = method_source.split("\n").first.strip[/def (?<match>.*)/,"match"]
44
46
  location = BlommingApi::Client.instance_method(method_name.to_sym).source_location
45
47
 
46
- puts "#{method_comment}"
48
+ puts "\n#{method_comment}"
47
49
  puts "\t#{method_def}"
48
50
  puts "\tfile: #{location.first}"
49
51
  puts "\tline: #{location.last}"
@@ -6,8 +6,13 @@ module BlommingApi
6
6
  module SellEndpoints
7
7
 
8
8
  #
9
+ # SELL
9
10
  # PAYMENT_TYPES
10
11
  #
12
+
13
+ #
14
+ # Get the current Payment Type
15
+ #
11
16
  def sell_payment_types_find (params={})
12
17
  url = api_url "/sell/payment_types​/user_list"
13
18
  req = request_params(params)
@@ -17,9 +22,12 @@ module BlommingApi
17
22
  end
18
23
  end
19
24
 
20
- def sell_payment_types_create (payload, params={})
25
+ #
26
+ # Create a new Payment Type
27
+ #
28
+ def sell_payment_types_create (email, params={})
21
29
  url = api_url "/sell/payment_types​/new"
22
- load = MultiJson.dump payload
30
+ load = MultiJson.dump email: email
23
31
  req = request_params(params)
24
32
 
25
33
  feed_or_retry do
@@ -27,9 +35,12 @@ module BlommingApi
27
35
  end
28
36
  end
29
37
 
30
- def sell_payment_types_update (id, payload, params={})
31
- url = api_url "/sell/payment_types​/#{id}"
32
- load = MultiJson.dump payload
38
+ #
39
+ # Edit a Payment Type
40
+ #
41
+ def sell_payment_types_update (payment_type_id, email, params={})
42
+ url = api_url "/sell/payment_types​/#{payment_type_id}"
43
+ load = MultiJson.dump email: email
33
44
  req = request_params(params)
34
45
 
35
46
  feed_or_retry do
@@ -37,8 +48,11 @@ module BlommingApi
37
48
  end
38
49
  end
39
50
 
40
- def sell_payment_types_delete (id, params={})
41
- url = api_url "/sell/payment_types​/#{id}"
51
+ #
52
+ # Delete a Payment Type
53
+ #
54
+ def sell_payment_types_delete (payment_type_id, params={})
55
+ url = api_url "/sell/payment_types​/#{payment_type_id}"
42
56
  req = request_params(params)
43
57
 
44
58
  feed_or_retry do
@@ -47,8 +61,13 @@ module BlommingApi
47
61
  end
48
62
 
49
63
  #
64
+ # SELL
50
65
  # REGISTER
51
66
  #
67
+
68
+ #
69
+ # Register a new account to blomming
70
+ #
52
71
  def sell_register (payload, params={})
53
72
  url = api_url "/sell/register"
54
73
  load = MultiJson.dump payload
@@ -60,11 +79,16 @@ module BlommingApi
60
79
  end
61
80
 
62
81
  #
82
+ # SELL
63
83
  # SHIPPING_COUNTRIES
64
84
  #
85
+
86
+ #
87
+ # Get the full list of the possible Countries
88
+ # for the shipping profile, localized.
89
+ #
65
90
  def sell_shipping_countries_all (params={})
66
- url = api_url "/sell/shipping_countries​​/all"
67
- req = request_params({locale: @locale}.merge(params))
91
+ req = request_params({locale: @locale}.merge(params))
68
92
 
69
93
  feed_or_retry do
70
94
  RestClient.get url, req
@@ -72,9 +96,13 @@ module BlommingApi
72
96
  end
73
97
 
74
98
  #
99
+ # SELL
75
100
  # SHIPPING_PROFILES
76
101
  #
77
-
102
+
103
+ #
104
+ # Get all the shipping profiles associated to the user
105
+ #
78
106
  def sell_shipping_profiles (params={})
79
107
  url = api_url "/sell/shipping_profiles"
80
108
  req = request_params(params)
@@ -84,6 +112,9 @@ module BlommingApi
84
112
  end
85
113
  end
86
114
 
115
+ #
116
+ # Create a new Shipping Profile
117
+ #
87
118
  def sell_shipping_profile_create (payload, params={})
88
119
  url = api_url "/sell/shipping_profiles"
89
120
  load = MultiJson.dump payload
@@ -94,19 +125,10 @@ module BlommingApi
94
125
  end
95
126
  end
96
127
 
97
- =begin
98
- def sell_shipping_profile_update (payload, params={})
99
- url = api_url "/sell/shipping_profiles"
100
- load = MultiJson.dump payload
101
- req = request_params(params)
102
-
103
- feed_or_retry do
104
- RestClient.put url, load, req
105
- end
106
- end
107
- =end
108
-
109
- def sell_shipping_profile_update (payload, params={})
128
+ #
129
+ # Edit a Shipping Profile
130
+ #
131
+ def sell_shipping_profile_update (id, payload, params={})
110
132
  url = api_url "/sell/shipping_profiles/#{id}"
111
133
  load = MultiJson.dump payload
112
134
  req = request_params(params)
@@ -116,8 +138,11 @@ module BlommingApi
116
138
  end
117
139
  end
118
140
 
141
+ #
142
+ # Delete a Shipping Profile
143
+ #
119
144
  def sell_shipping_profile_delete (id, params={})
120
- url = api_url "/sell/payment_types​/#{id}"
145
+ url = api_url "/sell/shipping_profiles/#{id}"
121
146
  req = request_params(params)
122
147
 
123
148
  feed_or_retry do
@@ -125,8 +150,11 @@ module BlommingApi
125
150
  end
126
151
  end
127
152
 
153
+ #
154
+ # Get the shipping profile that has the id given
155
+ #
128
156
  def sell_shipping_profile_find (id, params={})
129
- url = api_url "/sell/payment_types​/#{id}"
157
+ url = api_url "/sell/shipping_profiles/#{id}"
130
158
  req = request_params(params)
131
159
 
132
160
  feed_or_retry do
@@ -134,6 +162,9 @@ module BlommingApi
134
162
  end
135
163
  end
136
164
 
165
+ #
166
+ # Create a Shipping Profile and assign it to an Item
167
+ #
137
168
  def sell_shipping_profile_item_create (payload, item_id, params={})
138
169
  url = api_url "/sell/shipping_profiles/items​/#{item_id}"
139
170
  load = MultiJson.dump payload
@@ -146,8 +177,14 @@ module BlommingApi
146
177
 
147
178
 
148
179
  #
180
+ # SELL
149
181
  # SHIPPING_REGIONS
150
182
  #
183
+
184
+ #
185
+ # Get the full list of the possible Regions
186
+ # for the shipping profile, localized.
187
+ #
151
188
  def sell_shipping_regions (params={})
152
189
  url = api_url "/sell/shipping_regions​/all"
153
190
  req = request_params({locale: @locale}.merge(params))
@@ -158,8 +195,14 @@ module BlommingApi
158
195
  end
159
196
 
160
197
  #
198
+ # SELL
161
199
  # SHOP_DASHBOARD
162
200
  #
201
+
202
+ #
203
+ # Get shop dashboard details,
204
+ # that are products count, orders count and total revenue
205
+ #
163
206
  def sell_shop_dashboard (params={})
164
207
  url = api_url "/sell/shop/dashboard"
165
208
  req = request_params({locale: @locale}.merge(params))
@@ -170,8 +213,14 @@ module BlommingApi
170
213
  end
171
214
 
172
215
  #
216
+ # SELL
173
217
  # SHOP_ITEMS
174
218
  #
219
+
220
+ #
221
+ # Returns an ordered, paginated list of all the items
222
+ # (pubished or not) present on a given shop.
223
+ #
175
224
  def sell_shop_items (params={})
176
225
  url = api_url '/sell/shop/items'
177
226
  req = request_params(params)
@@ -181,6 +230,9 @@ module BlommingApi
181
230
  end
182
231
  end
183
232
 
233
+ #
234
+ # Create a new shop item
235
+ #
184
236
  def sell_shop_item_create (payload, params={})
185
237
  url = api_url '/sell/shop/items/new'
186
238
  load = MultiJson.dump payload
@@ -191,6 +243,9 @@ module BlommingApi
191
243
  end
192
244
  end
193
245
 
246
+ #
247
+ # Returns one of shop products’ details
248
+ #
194
249
  def sell_shop_item_find (item_id, params={})
195
250
  url = api_url "/sell/shop/items/#{item_id}"
196
251
  req = request_params(params)
@@ -200,6 +255,9 @@ module BlommingApi
200
255
  end
201
256
  end
202
257
 
258
+ #
259
+ # Update some of the properties of the Item
260
+ #
203
261
  def sell_shop_item_update (item_id, payload, params={})
204
262
  url = api_url "/sell/shop/items/#{item_id}"
205
263
  load = MultiJson.dump payload
@@ -210,6 +268,9 @@ module BlommingApi
210
268
  end
211
269
  end
212
270
 
271
+ #
272
+ # Delete an item given an id
273
+ #
213
274
  def sell_shop_item_delete (item_id, params={})
214
275
  url = api_url "/sell/shop/items/#{item_id}"
215
276
  req = request_params(params)
@@ -219,35 +280,113 @@ module BlommingApi
219
280
  end
220
281
  end
221
282
 
222
- def sell_shop_item_tags_add(*tags, item_id, params)
283
+ #
284
+ # Add one or more Tag to an Item.
285
+ #
286
+ def sell_shop_item_tags_add(item_id, *tags, params)
223
287
  url = api_url "/sell/shop/items/#{item_id}/add_tags"
288
+ load = {tag_list: tags.join(','), multipart: true}
224
289
  req = request_params({currency: @currency, locale: @locale}.merge(params))
225
290
 
226
- # with a hash sends parameters as a urlencoded form body
227
- load = {:tags => tags.join(','), :multipart => true}
228
-
229
291
  feed_or_retry do
230
292
  RestClient.post url, load, req
231
293
  end
232
294
  end
233
295
 
234
- def sell_shop_item_tags_remove(*tags, item_id, params)
296
+ #
297
+ # Remove one or more Tag to an Item.
298
+ #
299
+ def sell_shop_item_tags_remove(item_id, *tags, params)
235
300
  url = api_url "/sell/shop/items/#{item_id}/remove_tag"
236
301
  req = request_params({currency: @currency, locale: @locale}.merge(params))
237
302
 
238
303
  # with a hash sends parameters as a urlencoded form body
239
- load = {:tags => tags.join(','), :multipart => true}
304
+ load = {tag: tags.join(','), multipart: true}
240
305
 
241
306
  feed_or_retry do
242
307
  RestClient.post url, load, req
243
308
  end
244
309
  end
245
310
 
311
+ #
312
+ # SELL
313
+ # SHOP_SECTIONS
314
+ #
246
315
 
316
+ #
317
+ # Return all sections of current shop
318
+ #
319
+ def sell_shop_sections (params={})
320
+ url = api_url "/sell/shop/sections"
321
+ req = request_params(params)
247
322
 
323
+ feed_or_retry do
324
+ RestClient.get url, req
325
+ end
326
+ end
327
+
328
+ #
329
+ # Creates a new section for current shop
248
330
  #
331
+ def sell_shop_section_create (section_name, params={})
332
+ url = api_url "/sell/shop/sections"
333
+ req = request_params(params)
334
+ load = MultiJson.dump name: section_name
335
+
336
+ feed_or_retry do
337
+ RestClient.post url, load, req
338
+ end
339
+ end
340
+
341
+ #
342
+ # Update the section name from a given section_id of the current shop
343
+ #
344
+ def sell_shop_section_update (section_id, section_name, params={})
345
+ url = api_url "/sell/shop/sections/#{section_id}"
346
+ req = request_params(params)
347
+ load = MultiJson.dump name: section_name
348
+
349
+ feed_or_retry do
350
+ RestClient.put url, load, req
351
+ end
352
+ end
353
+
354
+ #
355
+ # Delete a section with a given section_id of the current shop
356
+ #
357
+ def sell_shop_section_delete (section_id, params={})
358
+ url = api_url "/sell/shop/sections/#{section_id}"
359
+ req = request_params(params)
360
+
361
+ feed_or_retry do
362
+ RestClient.delete url, req
363
+ end
364
+ end
365
+
366
+ #
367
+ # Returns an ordered, paginated list of all the items (pubished or not)
368
+ # present on a given shop section.
369
+ #
370
+ def sell_shop_section_items (section_id, params={})
371
+ url = api_url "/sell/shop/sections/#{section_id}/items"
372
+ req = request_params(params)
373
+
374
+ feed_or_retry do
375
+ RestClient.get url, req
376
+ end
377
+ end
378
+
379
+ #
380
+ # SELL
249
381
  # SHOP_ORDERS
250
382
  #
383
+
384
+ #
385
+ # Returns the valid order states
386
+ # (for filtering purpose on API Orders requests).
387
+ # This is a dictionary endpoint: it should never change
388
+ # and its response body may be long cached on API clients
389
+ #
251
390
  def sell_shop_orders_states (params={})
252
391
  url = api_url "/sell/shop/orders/states"
253
392
  req = request_params(params)
@@ -257,6 +396,9 @@ module BlommingApi
257
396
  end
258
397
  end
259
398
 
399
+ #
400
+ # Returns a collection of orders received by the shop
401
+ #
260
402
  def sell_shop_orders (order_status, params={})
261
403
  url = api_url "/sell/shop/orders"
262
404
  req = request_params({ order_status: order_status, currency: @currency, locale: @locale}.merge(params))
@@ -266,6 +408,9 @@ module BlommingApi
266
408
  end
267
409
  end
268
410
 
411
+ #
412
+ # Returns the details for the specific Order (uniquely identified by :order_number)
413
+ #
269
414
  def sell_shop_orders_find (order_number, params={})
270
415
  url = api_url "/sell/shop/orders/#{order_number}"
271
416
  req = request_params(params)
@@ -275,31 +420,41 @@ module BlommingApi
275
420
  end
276
421
  end
277
422
 
423
+ #
424
+ # Cause a transaction in the Order state
425
+ # to the new state specified by state request param.
426
+ #
278
427
  def sell_shop_orders_change_state (order_number, state, params={})
279
428
  url = api_url "/sell/shop/orders/#{order_number}/change_state"
280
429
  req = request_params({state: state}.merge(params))
281
430
 
282
431
  feed_or_retry do
283
- # POST with a hash sends parameters as a urlencoded form body
284
432
  RestClient.post url, req
285
433
  end
286
434
  end
287
435
 
288
-
436
+ #
437
+ # Foreward an Order cancellation request to Blomming staff.
438
+ # The request parameter set MUST be passed into the request Body as a JSON object.
439
+ #
289
440
  def sell_shop_orders_request_cancellation (order_number, reason_string, params={})
290
441
  url = api_url "/sell/shop/orders/#{order_number}/request_cancellation"
291
442
  req = request_params(params)
292
443
  load = MultiJson.dump reason: reason_string
293
444
 
294
445
  feed_or_retry do
295
- # POST with raw payloads
296
446
  RestClient.post url, load, req
297
447
  end
298
448
  end
299
449
 
300
450
  #
451
+ # SELL
301
452
  # SHOP_SHIPPING_PROFILES
302
453
  #
454
+
455
+ #
456
+ # Returns all the shipping profiles of the shop.
457
+ #
303
458
  def sell_shop_shipping_profiles (params={})
304
459
  url = api_url "/sell/shop/shipping_profiles"
305
460
  req = request_params({locale: @locale}.merge(params))
@@ -310,8 +465,13 @@ module BlommingApi
310
465
  end
311
466
 
312
467
  #
468
+ # SELL
313
469
  # SHOP_USER_DETAILS
314
470
  #
471
+
472
+ #
473
+ # Get details about current user and his shop.
474
+ #
315
475
  def sell_shop_user_details (params={})
316
476
  url = api_url "/sell/shop/user_details"
317
477
  req = request_params({locale: @locale}.merge(params))
@@ -1,3 +1,3 @@
1
1
  module BlommingApi
2
- VERSION = "0.4.6"
2
+ VERSION = "0.5.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blomming_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Giorgio Robino
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-01-14 00:00:00.000000000 Z
11
+ date: 2014-01-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: method_source