taxamo 1.0.5

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.
Files changed (82) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +7 -0
  3. data/LICENSE +11 -0
  4. data/README.md +120 -0
  5. data/Rakefile +7 -0
  6. data/lib/monkey.rb +90 -0
  7. data/lib/swagger.rb +93 -0
  8. data/lib/swagger/configuration.rb +21 -0
  9. data/lib/swagger/request.rb +198 -0
  10. data/lib/swagger/response.rb +87 -0
  11. data/lib/taxamo.rb +999 -0
  12. data/lib/taxamo/models/additionalcurrencies.rb +62 -0
  13. data/lib/taxamo/models/additionalcurrency.rb +82 -0
  14. data/lib/taxamo/models/bycountry.rb +77 -0
  15. data/lib/taxamo/models/bystatus.rb +69 -0
  16. data/lib/taxamo/models/bytaxationtype.rb +82 -0
  17. data/lib/taxamo/models/c.rb +77 -0
  18. data/lib/taxamo/models/calculatesimpletaxout.rb +62 -0
  19. data/lib/taxamo/models/calculatetaxin.rb +62 -0
  20. data/lib/taxamo/models/calculatetaxlocationout.rb +97 -0
  21. data/lib/taxamo/models/calculatetaxout.rb +62 -0
  22. data/lib/taxamo/models/canceltransactionout.rb +62 -0
  23. data/lib/taxamo/models/capturepaymentout.rb +62 -0
  24. data/lib/taxamo/models/confirmtransactionin.rb +62 -0
  25. data/lib/taxamo/models/confirmtransactionout.rb +62 -0
  26. data/lib/taxamo/models/countries.rb +112 -0
  27. data/lib/taxamo/models/country.rb +114 -0
  28. data/lib/taxamo/models/countryschema.rb +114 -0
  29. data/lib/taxamo/models/createpaymentin.rb +72 -0
  30. data/lib/taxamo/models/createpaymentout.rb +62 -0
  31. data/lib/taxamo/models/createrefundin.rb +77 -0
  32. data/lib/taxamo/models/createrefundout.rb +77 -0
  33. data/lib/taxamo/models/createsmstokenin.rb +67 -0
  34. data/lib/taxamo/models/createsmstokenout.rb +62 -0
  35. data/lib/taxamo/models/createtransactionin.rb +67 -0
  36. data/lib/taxamo/models/createtransactionout.rb +62 -0
  37. data/lib/taxamo/models/currencyschema.rb +82 -0
  38. data/lib/taxamo/models/customfields.rb +67 -0
  39. data/lib/taxamo/models/emailinvoicein.rb +62 -0
  40. data/lib/taxamo/models/emailinvoiceout.rb +62 -0
  41. data/lib/taxamo/models/evidence.rb +112 -0
  42. data/lib/taxamo/models/evidenceschema.rb +77 -0
  43. data/lib/taxamo/models/getcountriesdictout.rb +63 -0
  44. data/lib/taxamo/models/getcurrenciesdictout.rb +63 -0
  45. data/lib/taxamo/models/getdailysettlementstatsout.rb +63 -0
  46. data/lib/taxamo/models/getproducttypesdictout.rb +63 -0
  47. data/lib/taxamo/models/getrefundsout.rb +63 -0
  48. data/lib/taxamo/models/getsettlementout.rb +83 -0
  49. data/lib/taxamo/models/getsettlementstatsbycountryout.rb +63 -0
  50. data/lib/taxamo/models/getsettlementstatsbytaxationtypeout.rb +62 -0
  51. data/lib/taxamo/models/getsettlementsummaryout.rb +62 -0
  52. data/lib/taxamo/models/gettransactionout.rb +62 -0
  53. data/lib/taxamo/models/gettransactionsstatsout.rb +62 -0
  54. data/lib/taxamo/models/inputtransaction.rb +184 -0
  55. data/lib/taxamo/models/inputtransactionline.rb +133 -0
  56. data/lib/taxamo/models/inputtransactionupdate.rb +184 -0
  57. data/lib/taxamo/models/invoiceaddress.rb +97 -0
  58. data/lib/taxamo/models/listpaymentsout.rb +63 -0
  59. data/lib/taxamo/models/listtransactionsout.rb +63 -0
  60. data/lib/taxamo/models/locategivenipout.rb +72 -0
  61. data/lib/taxamo/models/locatemyipout.rb +72 -0
  62. data/lib/taxamo/models/n.rb +77 -0
  63. data/lib/taxamo/models/payments.rb +72 -0
  64. data/lib/taxamo/models/producttypeschema.rb +62 -0
  65. data/lib/taxamo/models/report.rb +92 -0
  66. data/lib/taxamo/models/settlementdailystatsschema.rb +102 -0
  67. data/lib/taxamo/models/summary.rb +87 -0
  68. data/lib/taxamo/models/transaction.rb +279 -0
  69. data/lib/taxamo/models/transactionlines.rb +163 -0
  70. data/lib/taxamo/models/transactions.rb +279 -0
  71. data/lib/taxamo/models/unconfirmtransactionin.rb +62 -0
  72. data/lib/taxamo/models/unconfirmtransactionout.rb +62 -0
  73. data/lib/taxamo/models/updatetransactionin.rb +62 -0
  74. data/lib/taxamo/models/updatetransactionout.rb +62 -0
  75. data/lib/taxamo/models/validatetaxnumberout.rb +77 -0
  76. data/lib/taxamo/models/verifysmstokenout.rb +62 -0
  77. data/lib/taxamo/version.rb +17 -0
  78. data/taxamo.gemspec +31 -0
  79. data/test/taxamo/connectivity_test.rb +55 -0
  80. data/test/taxamo/tax_test.rb +147 -0
  81. data/test/taxamo/transactions_api_test.rb +308 -0
  82. metadata +226 -0
