zuora_rest_client 1.2.1.5 → 1.2.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b558b8c13c32562a9b1a7d80a70506b16ed205f8d76db8a3ee8c047689aa570c
4
- data.tar.gz: c7f32c6fd5e3ea6bc99c0e2de30d131b83f6c20596d067e6099cb8a753a8d430
3
+ metadata.gz: 3637cbe1e944055ad2b7303e6e92735b736224dfa77ad00153430c6da7674db4
4
+ data.tar.gz: de9dd2e15c1d52fec7533b6fa04ddeb4b8650f8b025a6b47d07c4d186710832d
5
5
  SHA512:
6
- metadata.gz: 119115fc601a9e7ed405145fbfb35eaf18bf254d234f7b8fd69c4115cdd7e6f51fd4af2c57f401f17970617c0f17f98c4a28e4e559f0af1586baf3e45fbd32fd
7
- data.tar.gz: e3099dd3f4d6f6db5559fca838bfe00e163feec2a31ff83796064ff8bc038ba945d708fa83ebe2b8303f7f662ffbb67d52123caad602337fdf494cb8d6a69c94
6
+ metadata.gz: 76df5debfb8ec385702e50537e2693f1879fe62832fe683947b46a4159626a1142f705b27c4f8d54c8e6e74de48f8a403a61bb29fb69c8c39a8ac6b2291f88d3
7
+ data.tar.gz: 1aa64f505dbddad21e621037d691f2c2120f4e1979c6df0637781685418624560f08dd607a9ff419246a520f88a0fb840874e3d9d486c7db71a90858179df2bf
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2020 Frontera Consulting, LLC
1
+ Copyright 2021 Frontera Consulting, LLC
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the "Software"),
data/README.md CHANGED
@@ -1,12 +1,11 @@
1
1
  # ZuoraRestClient
2
2
 
