zuora_api 1.9.05 → 1.9.09
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 +4 -4
- data/lib/zuora_api/login.rb +15 -11
- data/lib/zuora_api/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a6da8c9fbf54221b62336d0221ada0f53e9d22690b7a6a52cd83f214314b5ba5
|
|
4
|
+
data.tar.gz: be31b09eef19df8b8d1fcbd70b9a11980f125c4eb4d5f96c3259ed516ab88934
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d6382ae611e80b38e574357baa771b432c4e554662293e98e4a73ca446c9445264d902f0b604ee071fe9dac6cf6bee4fde8319f0f782975955fdd562cf921b6c
|
|
7
|
+
data.tar.gz: 1008b0e7e533e01b6636cc82e3e79b21c825d095d789d83c73c96142d9de78556c0caa38775aedb97a3b27e43a93f16281680f10a7d988fb005951084a36f75e
|
data/lib/zuora_api/login.rb
CHANGED
|
@@ -7,8 +7,9 @@ module ZuoraAPI
|
|
|
7
7
|
class Login
|
|
8
8
|
ENVIRONMENTS = [TEST = 'Test', SANDBOX = 'Sandbox', PRODUCTION = 'Production', PREFORMANCE = 'Preformance', SERVICES = 'Services', UNKNOWN = 'Unknown', STAGING = 'Staging' ]
|
|
9
9
|
REGIONS = [EU = 'EU', US = 'US', NA = 'NA' ]
|
|
10
|
-
MIN_Endpoints = {'Test': '
|
|
10
|
+
MIN_Endpoints = {'Test': '108.0', 'Sandbox': '108.0', 'Production': '108.0', 'Performance': '108.0', 'Services': '96.0', 'Unknown': '96.0', 'Staging': '108.0'}.freeze
|
|
11
11
|
XML_SAVE_OPTIONS = Nokogiri::XML::Node::SaveOptions::AS_XML | Nokogiri::XML::Node::SaveOptions::NO_DECLARATION
|
|
12
|
+
USER_AGENT = "Zuora#{ENV['Z_APPLICATION_NAME']&.capitalize}/#{ENV['Z_APPLICATION_VERSION']&.delete('v')}"
|
|
12
13
|
|
|
13
14
|
CONNECTION_EXCEPTIONS = [
|
|
14
15
|
Net::OpenTimeout,
|
|
@@ -75,7 +76,7 @@ module ZuoraAPI
|
|
|
75
76
|
zsession = cookies["ZSession"]
|
|
76
77
|
begin
|
|
77
78
|
if !zsession.blank?
|
|
78
|
-
response = HTTParty.get("https://#{self.hostname}/apps/v1/identity", :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json'})
|
|
79
|
+
response = HTTParty.get("https://#{self.hostname}/apps/v1/identity", :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json', "User-Agent" => USER_AGENT})
|
|
79
80
|
output_json = JSON.parse(response.body)
|
|
80
81
|
else
|
|
81
82
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new("No ZSession cookie present")
|
|
@@ -91,7 +92,7 @@ module ZuoraAPI
|
|
|
91
92
|
zsession = cookies["ZSession"]
|
|
92
93
|
begin
|
|
93
94
|
if zsession.present?
|
|
94
|
-
response = HTTParty.get("https://#{self.hostname}/apps/v1/navigation", :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json'})
|
|
95
|
+
response = HTTParty.get("https://#{self.hostname}/apps/v1/navigation", :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json', "User-Agent" => USER_AGENT})
|
|
95
96
|
output_json = JSON.parse(response.body)
|
|
96
97
|
else
|
|
97
98
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new("No ZSession cookie present")
|
|
@@ -107,7 +108,7 @@ module ZuoraAPI
|
|
|
107
108
|
zsession = cookies["ZSession"]
|
|
108
109
|
begin
|
|
109
110
|
if !zsession.blank?
|
|
110
|
-
response = HTTParty.put("https://#{self.hostname}/apps/v1/preference/navigation", :body => state.to_json, :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json'})
|
|
111
|
+
response = HTTParty.put("https://#{self.hostname}/apps/v1/preference/navigation", :body => state.to_json, :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json', "User-Agent" => USER_AGENT})
|
|
111
112
|
output_json = JSON.parse(response.body)
|
|
112
113
|
else
|
|
113
114
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new("No ZSession cookie present")
|
|
@@ -123,7 +124,7 @@ module ZuoraAPI
|
|
|
123
124
|
zsession = cookies["ZSession"]
|
|
124
125
|
begin
|
|
125
126
|
if !zsession.blank?
|
|
126
|
-
response = HTTParty.post("https://#{self.hostname}/apps/v1/navigation/fetch", :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json'})
|
|
127
|
+
response = HTTParty.post("https://#{self.hostname}/apps/v1/navigation/fetch", :headers => {'Cookie' => "ZSession=#{zsession}", 'Content-Type' => 'application/json', "User-Agent" => USER_AGENT})
|
|
127
128
|
output_json = JSON.parse(response.body)
|
|
128
129
|
else
|
|
129
130
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new("No ZSession cookie present")
|
|
@@ -138,7 +139,7 @@ module ZuoraAPI
|
|
|
138
139
|
def reporting_url(path)
|
|
139
140
|
map = {"US" => {"Sandbox" => "https://zconnectsandbox.zuora.com/api/rest/v1/",
|
|
140
141
|
"Production" => "https://zconnect.zuora.com/api/rest/v1/",
|
|
141
|
-
"Test" => "https://
|
|
142
|
+
"Test" => "https://zconnect-services0001.test.zuora.com/api/rest/v1/",
|
|
142
143
|
"Staging" => "https://reporting-stg11.zan.svc.auw2.zuora.com/api/rest/v1/",
|
|
143
144
|
"Performance" => "https://zconnectpt1.zuora.com/api/rest/v1/",
|
|
144
145
|
"Services" => "https://reporting-svc08.svc.auw2.zuora.com/api/rest/v1/"},
|
|
@@ -176,7 +177,7 @@ module ZuoraAPI
|
|
|
176
177
|
raise ZuoraAPI::Exceptions::ZuoraAPIError.new("Zuora User ID not provided")
|
|
177
178
|
end
|
|
178
179
|
elsif !client_id.nil? && !client_secret.nil?
|
|
179
|
-
bearer_response = HTTParty.post("https://#{self.hostname}/oauth/token", :headers => {'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json'}, :body => {'client_id' => client_id, 'client_secret' => URI::encode(client_secret), 'grant_type' => 'client_credentials'})
|
|
180
|
+
bearer_response = HTTParty.post("https://#{self.hostname}/oauth/token", :headers => {'Content-Type' => 'application/x-www-form-urlencoded', 'Accept' => 'application/json', "User-Agent" => USER_AGENT}, :body => {'client_id' => client_id, 'client_secret' => URI::encode(client_secret), 'grant_type' => 'client_credentials'})
|
|
180
181
|
bearer_hash = JSON.parse(bearer_response.body)
|
|
181
182
|
bearer_token = bearer_hash["access_token"]
|
|
182
183
|
authorization = "Bearer #{bearer_token}"
|
|
@@ -184,7 +185,7 @@ module ZuoraAPI
|
|
|
184
185
|
|
|
185
186
|
if !authorization.blank? && !user_id.blank? && !entity_ids.blank?
|
|
186
187
|
endpoint = chomp_v1_from_genesis_endpoint ? self.rest_endpoint.chomp("v1/").concat("genesis/clients") : self.rest_endpoint("genesis/clients")
|
|
187
|
-
oauth_response = HTTParty.post(endpoint, :headers => {'authorization' => authorization, 'Content-Type' => 'application/json'}, :body => {'clientId' => new_client_id, 'clientSecret' => new_client_secret, 'userId' => user_id, 'entityIds' => entity_ids, 'customAuthorities' => custom_authorities, 'additionalInformation' => {'description' => info_desc, 'name' => info_name}}.to_json)
|
|
188
|
+
oauth_response = HTTParty.post(endpoint, :headers => {'authorization' => authorization, 'Content-Type' => 'application/json', "User-Agent" => USER_AGENT}, :body => {'clientId' => new_client_id, 'clientSecret' => new_client_secret, 'userId' => user_id, 'entityIds' => entity_ids, 'customAuthorities' => custom_authorities, 'additionalInformation' => {'description' => info_desc, 'name' => info_name}}.to_json)
|
|
188
189
|
output_json = JSON.parse(oauth_response.body)
|
|
189
190
|
if oauth_response.code == 201
|
|
190
191
|
output_json["clientSecret"] = new_client_secret if !use_api_generated_client_secret
|
|
@@ -433,12 +434,12 @@ module ZuoraAPI
|
|
|
433
434
|
end
|
|
434
435
|
if single_transaction
|
|
435
436
|
xml["#{ns1}"].CallOptions do
|
|
436
|
-
xml.useSingleTransaction single_transaction
|
|
437
|
+
xml["#{ns1}"].useSingleTransaction single_transaction
|
|
437
438
|
end
|
|
438
439
|
end
|
|
439
440
|
if batch_size
|
|
440
441
|
xml["#{ns1}"].QueryOptions do
|
|
441
|
-
xml.batchSize batch_size
|
|
442
|
+
xml["#{ns1}"].batchSize batch_size
|
|
442
443
|
end
|
|
443
444
|
end
|
|
444
445
|
end
|
|
@@ -453,6 +454,7 @@ module ZuoraAPI
|
|
|
453
454
|
|
|
454
455
|
headers.merge!({ 'Content-Type' => "text/xml; charset=utf-8", 'Accept' => 'text/xml'})
|
|
455
456
|
headers['Zuora-Track-Id'] = zuora_track_id if zuora_track_id.present?
|
|
457
|
+
headers["User-Agent"] = USER_AGENT
|
|
456
458
|
|
|
457
459
|
request = HTTParty::Request.new(
|
|
458
460
|
Net::HTTP::Post,
|
|
@@ -1026,7 +1028,7 @@ module ZuoraAPI
|
|
|
1026
1028
|
base = self.url.include?(".com") ? self.url.split(".com")[0].concat(".com") : self.url.split(".eu")[0].concat(".eu")
|
|
1027
1029
|
url = object ? "#{base}/apps/api/describe/#{object}" : "#{base}/apps/api/describe/"
|
|
1028
1030
|
headers = self.entity_id.present? ? {"Zuora-Entity-Ids" => self.entity_id, 'Content-Type' => "text/xml; charset=utf-8"} : {'Content-Type' => "text/xml; charset=utf-8"}
|
|
1029
|
-
response = HTTParty.get(url, headers: {"Authorization" => self.get_session(prefix: true, auth_type: :basic)}.merge(headers), :timeout => 130)
|
|
1031
|
+
response = HTTParty.get(url, headers: {"Authorization" => self.get_session(prefix: true, auth_type: :basic), "User-Agent" => USER_AGENT}.merge(headers), :timeout => 130)
|
|
1030
1032
|
|
|
1031
1033
|
raise ZuoraAPI::Exceptions::ZuoraAPISessionError.new(self.current_error.present? ? self.current_error : 'Describe call 401', response) if response.code == 401
|
|
1032
1034
|
|
|
@@ -1118,6 +1120,7 @@ module ZuoraAPI
|
|
|
1118
1120
|
end
|
|
1119
1121
|
end
|
|
1120
1122
|
headers['Zuora-Track-Id'] = zuora_track_id if zuora_track_id.present?
|
|
1123
|
+
headers['User-Agent'] = USER_AGENT
|
|
1121
1124
|
|
|
1122
1125
|
modified_headers = {'Content-Type' => "application/json; charset=utf-8"}.merge(authentication_headers).merge(headers)
|
|
1123
1126
|
|
|
@@ -1283,6 +1286,7 @@ module ZuoraAPI
|
|
|
1283
1286
|
end
|
|
1284
1287
|
|
|
1285
1288
|
headers['Zuora-Track-Id'] = zuora_track_id if zuora_track_id.present?
|
|
1289
|
+
headers["User-Agent"] = USER_AGENT
|
|
1286
1290
|
|
|
1287
1291
|
response_save = nil
|
|
1288
1292
|
http.request_get(uri.request_uri, headers) do |response|
|
data/lib/zuora_api/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zuora_api
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.9.
|
|
4
|
+
version: 1.9.09
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Zuora Strategic Solutions Group
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-08-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -219,7 +219,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
219
219
|
- !ruby/object:Gem::Version
|
|
220
220
|
version: '0'
|
|
221
221
|
requirements: []
|
|
222
|
-
rubygems_version: 3.2.
|
|
222
|
+
rubygems_version: 3.2.22
|
|
223
223
|
signing_key:
|
|
224
224
|
specification_version: 4
|
|
225
225
|
summary: Gem that provides easy integration to Zuora
|