retailcrm 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/retailcrm.rb +91 -51
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5892ff6239b7f32f4734350c0594c3aca0d2b542
4
- data.tar.gz: e51a74e3dca2008a92a786850608ab13f7973d76
3
+ metadata.gz: ec3e33a1e8c60754039125af62d24716a5d9e1a2
4
+ data.tar.gz: a471b40ba01dd4d5c831e2f1a13253624dc98dcc
5
5
  SHA512:
6
- metadata.gz: 1138c399ba37c527d18b7f8be73b507ac171c5cd15cb43962c0a387f98f190fa0634965de25d13caae0836a924d06c7a12acd5e98f4009fe7f129da886a05df0
7
- data.tar.gz: f9e3ad55a0c60f4fe1ef8f3f6c98e5594f98a5c23f709305c52539623e2efd1b034b7007b5db671ccaca6d8f4855e04fdd0850840fc09cb4a80a183d1e75c69f
6
+ metadata.gz: 2a453a4c30e5abd9563bf6ff08be8db29814c93578e48039d9084308bd4d68d42b4ca2f79845fe344d2f98ce7ead9c7142a39a59d099aa8f5fc8e6de97bae250
7
+ data.tar.gz: 7fb723af25a4cdb4f8fa529285e8498837ef6dd2cee70a92b27cbe3410f2e9d939f73f132e0cdc4448165ce23e06b9e1fdb60f166679a7461eaf39d03f1c97df
@@ -9,10 +9,10 @@ require 'json'
9
9
  class Retailcrm
10
10
 
11
11
  def initialize(url, key)
12
- @rr_version = 3
13
- @rr_url = "#{url}/api/v#{@rr_version}/"
14
- @rr_key = key
15
- @rr_params = { :apiKey => @rr_key }
12
+ @version = 3
13
+ @url = "#{url}/api/v#{@version}/"
14
+ @key = key
15
+ @params = { :apiKey => @key }
16
16
  @filter = nil
17
17
  @ids = nil
18
18
  end
@@ -30,9 +30,9 @@ class Retailcrm
30
30
  # limit (Integer) (20|50|100)
31
31
  # page (Integer)
32
32
  def orders(filter = nil, limit = 20, page = 1)
33
- url = "#{@rr_url}orders"
34
- @rr_params[:limit] = limit
35
- @rr_params[:page] = page
33
+ url = "#{@url}orders"
34
+ @params[:limit] = limit
35
+ @params[:page] = page
36
36
  @filter = filter.to_a.map { |x| "filter[#{x[0]}]=#{x[1]}" }.join("&")
37
37
  make_request(url)
38
38
  end
@@ -49,7 +49,7 @@ class Retailcrm
49
49
  # ids (Array)
50
50
  def orders_statuses(ids = [])
51
51
  @ids = ids.map { |x| "ids[]=#{x}" }.join("&")
52
- url = "#{@rr_url}orders/statuses"
52
+ url = "#{@url}orders/statuses"
53
53
  make_request(url)
54
54
  end
55
55
 
@@ -65,9 +65,9 @@ class Retailcrm
65
65
  # id (Integer)
66
66
  # by (String)
67
67
  def orders_get(id, by = 'externalId')
68
- url = "#{@rr_url}orders/#{id}"
68
+ url = "#{@url}orders/#{id}"
69
69
  if by != 'externalId'
70
- @rr_params[:by] = by
70
+ @params[:by] = by
71
71
  end
72
72
  make_request(url)
73
73
  end
@@ -83,8 +83,8 @@ class Retailcrm
83
83
  # Arguments:
84
84
  # order (Array)
85
85
  def orders_create(order)
86
- url = "#{@rr_url}orders/create"
87
- @rr_params[:order] = order.to_json
86
+ url = "#{@url}orders/create"
87
+ @params[:order] = order.to_json
88
88
  make_request(url, 'post')
89
89
  end
90
90
 
@@ -100,8 +100,8 @@ class Retailcrm
100
100
  # order (Array)
101
101
  def orders_edit(order)
102
102
  id = order[:externalId]
103
- url = "#{@rr_url}orders/#{id}/edit"
104
- @rr_params[:order] = order.to_json
103
+ url = "#{@url}orders/#{id}/edit"
104
+ @params[:order] = order.to_json
105
105
  make_request(url, 'post')
106
106
  end
107
107
 
@@ -116,8 +116,8 @@ class Retailcrm
116
116
  # Arguments:
117
117
  # orders (Array)
118
118
  def orders_upload(orders)
119
- url = "#{@rr_url}orders/upload"
120
- @rr_params[:orders] = orders.to_json
119
+ url = "#{@url}orders/upload"
120
+ @params[:orders] = orders.to_json
121
121
  make_request(url, 'post')
122
122
  end
123
123
 
@@ -132,8 +132,8 @@ class Retailcrm
132
132
  # Arguments:
133
133
  # orders (Array)
134
134
  def orders_fix_external_ids(orders)