3
- This is a simple Zuora client for Ruby. It mainly consists of methods that
4
- wrap the operations described in the Zuora API Reference
3
+ This is a simple Zuora client for Ruby. It mainly consists of methods that wrap the operations described in the Zuora
4
+ API Reference
5
5
  (https://www.zuora.com/developer/api-reference), as well as a few helper methods.
6
6
 
7
- Most of the methods take either the query parameters and/or a hash representing the JSON
8
- request body as arguments. The methods return a `ZuoraRestClient::Result` object which
9
- represents ths JSON response.
7
+ Most of the methods take either the query parameters and/or a hash representing the JSON request body as arguments. The
8
+ methods return a `ZuoraRestClient::Result` object which represents ths JSON response.
10
9
 
11
10
  ## Installation
12
11
 
@@ -27,26 +26,35 @@ Or install it yourself as:
27
26
  ## Usage
28
27
 
29
28
  First, construct a client object:
29
+
30
30
  ```ruby
31
31
  username = 'zuora_username@example.com'
32
32
  password = 'mypassword'
33
- client = ZuoraRestClient::Client.new(username, password) # Create a production client
33
+ client = ZuoraRestClient::Client.new(username, password) # Create a production client
34
34
  ```
35
35
 
36
- For a sandbox tenant, you can specify the following:
36
+ For an API Sandbox tenant, you can specify the following:
37
+
37
38
  ```ruby
38
- client = ZuoraRestClient::Client.new(username, password, :api_sandbox) # Create an api sandbox client
39
+ client = ZuoraRestClient::Client.new(username, password, :api_sandbox) # Create an api sandbox client
39
40
  ```
40
41
 
41
- For a "serivces*NNN*" tenant, where *NNN* is the number that follows "services", you may also need an
42
- API proxy port number to invoke calls to `/action/*` and `/object/*`. Assuming your services tenant is `services000`
42
+ For a Zuora Central Sandbox tenant, you can specify the following:
43
+
44
+ ```ruby
45
+ client = ZuoraRestClient::Client.new(username, password, :test) # Create an zuora central sandbox client
46
+ ```
47
+
48
+ For a "serivces*NNN*" tenant, where *NNN* is the number that follows "services", you may also need an API proxy port
49
+ number to invoke calls to `/action/*` and `/object/*`. Assuming your services tenant is `services000`
43
50
  and your API proxy port number is `1234`, you can specify the following:
44
51
 
45
52
  ```ruby
46
- client = ZuoraRestClient::Client.new(username, password, :services000, api_proxy_port: 1234) # Create an api services000 client
53
+ client = ZuoraRestClient::Client.new(username, password, :services000, api_proxy_port: 1234) # Create an api services000 client
47
54
  ```
48
55
 
49
- Call one of the client methods. For example, to create an account:
56
+ Call one of the client methods. For example, to create an account:
57
+
50
58
  ```ruby
51
59
  account_to_create = {
52
60
  Batch: 'Batch1',
@@ -237,7 +237,7 @@ module ZuoraRestClient
237
237
 
238
238
  def aqua_query(request, options = {})
239
239
  aqua_query_options = {}.merge(DEFAULT_AQUA_QUERY_OPTIONS).merge(options)
240
- result = @connection.app_post('/apps/api/batch-query/', request)
240
+ result = @connection.rest_post('/batch-query/', request)
241
241
  logger.debug "********* AQUA POST QUERY RESULT: #{result.inspect}"
242
242
 
243
243
  raise "Error: #{result.message}" if result.status.downcase == 'error'
@@ -260,11 +260,11 @@ module ZuoraRestClient
260
260
  end
261
261
 
262
262
  def get_aqua_job_result(job_id)
263
- @connection.app_get("/apps/api/batch-query/jobs/#{job_id}")
263
+ @connection.rest_get("/batch-query/jobs/#{job_id}")
264
264
  end
265
265
 
266
266
  def get_last_aqua_job_result(partner, project)
267
- @connection.app_get("/apps/api/batch-query/jobs/partner/#{partner}/project/#{project}")
267
+ @connection.rest_get("/batch-query/jobs/partner/#{partner}/project/#{project}")
268
268
  end
269
269
 
270
270
  ##############################################################################
@@ -797,12 +797,12 @@ module ZuoraRestClient
797
797
  # Check status and if complete, output file to destination IO
798
798
  logger.debug "********* FINAL EXPORT STATUS: #{export_record.Status}"
799
799
  case export_record.Status
800
- when 'Completed'
801
- get_file(export_zobject.FileId, destination_io)
802
- when 'Canceled'
803
- raise "Error downloading file: #{export_record.Status} - #{export_record.StatusReason}"
804
- when 'Failed'
805
- raise "Error downloading file: #{export_record.Status} - #{export_record.StatusReason}"
800
+ when 'Completed'
801
+ get_file(export_zobject.FileId, destination_io)
802
+ when 'Canceled'
803
+ raise "Error downloading file: #{export_record.Status} - #{export_record.StatusReason}"
804
+ when 'Failed'
805
+ raise "Error downloading file: #{export_record.Status} - #{export_record.StatusReason}"
806
806
  end
807
807
 
808
808
  # If requested, delete export from server
@@ -995,6 +995,12 @@ module ZuoraRestClient
995
995
  # #
996
996
  ##############################################################################
997
997
 
998
+ def get_invoice_files(invoice_id, page_size = nil, zuora_version = nil)
999
+ uri = Addressable::URI.parse("/invoices/#{invoice_id}/files")
1000
+ uri.query_values = { pageSize: page_size.to_s } if !page_size.nil?
1001
+ @connection.rest_get(uri.to_s, zuora_version)
1002
+ end
1003
+
998
1004
  def reverse_invoice(invoice_id, zuora_version = nil)
999
1005
  @connection.rest_put("/invoices/#{invoice_id}/reverse", nil, zuora_version)
1000
1006
  end
@@ -32,7 +32,9 @@ module ZuoraRestClient
32
32
  @options = {}.merge(DEFAULT_OPTIONS).merge(options)
33
33
  end
34
34
 
35
+ # @deprecated Since the Client class no longer uses this, it will be removed.
35
36
  def app_get(path)
37
+ warn "[DEPRECATION] `app_get` is deprecated. Please use `rest_get` instead."
36
38
  response = app_connection.get do |request|
37
39
  request.url path
38
40
  request.headers = app_headers
@@ -40,7 +42,9 @@ module ZuoraRestClient
40
42
  process_response(response)
41
43
  end
42
44
 
45
+ # @deprecated Since the Client class no longer uses this, it will be removed.
43
46
  def app_post(path, post_data = nil, is_json = true)
47
+ warn "[DEPRECATION] `app_post` is deprecated. Please use `rest_post` instead."
44
48
  response = app_connection.post do |request|
45
49
  request.url path
46
50
  request.headers = app_headers
@@ -52,7 +56,7 @@ module ZuoraRestClient
52
56
 
53
57
  def rest_get(path, zuora_version = nil)
54
58
  response = rest_connection(use_api_proxy?(path)).get do |request|
55
- request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('')
59
+ request.url [ZUORA_REST_MAJOR_VERSION, path].join('')
56
60
  request.headers = rest_headers(zuora_version)
57
61
  end
58
62
  process_response(response)
@@ -66,7 +70,7 @@ module ZuoraRestClient
66
70
  endpoint_uri = Addressable::URI.parse(zuora_endpoint.rest)
67
71
  Net::HTTP.start(endpoint_uri.normalized_host, endpoint_uri.normalized_port,
68
72
  use_ssl: endpoint_uri.normalized_scheme == 'https') do |http|
69
- request = Net::HTTP::Get.new [ endpoint_uri.normalized_path, '/', ZUORA_REST_MAJOR_VERSION, path ].join('')
73
+ request = Net::HTTP::Get.new [endpoint_uri.normalized_path, '/', ZUORA_REST_MAJOR_VERSION, path].join('')
70
74
  rest_headers(zuora_version).each_pair do |header_key, header_value|
71
75
  request[header_key] = header_value
72
76
  end
@@ -89,7 +93,7 @@ module ZuoraRestClient
89
93
 
90
94
  def rest_post(path, post_data = nil, zuora_version = nil, is_json = true)
91
95
  response = rest_connection(use_api_proxy?(path)).post do |request|
92
- request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('')
96
+ request.url [ZUORA_REST_MAJOR_VERSION, path].join('')
93
97
  request.headers = rest_headers(zuora_version)
94
98
  request.body = MultiJson.dump(post_data) if !post_data.nil? && is_json
95
99
  request.body = post_data if !post_data.nil? && !is_json
@@ -99,7 +103,7 @@ module ZuoraRestClient
99
103
 
100
104
  def rest_put(path, put_data = nil, zuora_version = nil, is_json = true)
101
105
  response = rest_connection(use_api_proxy?(path)).put do |request|
102
- request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('')
106
+ request.url [ZUORA_REST_MAJOR_VERSION, path].join('')
103
107
  request.headers = rest_headers(zuora_version)
104
108
  request.body = MultiJson.dump(put_data) if !put_data.nil? && is_json
105
109
  request.body = put_data if !put_data.nil? && !is_json
@@ -109,7 +113,7 @@ module ZuoraRestClient
109
113
 
110
114
  def rest_delete(path, zuora_version = nil)
111
115
  response = rest_connection(use_api_proxy?(path)).delete do |request|
112
- request.url [ ZUORA_REST_MAJOR_VERSION, path ].join('')
116
+ request.url [ZUORA_REST_MAJOR_VERSION, path].join('')
113
117
  request.headers = rest_headers(zuora_version)
114
118
  end
115
119
  process_response(response)
@@ -125,8 +129,13 @@ module ZuoraRestClient
125
129
  app: 'https://www.zuora.com' },
126
130
  api_sandbox: {
127
131
  rest: 'https://rest.apisandbox.zuora.com',
128
- app: 'https://apisandbox.zuora.com' } }
132
+ app: 'https://apisandbox.zuora.com' },
133
+ test: {
134
+ rest: 'https://rest.test.zuora.com',
135
+ app: 'https://test.zuora.com' }
136
+ }
129
137
 
138
+ # @deprecated Since the Client class no longer uses this, it will be removed.
130
139
  def app_connection
131
140
  Faraday.new(url: zuora_endpoint.app, request: {
132
141
  open_timeout: @options[:request_open_timeout] || 120,
@@ -139,6 +148,7 @@ module ZuoraRestClient
139
148
  end
140
149
  end
141
150
 
151
+ # @deprecated Since the Client class no longer uses this, it will be removed.
142
152
  def app_headers
143
153
  headers = { 'Content-Type' => 'application/json' }
144
154
  headers['entityId'] = @options[:entity_id] if !@options[:entity_id].nil?
@@ -216,7 +226,7 @@ module ZuoraRestClient
216
226
  rest_endpoint = "#{@environment[:rest]}"
217
227
  app_endpoint = "#{@environment[:app]}/apps/api"
218
228
  else
219
- raise 'Possible values for environment are: :production, :api_sandbox, :servicesNNN or a hash with base URL values for :rest and :app.'
229
+ raise 'Possible values for environment are: :production, :api_sandbox, :test, :servicesNNN or a hash with base URL values for :rest and :app.'
220
230
  end
221
231
  OpenStruct.new({ rest: rest_endpoint, app: app_endpoint })
222
232
  end
@@ -1,3 +1,3 @@
1
1
  module ZuoraRestClient
2
- VERSION = '1.2.1.5'
2
+ VERSION = '1.2.2.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_rest_client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1.5
4
+ version: 1.2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Massad
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-07-27 00:00:00.000000000 Z
11
+ date: 2021-06-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -318,7 +318,7 @@ homepage: https://github.com/FronteraConsulting/zuora_rest_client
318
318
  licenses:
319
319
  - MIT
320
320
  metadata: {}
321
- post_install_message:
321
+ post_install_message:
322
322
  rdoc_options: []
323
323
  require_paths:
324
324
  - lib
@@ -333,8 +333,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
333
333
  - !ruby/object:Gem::Version
334
334
  version: '0'
335
335
  requirements: []
336
- rubygems_version: 3.1.4
337
- signing_key:
336
+ rubygems_version: 3.1.2
337
+ signing_key:
338
338
  specification_version: 4
339
339
  summary: Zuora REST Client
340
340
  test_files: []