@@ -0,0 +1,87 @@
1
+ module Swagger
2
+
3
+ class Response
4
+ require 'json'
5
+
6
+ attr_accessor :raw
7
+
8
+ def initialize(raw)
9
+ self.raw = raw
10
+
11
+ case self.code
12
+ when 500..510 then raise(ServerError, self.body)
13
+ when 400 then
14
+ e = nil
15
+ if self.body['errors']
16
+ e = ValidationError.new(self.body['errors'])
17
+ if self.body['validation_failures']
18
+ e.validation_failures = self.body['validation_failures']
19
+ end
20
+ else
21
+ e = ValidationError.new(self.body)
22
+ end
23
+ raise(e)
24
+ when 401 then raise(AuthenticationError, self.body)
25
+ when 402..403 then raise(ClientError, self.body)
26
+ when 299..399 then raise(ClientError, self.body)
27
+ when 0 then raise(ClientError, raw.return_message)
28
+ end
29
+ end
30
+
31
+ def code
32
+ raw.code
33
+ end
34
+
35
+ # Account for error messages that take different forms...
36
+ def error_message
37
+ body['message']
38
+ rescue
39
+ body
40
+ end
41
+
42
+ def validation_message
43
+ body
44
+ end
45
+ # If body is JSON, parse it
46
+ # Otherwise return raw string
47
+ def body
48
+ JSON.parse raw.body
49
+ rescue
50
+ raw.body
51
+ end
52
+
53
+ # `headers_hash` is a Typhoeus-specific extension of Hash,
54
+ # so simplify it back into a regular old Hash.
55
+ def headers
56
+ h = {}
57
+ raw.headers_hash.each {|k,v| h[k] = v }
58
+ h
59
+ end
60
+
61
+ # Extract the response format from the header hash
62
+ # e.g. {'Content-Type' => 'application/json'}
63
+ def format
64
+ headers['Content-Type'].split("/").last.downcase
65
+ end
66
+
67
+ def json?
68
+ format == 'json'
69
+ end
70
+
71
+ def xml?
72
+ format == 'xml'
73
+ end
74
+
75
+ def pretty_body
76
+ return unless body.present?
77
+ case format
78
+ when 'json' then JSON.pretty_generate(body).gsub(/\n/, '<br/>')
79
+ end
80
+ end
81
+
82
+ def pretty_headers
83
+ JSON.pretty_generate(headers).gsub(/\n/, '<br/>')
84
+ end
85
+
86
+ end
87
+ end
@@ -0,0 +1,999 @@
1
+ # Copyright 2014-2015 Taxamo, Ltd.
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at [apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)
6
+ #
7
+ # Unless required by applicable law or agreed to in writing, software
8
+ # distributed under the License is distributed on an "AS IS" BASIS,
9
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10
+ # See the License for the specific language governing permissions and
11
+ # limitations under the License.
12
+
13
+ require "uri"
14
+ require "swagger"
15
+ require "taxamo/version"
16
+ require "require_all"
17
+ require_all "lib/taxamo/models/*"
18
+
19
+ module Taxamo
20
+ class <<self
21
+ def escapeString(string)
22
+ URI.encode(string.to_s)
23
+ end
24
+
25
+ def create_refund (key,body,opts={})
26
+ query_param_keys = []
27
+
28
+ # verify existence of params
29
+ raise "key is required" if key.nil?
30
+ raise "body is required" if body.nil?
31
+ # set default values and merge with input
32
+ options = {
33
+ :key => key,
34
+ :body => body}.merge(opts)
35
+
36
+ #resource path
37
+ path = "/api/v1/transactions/{key}/refunds".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
38
+
39
+
40
+ # pull querystring keys from options
41
+ queryopts = options.select do |key,value|
42
+ query_param_keys.include? key
43
+ end
44
+
45
+ headers = nil
46
+ post_body = nil
47
+ if body != nil
48
+ if body.is_a?(Array)
49
+ array = Array.new
50
+ body.each do |item|
51
+ if item.respond_to?("to_body".to_sym)
52
+ array.push item.to_body
53
+ else
54
+ array.push item
55
+ end
56
+ end
57
+ post_body = array
58
+
59
+ else
60
+ if body.respond_to?("to_body".to_sym)
61
+ post_body = body.to_body
62
+ else
63
+ post_body = body
64
+ end
65
+ end
66
+ end
67
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
68
+ CreateRefundOut.new(response)
69
+
70
+ end
71
+
72
+ def create_payment (key,body,opts={})
73
+ query_param_keys = []
74
+
75
+ # verify existence of params
76
+ raise "key is required" if key.nil?
77
+ raise "body is required" if body.nil?
78
+ # set default values and merge with input
79
+ options = {
80
+ :key => key,
81
+ :body => body}.merge(opts)
82
+
83
+ #resource path
84
+ path = "/api/v1/transactions/{key}/payments".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
85
+
86
+
87
+ # pull querystring keys from options
88
+ queryopts = options.select do |key,value|
89
+ query_param_keys.include? key
90
+ end
91
+
92
+ headers = nil
93
+ post_body = nil
94
+ if body != nil
95
+ if body.is_a?(Array)
96
+ array = Array.new
97
+ body.each do |item|
98
+ if item.respond_to?("to_body".to_sym)
99
+ array.push item.to_body
100
+ else
101
+ array.push item
102
+ end
103
+ end
104
+ post_body = array
105
+
106
+ else
107
+ if body.respond_to?("to_body".to_sym)
108
+ post_body = body.to_body
109
+ else
110
+ post_body = body
111
+ end
112
+ end
113
+ end
114
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
115
+ CreatePaymentOut.new(response)
116
+
117
+ end
118
+
119
+ def list_payments (limit,offset,key,opts={})
120
+ query_param_keys = [:limit,:offset]
121
+
122
+ # verify existence of params
123
+ raise "key is required" if key.nil?
124
+ # set default values and merge with input
125
+ options = {
126
+ :limit => limit,
127
+ :offset => offset,
128
+ :key => key}.merge(opts)
129
+
130
+ #resource path
131
+ path = "/api/v1/transactions/{key}/payments".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
132
+
133
+
134
+ # pull querystring keys from options
135
+ queryopts = options.select do |key,value|
136
+ query_param_keys.include? key
137
+ end
138
+
139
+ headers = nil
140
+ post_body = nil
141
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
142
+ ListPaymentsOut.new(response)
143
+
144
+ end
145
+
146
+ def capture_payment (key,opts={})
147
+ query_param_keys = []
148
+
149
+ # verify existence of params
150
+ raise "key is required" if key.nil?
151
+ # set default values and merge with input
152
+ options = {
153
+ :key => key}.merge(opts)
154
+
155
+ #resource path
156
+ path = "/api/v1/transactions/{key}/payments/capture".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
157
+
158
+
159
+ # pull querystring keys from options
160
+ queryopts = options.select do |key,value|
161
+ query_param_keys.include? key
162
+ end
163
+
164
+ headers = nil
165
+ post_body = nil
166
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
167
+ CapturePaymentOut.new(response)
168
+
169
+ end
170
+
171
+ def email_invoice (key,body,opts={})
172
+ query_param_keys = []
173
+
174
+ # verify existence of params
175
+ raise "key is required" if key.nil?
176
+ raise "body is required" if body.nil?
177
+ # set default values and merge with input
178
+ options = {
179
+ :key => key,
180
+ :body => body}.merge(opts)
181
+
182
+ #resource path
183
+ path = "/api/v1/transactions/{key}/invoice/send_email".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
184
+
185
+
186
+ # pull querystring keys from options
187
+ queryopts = options.select do |key,value|
188
+ query_param_keys.include? key
189
+ end
190
+
191
+ headers = nil
192
+ post_body = nil
193
+ if body != nil
194
+ if body.is_a?(Array)
195
+ array = Array.new
196
+ body.each do |item|
197
+ if item.respond_to?("to_body".to_sym)
198
+ array.push item.to_body
199
+ else
200
+ array.push item
201
+ end
202
+ end
203
+ post_body = array
204
+
205
+ else
206
+ if body.respond_to?("to_body".to_sym)
207
+ post_body = body.to_body
208
+ else
209
+ post_body = body
210
+ end
211
+ end
212
+ end
213
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
214
+ EmailInvoiceOut.new(response)
215
+
216
+ end
217
+
218
+ def create_transaction (body,opts={})
219
+ query_param_keys = []
220
+
221
+ # verify existence of params
222
+ raise "body is required" if body.nil?
223
+ # set default values and merge with input
224
+ options = {
225
+ :body => body}.merge(opts)
226
+
227
+ #resource path
228
+ path = "/api/v1/transactions".sub('{format}','json')
229
+
230
+
231
+ # pull querystring keys from options
232
+ queryopts = options.select do |key,value|
233
+ query_param_keys.include? key
234
+ end
235
+
236
+ headers = nil
237
+ post_body = nil
238
+ if body != nil
239
+ if body.is_a?(Array)
240
+ array = Array.new
241
+ body.each do |item|
242
+ if item.respond_to?("to_body".to_sym)
243
+ array.push item.to_body
244
+ else
245
+ array.push item
246
+ end
247
+ end
248
+ post_body = array
249
+
250
+ else
251
+ if body.respond_to?("to_body".to_sym)
252
+ post_body = body.to_body
253
+ else
254
+ post_body = body
255
+ end
256
+ end
257
+ end
258
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
259
+ CreateTransactionOut.new(response)
260
+
261
+ end
262
+
263
+ def get_transaction (key,opts={})
264
+ query_param_keys = []
265
+
266
+ # verify existence of params
267
+ raise "key is required" if key.nil?
268
+ # set default values and merge with input
269
+ options = {
270
+ :key => key}.merge(opts)
271
+
272
+ #resource path
273
+ path = "/api/v1/transactions/{key}".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
274
+
275
+
276
+ # pull querystring keys from options
277
+ queryopts = options.select do |key,value|
278
+ query_param_keys.include? key
279
+ end
280
+
281
+ headers = nil
282
+ post_body = nil
283
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
284
+ GetTransactionOut.new(response)
285
+
286
+ end
287
+
288
+ def update_transaction (key,body,opts={})
289
+ query_param_keys = []
290
+
291
+ # verify existence of params
292
+ raise "key is required" if key.nil?
293
+ raise "body is required" if body.nil?
294
+ # set default values and merge with input
295
+ options = {
296
+ :key => key,
297
+ :body => body}.merge(opts)
298
+
299
+ #resource path
300
+ path = "/api/v1/transactions/{key}".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
301
+
302
+
303
+ # pull querystring keys from options
304
+ queryopts = options.select do |key,value|
305
+ query_param_keys.include? key
306
+ end
307
+
308
+ headers = nil
309
+ post_body = nil
310
+ if body != nil
311
+ if body.is_a?(Array)
312
+ array = Array.new
313
+ body.each do |item|
314
+ if item.respond_to?("to_body".to_sym)
315
+ array.push item.to_body
316
+ else
317
+ array.push item
318
+ end
319
+ end
320
+ post_body = array
321
+
322
+ else
323
+ if body.respond_to?("to_body".to_sym)
324
+ post_body = body.to_body
325
+ else
326
+ post_body = body
327
+ end
328
+ end
329
+ end
330
+ response = Swagger::Request.new(:PUT, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
331
+ UpdateTransactionOut.new(response)
332
+
333
+ end
334
+
335
+ def confirm_transaction (key,body,opts={})
336
+ query_param_keys = []
337
+
338
+ # verify existence of params
339
+ raise "key is required" if key.nil?
340
+ raise "body is required" if body.nil?
341
+ # set default values and merge with input
342
+ options = {
343
+ :key => key,
344
+ :body => body}.merge(opts)
345
+
346
+ #resource path
347
+ path = "/api/v1/transactions/{key}/confirm".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
348
+
349
+
350
+ # pull querystring keys from options
351
+ queryopts = options.select do |key,value|
352
+ query_param_keys.include? key
353
+ end
354
+
355
+ headers = nil
356
+ post_body = nil
357
+ if body != nil
358
+ if body.is_a?(Array)
359
+ array = Array.new
360
+ body.each do |item|
361
+ if item.respond_to?("to_body".to_sym)
362
+ array.push item.to_body
363
+ else
364
+ array.push item
365
+ end
366
+ end
367
+ post_body = array
368
+
369
+ else
370
+ if body.respond_to?("to_body".to_sym)
371
+ post_body = body.to_body
372
+ else
373
+ post_body = body
374
+ end
375
+ end
376
+ end
377
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
378
+ ConfirmTransactionOut.new(response)
379
+
380
+ end
381
+
382
+ def cancel_transaction (key,opts={})
383
+ query_param_keys = []
384
+
385
+ # verify existence of params
386
+ raise "key is required" if key.nil?
387
+ # set default values and merge with input
388
+ options = {
389
+ :key => key}.merge(opts)
390
+
391
+ #resource path
392
+ path = "/api/v1/transactions/{key}".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
393
+
394
+
395
+ # pull querystring keys from options
396
+ queryopts = options.select do |key,value|
397
+ query_param_keys.include? key
398
+ end
399
+
400
+ headers = nil
401
+ post_body = nil
402
+ response = Swagger::Request.new(:DELETE, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
403
+ CancelTransactionOut.new(response)
404
+
405
+ end
406
+
407
+ def unconfirm_transaction (key,body,opts={})
408
+ query_param_keys = []
409
+
410
+ # verify existence of params
411
+ raise "key is required" if key.nil?
412
+ raise "body is required" if body.nil?
413
+ # set default values and merge with input
414
+ options = {
415
+ :key => key,
416
+ :body => body}.merge(opts)
417
+
418
+ #resource path
419
+ path = "/api/v1/transactions/{key}/unconfirm".sub('{format}','json').sub('{' + 'key' + '}', escapeString(key))
420
+
421
+
422
+ # pull querystring keys from options
423
+ queryopts = options.select do |key,value|
424
+ query_param_keys.include? key
425
+ end
426
+
427
+ headers = nil
428
+ post_body = nil
429
+ if body != nil
430
+ if body.is_a?(Array)
431
+ array = Array.new
432
+ body.each do |item|
433
+ if item.respond_to?("to_body".to_sym)
434
+ array.push item.to_body
435
+ else
436
+ array.push item
437
+ end
438
+ end
439
+ post_body = array
440
+
441
+ else
442
+ if body.respond_to?("to_body".to_sym)
443
+ post_body = body.to_body
444
+ else
445
+ post_body = body
446
+ end
447
+ end
448
+ end
449
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
450
+ UnconfirmTransactionOut.new(response)
451
+
452
+ end
453
+
454
+ def list_transactions (statuses,sort_reverse,tax_country_code,order_date_from,key_or_custom_id,offset,filter_text,format,invoice_number,order_date_to,currency_code,limit,opts={})
455
+ query_param_keys = [:statuses,:sort_reverse,:tax_country_code,:order_date_from,:key_or_custom_id,:offset,:filter_text,:format,:invoice_number,:order_date_to,:currency_code,:limit]
456
+
457
+ # set default values and merge with input
458
+ options = {
459
+ :filter_text => filter_text,
460
+ :offset => offset,
461
+ :key_or_custom_id => key_or_custom_id,
462
+ :currency_code => currency_code,
463
+ :order_date_to => order_date_to,
464
+ :sort_reverse => sort_reverse,
465
+ :limit => limit,
466
+ :invoice_number => invoice_number,
467
+ :statuses => statuses,
468
+ :order_date_from => order_date_from,
469
+ :format => format,
470
+ :tax_country_code => tax_country_code}.merge(opts)
471
+
472
+ #resource path
473
+ path = "/api/v1/transactions".sub('{format}','json')
474
+
475
+
476
+ # pull querystring keys from options
477
+ queryopts = options.select do |key,value|
478
+ query_param_keys.include? key
479
+ end
480
+
481
+ headers = nil
482
+ post_body = nil
483
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
484
+ ListTransactionsOut.new(response)
485
+
486
+ end
487
+
488
+ def calculate_tax (body,opts={})
489
+ query_param_keys = []
490
+
491
+ # verify existence of params
492
+ raise "body is required" if body.nil?
493
+ # set default values and merge with input
494
+ options = {
495
+ :body => body}.merge(opts)
496
+
497
+ #resource path
498
+ path = "/api/v1/tax/calculate".sub('{format}','json')
499
+
500
+
501
+ # pull querystring keys from options
502
+ queryopts = options.select do |key,value|
503
+ query_param_keys.include? key
504
+ end
505
+
506
+ headers = nil
507
+ post_body = nil
508
+ if body != nil
509
+ if body.is_a?(Array)
510
+ array = Array.new
511
+ body.each do |item|
512
+ if item.respond_to?("to_body".to_sym)
513
+ array.push item.to_body
514
+ else
515
+ array.push item
516
+ end
517
+ end
518
+ post_body = array
519
+
520
+ else
521
+ if body.respond_to?("to_body".to_sym)
522
+ post_body = body.to_body
523
+ else
524
+ post_body = body
525
+ end
526
+ end
527
+ end
528
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
529
+ CalculateTaxOut.new(response)
530
+
531
+ end
532
+
533
+ def calculate_simple_tax (buyer_credit_card_prefix,buyer_tax_number,product_type,force_country_code,quantity,unit_price,total_amount,tax_deducted,amount,billing_country_code,currency_code,order_date,opts={})
534
+ query_param_keys = [:buyer_credit_card_prefix,:buyer_tax_number,:product_type,:force_country_code,:quantity,:unit_price,:total_amount,:tax_deducted,:amount,:billing_country_code,:currency_code,:order_date]
535
+
536
+ # verify existence of params
537
+ raise "currency_code is required" if currency_code.nil?
538
+ # set default values and merge with input
539
+ options = {
540
+ :product_type => product_type,
541
+ :buyer_credit_card_prefix => buyer_credit_card_prefix,
542
+ :currency_code => currency_code,
543
+ :unit_price => unit_price,
544
+ :quantity => quantity,
545
+ :buyer_tax_number => buyer_tax_number,
546
+ :force_country_code => force_country_code,
547
+ :order_date => order_date,
548
+ :amount => amount,
549
+ :billing_country_code => billing_country_code,
550
+ :total_amount => total_amount,
551
+ :tax_deducted => tax_deducted}.merge(opts)
552
+
553
+ #resource path
554
+ path = "/api/v1/tax/calculate".sub('{format}','json')
555
+
556
+
557
+ # pull querystring keys from options
558
+ queryopts = options.select do |key,value|
559
+ query_param_keys.include? key
560
+ end
561
+
562
+ headers = nil
563
+ post_body = nil
564
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
565
+ CalculateSimpleTaxOut.new(response)
566
+
567
+ end
568
+
569
+ def validate_tax_number (country_code,tax_number,opts={})
570
+ query_param_keys = [:country_code]
571
+
572
+ # verify existence of params
573
+ raise "tax_number is required" if tax_number.nil?
574
+ # set default values and merge with input
575
+ options = {
576
+ :country_code => country_code,
577
+ :tax_number => tax_number}.merge(opts)
578
+
579
+ #resource path
580
+ path = "/api/v1/tax/vat_numbers/{tax_number}/validate".sub('{format}','json').sub('{' + 'tax_number' + '}', escapeString(tax_number))
581
+
582
+
583
+ # pull querystring keys from options
584
+ queryopts = options.select do |key,value|
585
+ query_param_keys.include? key
586
+ end
587
+
588
+ headers = nil
589
+ post_body = nil
590
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
591
+ ValidateTaxNumberOut.new(response)
592
+
593
+ end
594
+
595
+ def calculate_tax_location (billing_country_code,buyer_credit_card_prefix,opts={})
596
+ query_param_keys = [:billing_country_code,:buyer_credit_card_prefix]
597
+
598
+ # set default values and merge with input
599
+ options = {
600
+ :billing_country_code => billing_country_code,
601
+ :buyer_credit_card_prefix => buyer_credit_card_prefix}.merge(opts)
602
+
603
+ #resource path
604
+ path = "/api/v1/tax/location/calculate".sub('{format}','json')
605
+
606
+
607
+ # pull querystring keys from options
608
+ queryopts = options.select do |key,value|
609
+ query_param_keys.include? key
610
+ end
611
+
612
+ headers = nil
613
+ post_body = nil
614
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
615
+ CalculateTaxLocationOut.new(response)
616
+
617
+ end
618
+
619
+ def locate_my_i_p (opts={})
620
+ query_param_keys = []
621
+
622
+ # set default values and merge with input
623
+ options = {
624
+ }.merge(opts)
625
+
626
+ #resource path
627
+ path = "/api/v1/geoip".sub('{format}','json')
628
+
629
+
630
+ # pull querystring keys from options
631
+ queryopts = options.select do |key,value|
632
+ query_param_keys.include? key
633
+ end
634
+
635
+ headers = nil
636
+ post_body = nil
637
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
638
+ LocateMyIPOut.new(response)
639
+
640
+ end
641
+
642
+ def locate_given_i_p (ip,opts={})
643
+ query_param_keys = []
644
+
645
+ # verify existence of params
646
+ raise "ip is required" if ip.nil?
647
+ # set default values and merge with input
648
+ options = {
649
+ :ip => ip}.merge(opts)
650
+
651
+ #resource path
652
+ path = "/api/v1/geoip/{ip}".sub('{format}','json').sub('{' + 'ip' + '}', escapeString(ip))
653
+
654
+
655
+ # pull querystring keys from options
656
+ queryopts = options.select do |key,value|
657
+ query_param_keys.include? key
658
+ end
659
+
660
+ headers = nil
661
+ post_body = nil
662
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
663
+ LocateGivenIPOut.new(response)
664
+
665
+ end
666
+
667
+ def get_transactions_stats (date_from,date_to,interval,opts={})
668
+ query_param_keys = [:date_from,:date_to,:interval]
669
+
670
+ # verify existence of params
671
+ raise "date_from is required" if date_from.nil?
672
+ raise "date_to is required" if date_to.nil?
673
+ # set default values and merge with input
674
+ options = {
675
+ :date_from => date_from,
676
+ :date_to => date_to,
677
+ :interval => interval}.merge(opts)
678
+
679
+ #resource path
680
+ path = "/api/v1/stats/transactions".sub('{format}','json')
681
+
682
+
683
+ # pull querystring keys from options
684
+ queryopts = options.select do |key,value|
685
+ query_param_keys.include? key
686
+ end
687
+
688
+ headers = nil
689
+ post_body = nil
690
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
691
+ GetTransactionsStatsOut.new(response)
692
+
693
+ end
694
+
695
+ def get_settlement_stats_by_country (date_from,date_to,opts={})
696
+ query_param_keys = [:date_from,:date_to]
697
+
698
+ # verify existence of params
699
+ raise "date_from is required" if date_from.nil?
700
+ raise "date_to is required" if date_to.nil?
701
+ # set default values and merge with input
702
+ options = {
703
+ :date_from => date_from,
704
+ :date_to => date_to}.merge(opts)
705
+
706
+ #resource path
707
+ path = "/api/v1/stats/settlement/by_country".sub('{format}','json')
708
+
709
+
710
+ # pull querystring keys from options
711
+ queryopts = options.select do |key,value|
712
+ query_param_keys.include? key
713
+ end
714
+
715
+ headers = nil
716
+ post_body = nil
717
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
718
+ GetSettlementStatsByCountryOut.new(response)
719
+
720
+ end
721
+
722
+ def get_settlement_stats_by_taxation_type (date_from,date_to,opts={})
723
+ query_param_keys = [:date_from,:date_to]
724
+
725
+ # verify existence of params
726
+ raise "date_from is required" if date_from.nil?
727
+ raise "date_to is required" if date_to.nil?
728
+ # set default values and merge with input
729
+ options = {
730
+ :date_from => date_from,
731
+ :date_to => date_to}.merge(opts)
732
+
733
+ #resource path
734
+ path = "/api/v1/stats/settlement/by_taxation_type".sub('{format}','json')
735
+
736
+
737
+ # pull querystring keys from options
738
+ queryopts = options.select do |key,value|
739
+ query_param_keys.include? key
740
+ end
741
+
742
+ headers = nil
743
+ post_body = nil
744
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
745
+ GetSettlementStatsByTaxationTypeOut.new(response)
746
+
747
+ end
748
+
749
+ def get_daily_settlement_stats (interval,date_from,date_to,opts={})
750
+ query_param_keys = [:interval,:date_from,:date_to]
751
+
752
+ # verify existence of params
753
+ raise "interval is required" if interval.nil?
754
+ raise "date_from is required" if date_from.nil?
755
+ raise "date_to is required" if date_to.nil?
756
+ # set default values and merge with input
757
+ options = {
758
+ :interval => interval,
759
+ :date_from => date_from,
760
+ :date_to => date_to}.merge(opts)
761
+
762
+ #resource path
763
+ path = "/api/v1/stats/settlement/daily".sub('{format}','json')
764
+
765
+
766
+ # pull querystring keys from options
767
+ queryopts = options.select do |key,value|
768
+ query_param_keys.include? key
769
+ end
770
+
771
+ headers = nil
772
+ post_body = nil
773
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
774
+ GetDailySettlementStatsOut.new(response)
775
+
776
+ end
777
+
778
+ def get_refunds (format,moss_country_code,date_from,opts={})
779
+ query_param_keys = [:format,:moss_country_code,:date_from]
780
+
781
+ # verify existence of params
782
+ raise "date_from is required" if date_from.nil?
783
+ # set default values and merge with input
784
+ options = {
785
+ :format => format,
786
+ :moss_country_code => moss_country_code,
787
+ :date_from => date_from}.merge(opts)
788
+
789
+ #resource path
790
+ path = "/api/v1/settlement/refunds".sub('{format}','json')
791
+
792
+
793
+ # pull querystring keys from options
794
+ queryopts = options.select do |key,value|
795
+ query_param_keys.include? key
796
+ end
797
+
798
+ headers = nil
799
+ post_body = nil
800
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
801
+ GetRefundsOut.new(response)
802
+
803
+ end
804
+
805
+ def get_settlement (format,moss_country_code,moss_tax_id,quarter,opts={})
806
+ query_param_keys = [:format,:moss_country_code,:moss_tax_id]
807
+
808
+ # verify existence of params
809
+ raise "quarter is required" if quarter.nil?
810
+ # set default values and merge with input
811
+ options = {
812
+ :format => format,
813
+ :moss_country_code => moss_country_code,
814
+ :moss_tax_id => moss_tax_id,
815
+ :quarter => quarter}.merge(opts)
816
+
817
+ #resource path
818
+ path = "/api/v1/settlement/{quarter}".sub('{format}','json').sub('{' + 'quarter' + '}', escapeString(quarter))
819
+
820
+
821
+ # pull querystring keys from options
822
+ queryopts = options.select do |key,value|
823
+ query_param_keys.include? key
824
+ end
825
+
826
+ headers = nil
827
+ post_body = nil
828
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
829
+ GetSettlementOut.new(response)
830
+
831
+ end
832
+
833
+ def get_settlement_summary (moss_country_code,quarter,opts={})
834
+ query_param_keys = [:moss_country_code]
835
+
836
+ # verify existence of params
837
+ raise "quarter is required" if quarter.nil?
838
+ # set default values and merge with input
839
+ options = {
840
+ :moss_country_code => moss_country_code,
841
+ :quarter => quarter}.merge(opts)
842
+
843
+ #resource path
844
+ path = "/api/v1/settlement/summary/{quarter}".sub('{format}','json').sub('{' + 'quarter' + '}', escapeString(quarter))
845
+
846
+
847
+ # pull querystring keys from options
848
+ queryopts = options.select do |key,value|
849
+ query_param_keys.include? key
850
+ end
851
+
852
+ headers = nil
853
+ post_body = nil
854
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
855
+ GetSettlementSummaryOut.new(response)
856
+
857
+ end
858
+
859
+ def create_s_m_s_token (body,opts={})
860
+ query_param_keys = []
861
+
862
+ # verify existence of params
863
+ raise "body is required" if body.nil?
864
+ # set default values and merge with input
865
+ options = {
866
+ :body => body}.merge(opts)
867
+
868
+ #resource path
869
+ path = "/api/v1/verification/sms".sub('{format}','json')
870
+
871
+
872
+ # pull querystring keys from options
873
+ queryopts = options.select do |key,value|
874
+ query_param_keys.include? key
875
+ end
876
+
877
+ headers = nil
878
+ post_body = nil
879
+ if body != nil
880
+ if body.is_a?(Array)
881
+ array = Array.new
882
+ body.each do |item|
883
+ if item.respond_to?("to_body".to_sym)
884
+ array.push item.to_body
885
+ else
886
+ array.push item
887
+ end
888
+ end
889
+ post_body = array
890
+
891
+ else
892
+ if body.respond_to?("to_body".to_sym)
893
+ post_body = body.to_body
894
+ else
895
+ post_body = body
896
+ end
897
+ end
898
+ end
899
+ response = Swagger::Request.new(:POST, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
900
+ CreateSMSTokenOut.new(response)
901
+
902
+ end
903
+
904
+ def verify_s_m_s_token (token,opts={})
905
+ query_param_keys = []
906
+
907
+ # verify existence of params
908
+ raise "token is required" if token.nil?
909
+ # set default values and merge with input
910
+ options = {
911
+ :token => token}.merge(opts)
912
+
913
+ #resource path
914
+ path = "/api/v1/verification/sms/{token}".sub('{format}','json').sub('{' + 'token' + '}', escapeString(token))
915
+
916
+
917
+ # pull querystring keys from options
918
+ queryopts = options.select do |key,value|
919
+ query_param_keys.include? key
920
+ end
921
+
922
+ headers = nil
923
+ post_body = nil
924
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
925
+ VerifySMSTokenOut.new(response)
926
+
927
+ end
928
+
929
+ def get_currencies_dict (opts={})
930
+ query_param_keys = []
931
+
932
+ # set default values and merge with input
933
+ options = {
934
+ }.merge(opts)
935
+
936
+ #resource path
937
+ path = "/api/v1/dictionaries/currencies".sub('{format}','json')
938
+
939
+
940
+ # pull querystring keys from options
941
+ queryopts = options.select do |key,value|
942
+ query_param_keys.include? key
943
+ end
944
+
945
+ headers = nil
946
+ post_body = nil
947
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
948
+ GetCurrenciesDictOut.new(response)
949
+
950
+ end
951
+
952
+ def get_product_types_dict (opts={})
953
+ query_param_keys = []
954
+
955
+ # set default values and merge with input
956
+ options = {
957
+ }.merge(opts)
958
+
959
+ #resource path
960
+ path = "/api/v1/dictionaries/product_types".sub('{format}','json')
961
+
962
+
963
+ # pull querystring keys from options
964
+ queryopts = options.select do |key,value|
965
+ query_param_keys.include? key
966
+ end
967
+
968
+ headers = nil
969
+ post_body = nil
970
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
971
+ GetProductTypesDictOut.new(response)
972
+
973
+ end
974
+
975
+ def get_countries_dict (tax_supported,opts={})
976
+ query_param_keys = [:tax_supported]
977
+
978
+ # set default values and merge with input
979
+ options = {
980
+ :tax_supported => tax_supported}.merge(opts)
981
+
982
+ #resource path
983
+ path = "/api/v1/dictionaries/countries".sub('{format}','json')
984
+
985
+
986
+ # pull querystring keys from options
987
+ queryopts = options.select do |key,value|
988
+ query_param_keys.include? key
989
+ end
990
+
991
+ headers = nil
992
+ post_body = nil
993
+ response = Swagger::Request.new(:GET, path, {:params=>queryopts,:headers=>headers, :body=>post_body }).make.body
994
+ GetCountriesDictOut.new(response)
995
+
996
+ end
997
+
998
+ end
999
+ end