135
- url = "#{@rr_url}orders/fix-external-ids"
136
- @rr_params[:orders] = orders.to_json
135
+ url = "#{@url}orders/fix-external-ids"
136
+ @params[:orders] = orders.to_json
137
137
  make_request(url, 'post')
138
138
  end
139
139
 
@@ -152,12 +152,32 @@ class Retailcrm
152
152
  # offset (Integer)
153
153
  # skip_my_changes (Boolean)
154
154
  def orders_history(start_date = nil, end_date = nil, limit = 100, offset = 0, skip_my_changes = true)
155
- url = "#{@rr_url}orders/history"
156
- @rr_params[:startDate] = start_date
157
- @rr_params[:endDate] = end_date
158
- @rr_params[:limit] = limit
159
- @rr_params[:offset] = offset
160
- @rr_params[:skipMyChanges] = skip_my_changes
155
+ url = "#{@url}orders/history"
156
+ @params[:startDate] = start_date
157
+ @params[:endDate] = end_date
158
+ @params[:limit] = limit
159
+ @params[:offset] = offset
160
+ @params[:skipMyChanges] = skip_my_changes
161
+ make_request(url)
162
+ end
163
+
164
+ ##
165
+ # === Get orders assembly history
166
+ # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
167
+ #
168
+ # Example:
169
+ # >> Retailcrm.orders_packs_history({:orderId => 26120, :startDate => '2015-04-10 23:33:12'}, 50, 2)
170
+ # => {...}
171
+ #
172
+ # Arguments:
173
+ # filter (Hash)
174
+ # limit (Integer) (20|50|100)
175
+ # page (Integer)
176
+ def orders_packs_history(filter = nil, limit = 20, page = 1)
177
+ url = "#{@url}orders/packs/history"
178
+ @params[:limit] = limit
179
+ @params[:page] = page
180
+ @filter = filter.to_a.map { |x| "filter[#{x[0]}]=#{x[1]}" }.join("&")
161
181
  make_request(url)
162
182
  end
163
183
 
@@ -174,9 +194,9 @@ class Retailcrm
174
194
  # limit (Integer) (20|50|100)
175
195
  # page (Integer)
176
196
  def customers(filter = nil, limit = 20, page = 1)
177
- url = "#{@rr_url}customers"
178
- @rr_params[:limit] = limit
179
- @rr_params[:page] = page
197
+ url = "#{@url}customers"
198
+ @params[:limit] = limit
199
+ @params[:page] = page
180
200
  @filter = filter.to_a.map { |x| "filter[#{x[0]}]=#{x[1]}" }.join("&")
181
201
  make_request(url)
182
202
  end
@@ -193,9 +213,9 @@ class Retailcrm
193
213
  # id (Integer)
194
214
  # by (String)
195
215
  def customers_get(id, by = 'externalId')
196
- url = "#{@rr_url}customers/#{id}"
216
+ url = "#{@url}customers/#{id}"
197
217
  if by != 'externalId'
198
- @rr_params[:by] = by
218
+ @params[:by] = by
199
219
  end
200
220
  make_request(url)
201
221
  end
@@ -211,8 +231,8 @@ class Retailcrm
211
231
  # Arguments:
212
232
  # customer (Array)
213
233
  def customers_create(customer)
214
- url = "#{@rr_url}customers/create"
215
- @rr_params[:customer] = customer.to_json
234
+ url = "#{@url}customers/create"
235
+ @params[:customer] = customer.to_json
216
236
  make_request(url, 'post')
217
237
  end
218
238
 
@@ -228,8 +248,8 @@ class Retailcrm
228
248
  # customer (Array)
229
249
  def customers_edit(customer)
230
250
  id = customer[:externalId]
231
- url = "#{@rr_url}customers/#{id}/edit"
232
- @rr_params[:customer] = customer.to_json
251
+ url = "#{@url}customers/#{id}/edit"
252
+ @params[:customer] = customer.to_json
233
253
  make_request(url, 'post')
234
254
  end
235
255
 
@@ -244,8 +264,8 @@ class Retailcrm
244
264
  # Arguments:
245
265
  # customers (Array)
246
266
  def customers_upload(customers)
247
- url = "#{@rr_url}customers/upload"
248
- @rr_params[:customers] = customers.to_json
267
+ url = "#{@url}customers/upload"
268
+ @params[:customers] = customers.to_json
249
269
  make_request(url, 'post')
250
270
  end
251
271
 
@@ -260,17 +280,37 @@ class Retailcrm
260
280
  # Arguments:
261
281
  # customers (Array)
262
282
  def customers_fix_external_ids(customers)
263
- url = "#{@rr_url}customers/fix-external-ids"
264
- @rr_params[:customers] = customers.to_json
283
+ url = "#{@url}customers/fix-external-ids"
284
+ @params[:customers] = customers.to_json
265
285
  make_request(url, 'post')
266
286
  end
267
287
 
