zuora_rest_client 1.2.1.5 → 1.2.2.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
  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: []