288
+ ##
289
+ # === Get purchace prices & stock balance
290
+ # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
291
+ #
292
+ # Example:
293
+ # >> Retailcrm.store_inventories({:productExternalId => 26120, :details => 1}, 50, 2)
294
+ # => {...}
295
+ #
296
+ # Arguments:
297
+ # filter (Hash)
298
+ # limit (Integer) (20|50|100)
299
+ # page (Integer)
300
+ def store_inventories(filter = nil, limit = 20, page = 1)
301
+ url = "#{@url}store/inventories"
302
+ @params[:limit] = limit
303
+ @params[:page] = page
304
+ @filter = filter.to_a.map { |x| "filter[#{x[0]}]=#{x[1]}" }.join("&")
305
+ make_request(url)
306
+ end
307
+
268
308
  ##
269
309
  # === Get delivery services
270
310
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
271
311
  #
272
312
  def delivery_services
273
- url = "#{@rr_url}reference/delivery-services"
313
+ url = "#{@url}reference/delivery-services"
274
314
  make_request(url)
275
315
  end
276
316
 
@@ -278,7 +318,7 @@ class Retailcrm
278
318
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
279
319
  #
280
320
  def delivery_types
281
- url = "#{@rr_url}reference/delivery-types"
321
+ url = "#{@url}reference/delivery-types"
282
322
  make_request(url)
283
323
  end
284
324
 
@@ -287,7 +327,7 @@ class Retailcrm
287
327
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
288
328
  #
289
329
  def order_methods
290
- url = "#{@rr_url}reference/order-methods"
330
+ url = "#{@url}reference/order-methods"
291
331
  make_request(url)
292
332
  end
293
333
 
@@ -296,7 +336,7 @@ class Retailcrm
296
336
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
297
337
  #
298
338
  def order_types
299
- url = "#{@rr_url}reference/order-types"
339
+ url = "#{@url}reference/order-types"
300
340
  make_request(url)
301
341
  end
302
342
 
@@ -304,7 +344,7 @@ class Retailcrm
304
344
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
305
345
  #
306
346
  def payment_statuses
307
- url = "#{@rr_url}reference/payment-statuses"
347
+ url = "#{@url}reference/payment-statuses"
308
348
  make_request(url)
309
349
  end
310
350
 
@@ -313,7 +353,7 @@ class Retailcrm
313
353
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
314
354
  #
315
355
  def payment_types
316
- url = "#{@rr_url}reference/payment-types"
356
+ url = "#{@url}reference/payment-types"
317
357
  make_request(url)
318
358
  end
319
359
 
@@ -322,7 +362,7 @@ class Retailcrm
322
362
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
323
363
  #
324
364
  def product_statuses
325
- url = "#{@rr_url}reference/product-statuses"
365
+ url = "#{@url}reference/product-statuses"
326
366
  make_request(url)
327
367
  end
328
368
 
@@ -330,7 +370,7 @@ class Retailcrm
330
370
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
331
371
  #
332
372
  def sites
333
- url = "#{@rr_url}reference/sites"
373
+ url = "#{@url}reference/sites"
334
374
  make_request(url)
335
375
  end
336
376
 
@@ -339,7 +379,7 @@ class Retailcrm
339
379
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
340
380
  #
341
381
  def status_groups
342
- url = "#{@rr_url}reference/status-groups"
382
+ url = "#{@url}reference/status-groups"
343
383
  make_request(url)
344
384
  end
345
385
 
@@ -347,7 +387,7 @@ class Retailcrm
347
387
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
348
388
  #
349
389
  def statuses
350
- url = "#{@rr_url}reference/statuses"
390
+ url = "#{@url}reference/statuses"
351
391
  make_request(url)
352
392
  end
353
393
 
@@ -356,7 +396,7 @@ class Retailcrm
356
396
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
357
397
  #
358
398
  def stores
359
- url = "#{@rr_url}reference/stores"
399
+ url = "#{@url}reference/stores"
360
400
  make_request(url)
361
401
  end
362
402
 
@@ -366,7 +406,7 @@ class Retailcrm
366
406
  # http://www.retailcrm.ru/docs/Разработчики/СправочникМетодовAPIV3
367
407
  #
368
408
  def statistic_update
369
- url = "#{@rr_url}statistic/update"
409
+ url = "#{@url}statistic/update"
370
410
  make_request(url)
371
411
  end
372
412
 
@@ -380,10 +420,10 @@ class Retailcrm
380
420
 
381
421
  if method == 'post'
382
422
  request = Net::HTTP::Post.new(uri)
383
- request.set_form_data(@rr_params)
423
+ request.set_form_data(@params)
384
424
  elsif method == 'get'
385
425
  request = Net::HTTP::Get.new(uri.path)
386
- request.set_form_data(@rr_params)
426
+ request.set_form_data(@params)
387
427
 
388
428
  if @filter.nil?
389
429
  data = "#{request.body}"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: retailcrm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Lushpai