ultracart_api 4.1.20 → 4.1.21

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.
@@ -0,0 +1,265 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module UltracartClient
17
+ class CustomReportChartPngUploadResponse
18
+ attr_accessor :error
19
+
20
+ attr_accessor :metadata
21
+
22
+ attr_accessor :signed_download_url
23
+
24
+ attr_accessor :signed_upload_url
25
+
26
+ # Indicates if API call was successful
27
+ attr_accessor :success
28
+
29
+ attr_accessor :warning
30
+
31
+ # Attribute mapping from ruby-style variable name to JSON key.
32
+ def self.attribute_map
33
+ {
34
+ :'error' => :'error',
35
+ :'metadata' => :'metadata',
36
+ :'signed_download_url' => :'signed_download_url',
37
+ :'signed_upload_url' => :'signed_upload_url',
38
+ :'success' => :'success',
39
+ :'warning' => :'warning'
40
+ }
41
+ end
42
+
43
+ # Returns all the JSON keys this model knows about
44
+ def self.acceptable_attributes
45
+ attribute_map.values
46
+ end
47
+
48
+ # Attribute type mapping.
49
+ def self.openapi_types
50
+ {
51
+ :'error' => :'Error',
52
+ :'metadata' => :'ResponseMetadata',
53
+ :'signed_download_url' => :'String',
54
+ :'signed_upload_url' => :'String',
55
+ :'success' => :'Boolean',
56
+ :'warning' => :'Warning'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::CustomReportChartPngUploadResponse` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::CustomReportChartPngUploadResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'error')
82
+ self.error = attributes[:'error']
83
+ end
84
+
85
+ if attributes.key?(:'metadata')
86
+ self.metadata = attributes[:'metadata']
87
+ end
88
+
89
+ if attributes.key?(:'signed_download_url')
90
+ self.signed_download_url = attributes[:'signed_download_url']
91
+ end
92
+
93
+ if attributes.key?(:'signed_upload_url')
94
+ self.signed_upload_url = attributes[:'signed_upload_url']
95
+ end
96
+
97
+ if attributes.key?(:'success')
98
+ self.success = attributes[:'success']
99
+ end
100
+
101
+ if attributes.key?(:'warning')
102
+ self.warning = attributes[:'warning']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ invalid_properties = Array.new
110
+ invalid_properties
111
+ end
112
+
113
+ # Check to see if the all the properties in the model are valid
114
+ # @return true if the model is valid
115
+ def valid?
116
+ true
117
+ end
118
+
119
+ # Checks equality by comparing each attribute.
120
+ # @param [Object] Object to be compared
121
+ def ==(o)
122
+ return true if self.equal?(o)
123
+ self.class == o.class &&
124
+ error == o.error &&
125
+ metadata == o.metadata &&
126
+ signed_download_url == o.signed_download_url &&
127
+ signed_upload_url == o.signed_upload_url &&
128
+ success == o.success &&
129
+ warning == o.warning
130
+ end
131
+
132
+ # @see the `==` method
133
+ # @param [Object] Object to be compared
134
+ def eql?(o)
135
+ self == o
136
+ end
137
+
138
+ # Calculates hash code according to all attributes.
139
+ # @return [Integer] Hash code
140
+ def hash
141
+ [error, metadata, signed_download_url, signed_upload_url, success, warning].hash
142
+ end
143
+
144
+ # Builds the object from hash
145
+ # @param [Hash] attributes Model attributes in the form of hash
146
+ # @return [Object] Returns the model itself
147
+ def self.build_from_hash(attributes)
148
+ new.build_from_hash(attributes)
149
+ end
150
+
151
+ # Builds the object from hash
152
+ # @param [Hash] attributes Model attributes in the form of hash
153
+ # @return [Object] Returns the model itself
154
+ def build_from_hash(attributes)
155
+ return nil unless attributes.is_a?(Hash)
156
+ attributes = attributes.transform_keys(&:to_sym)
157
+ self.class.openapi_types.each_pair do |key, type|
158
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
159
+ self.send("#{key}=", nil)
160
+ elsif type =~ /\AArray<(.*)>/i
161
+ # check to ensure the input is an array given that the attribute
162
+ # is documented as an array but the input is not
163
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
164
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
165
+ end
166
+ elsif !attributes[self.class.attribute_map[key]].nil?
167
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
168
+ end
169
+ end
170
+
171
+ self
172
+ end
173
+
174
+ # Deserializes the data based on type
175
+ # @param string type Data type
176
+ # @param string value Value to be deserialized
177
+ # @return [Object] Deserialized data
178
+ def _deserialize(type, value)
179
+ case type.to_sym
180
+ when :Time
181
+ Time.parse(value)
182
+ when :Date
183
+ Date.parse(value)
184
+ when :String
185
+ value.to_s
186
+ when :Integer
187
+ value.to_i
188
+ when :Float
189
+ value.to_f
190
+ when :Boolean
191
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
192
+ true
193
+ else
194
+ false
195
+ end
196
+ when :Object
197
+ # generic object (usually a Hash), return directly
198
+ value
199
+ when /\AArray<(?<inner_type>.+)>\z/
200
+ inner_type = Regexp.last_match[:inner_type]
201
+ value.map { |v| _deserialize(inner_type, v) }
202
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
203
+ k_type = Regexp.last_match[:k_type]
204
+ v_type = Regexp.last_match[:v_type]
205
+ {}.tap do |hash|
206
+ value.each do |k, v|
207
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
208
+ end
209
+ end
210
+ else # model
211
+ # models (e.g. Pet) or oneOf
212
+ klass = UltracartClient.const_get(type)
213
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
214
+ end
215
+ end
216
+
217
+ # Returns the string representation of the object
218
+ # @return [String] String presentation of the object
219
+ def to_s
220
+ to_hash.to_s
221
+ end
222
+
223
+ # to_body is an alias to to_hash (backward compatibility)
224
+ # @return [Hash] Returns the object in the form of hash
225
+ def to_body
226
+ to_hash
227
+ end
228
+
229
+ # Returns the object in the form of hash
230
+ # @return [Hash] Returns the object in the form of hash
231
+ def to_hash
232
+ hash = {}
233
+ self.class.attribute_map.each_pair do |attr, param|
234
+ value = self.send(attr)
235
+ if value.nil?
236
+ is_nullable = self.class.openapi_nullable.include?(attr)
237
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
238
+ end
239
+
240
+ hash[param] = _to_hash(value)
241
+ end
242
+ hash
243
+ end
244
+
245
+ # Outputs non-array value in the form of hash
246
+ # For object, use to_hash. Otherwise, just return the value
247
+ # @param [Object] value Any valid value
248
+ # @return [Hash] Returns the value in the form of hash
249
+ def _to_hash(value)
250
+ if value.is_a?(Array)
251
+ value.compact.map { |v| _to_hash(v) }
252
+ elsif value.is_a?(Hash)
253
+ {}.tap do |hash|
254
+ value.each { |k, v| hash[k] = _to_hash(v) }
255
+ end
256
+ elsif value.respond_to? :to_hash
257
+ value.to_hash
258
+ else
259
+ value
260
+ end
261
+ end
262
+
263
+ end
264
+
265
+ end
@@ -15,7 +15,7 @@ require 'time'
15
15
 
16
16
  module UltracartClient
17
17
  class ItemTag
18
- # tag_tpe
18
+ # tag_type
19
19
  attr_accessor :tag_type
20
20
 
21
21
  # tag_value
@@ -0,0 +1,280 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module UltracartClient
17
+ class ReplaceOrderItemIdRequest
18
+ # Index of the item on the order (one based index)
19
+ attr_accessor :item_index
20
+
21
+ # Item ID
22
+ attr_accessor :merchant_item_id
23
+
24
+ # Order ID
25
+ attr_accessor :order_id
26
+
27
+ # Replacement Item ID
28
+ attr_accessor :replacement_merchant_item_id
29
+
30
+ # Attribute mapping from ruby-style variable name to JSON key.
31
+ def self.attribute_map
32
+ {
33
+ :'item_index' => :'item_index',
34
+ :'merchant_item_id' => :'merchant_item_id',
35
+ :'order_id' => :'order_id',
36
+ :'replacement_merchant_item_id' => :'replacement_merchant_item_id'
37
+ }
38
+ end
39
+
40
+ # Returns all the JSON keys this model knows about
41
+ def self.acceptable_attributes
42
+ attribute_map.values
43
+ end
44
+
45
+ # Attribute type mapping.
46
+ def self.openapi_types
47
+ {
48
+ :'item_index' => :'Integer',
49
+ :'merchant_item_id' => :'String',
50
+ :'order_id' => :'String',
51
+ :'replacement_merchant_item_id' => :'String'
52
+ }
53
+ end
54
+
55
+ # List of attributes with nullable: true
56
+ def self.openapi_nullable
57
+ Set.new([
58
+ ])
59
+ end
60
+
61
+ # Initializes the object
62
+ # @param [Hash] attributes Model attributes in the form of hash
63
+ def initialize(attributes = {})
64
+ if (!attributes.is_a?(Hash))
65
+ fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::ReplaceOrderItemIdRequest` initialize method"
66
+ end
67
+
68
+ # check to see if the attribute exists and convert string to symbol for hash key
69
+ attributes = attributes.each_with_object({}) { |(k, v), h|
70
+ if (!self.class.attribute_map.key?(k.to_sym))
71
+ fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::ReplaceOrderItemIdRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
72
+ end
73
+ h[k.to_sym] = v
74
+ }
75
+
76
+ if attributes.key?(:'item_index')
77
+ self.item_index = attributes[:'item_index']
78
+ end
79
+
80
+ if attributes.key?(:'merchant_item_id')
81
+ self.merchant_item_id = attributes[:'merchant_item_id']
82
+ end
83
+
84
+ if attributes.key?(:'order_id')
85
+ self.order_id = attributes[:'order_id']
86
+ end
87
+
88
+ if attributes.key?(:'replacement_merchant_item_id')
89
+ self.replacement_merchant_item_id = attributes[:'replacement_merchant_item_id']
90
+ end
91
+ end
92
+
93
+ # Show invalid properties with the reasons. Usually used together with valid?
94
+ # @return Array for valid properties with the reasons
95
+ def list_invalid_properties
96
+ invalid_properties = Array.new
97
+ if !@merchant_item_id.nil? && @merchant_item_id.to_s.length > 20
98
+ invalid_properties.push('invalid value for "merchant_item_id", the character length must be smaller than or equal to 20.')
99
+ end
100
+
101
+ if !@replacement_merchant_item_id.nil? && @replacement_merchant_item_id.to_s.length > 20
102
+ invalid_properties.push('invalid value for "replacement_merchant_item_id", the character length must be smaller than or equal to 20.')
103
+ end
104
+
105
+ invalid_properties
106
+ end
107
+
108
+ # Check to see if the all the properties in the model are valid
109
+ # @return true if the model is valid
110
+ def valid?
111
+ return false if !@merchant_item_id.nil? && @merchant_item_id.to_s.length > 20
112
+ return false if !@replacement_merchant_item_id.nil? && @replacement_merchant_item_id.to_s.length > 20
113
+ true
114
+ end
115
+
116
+ # Custom attribute writer method with validation
117
+ # @param [Object] merchant_item_id Value to be assigned
118
+ def merchant_item_id=(merchant_item_id)
119
+ if !merchant_item_id.nil? && merchant_item_id.to_s.length > 20
120
+ fail ArgumentError, 'invalid value for "merchant_item_id", the character length must be smaller than or equal to 20.'
121
+ end
122
+
123
+ @merchant_item_id = merchant_item_id
124
+ end
125
+
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] replacement_merchant_item_id Value to be assigned
128
+ def replacement_merchant_item_id=(replacement_merchant_item_id)
129
+ if !replacement_merchant_item_id.nil? && replacement_merchant_item_id.to_s.length > 20
130
+ fail ArgumentError, 'invalid value for "replacement_merchant_item_id", the character length must be smaller than or equal to 20.'
131
+ end
132
+
133
+ @replacement_merchant_item_id = replacement_merchant_item_id
134
+ end
135
+
136
+ # Checks equality by comparing each attribute.
137
+ # @param [Object] Object to be compared
138
+ def ==(o)
139
+ return true if self.equal?(o)
140
+ self.class == o.class &&
141
+ item_index == o.item_index &&
142
+ merchant_item_id == o.merchant_item_id &&
143
+ order_id == o.order_id &&
144
+ replacement_merchant_item_id == o.replacement_merchant_item_id
145
+ end
146
+
147
+ # @see the `==` method
148
+ # @param [Object] Object to be compared
149
+ def eql?(o)
150
+ self == o
151
+ end
152
+
153
+ # Calculates hash code according to all attributes.
154
+ # @return [Integer] Hash code
155
+ def hash
156
+ [item_index, merchant_item_id, order_id, replacement_merchant_item_id].hash
157
+ end
158
+
159
+ # Builds the object from hash
160
+ # @param [Hash] attributes Model attributes in the form of hash
161
+ # @return [Object] Returns the model itself
162
+ def self.build_from_hash(attributes)
163
+ new.build_from_hash(attributes)
164
+ end
165
+
166
+ # Builds the object from hash
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ # @return [Object] Returns the model itself
169
+ def build_from_hash(attributes)
170
+ return nil unless attributes.is_a?(Hash)
171
+ attributes = attributes.transform_keys(&:to_sym)
172
+ self.class.openapi_types.each_pair do |key, type|
173
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
174
+ self.send("#{key}=", nil)
175
+ elsif type =~ /\AArray<(.*)>/i
176
+ # check to ensure the input is an array given that the attribute
177
+ # is documented as an array but the input is not
178
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
179
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
180
+ end
181
+ elsif !attributes[self.class.attribute_map[key]].nil?
182
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
183
+ end
184
+ end
185
+
186
+ self
187
+ end
188
+
189
+ # Deserializes the data based on type
190
+ # @param string type Data type
191
+ # @param string value Value to be deserialized
192
+ # @return [Object] Deserialized data
193
+ def _deserialize(type, value)
194
+ case type.to_sym
195
+ when :Time
196
+ Time.parse(value)
197
+ when :Date
198
+ Date.parse(value)
199
+ when :String
200
+ value.to_s
201
+ when :Integer
202
+ value.to_i
203
+ when :Float
204
+ value.to_f
205
+ when :Boolean
206
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
207
+ true
208
+ else
209
+ false
210
+ end
211
+ when :Object
212
+ # generic object (usually a Hash), return directly
213
+ value
214
+ when /\AArray<(?<inner_type>.+)>\z/
215
+ inner_type = Regexp.last_match[:inner_type]
216
+ value.map { |v| _deserialize(inner_type, v) }
217
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
218
+ k_type = Regexp.last_match[:k_type]
219
+ v_type = Regexp.last_match[:v_type]
220
+ {}.tap do |hash|
221
+ value.each do |k, v|
222
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
223
+ end
224
+ end
225
+ else # model
226
+ # models (e.g. Pet) or oneOf
227
+ klass = UltracartClient.const_get(type)
228
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
229
+ end
230
+ end
231
+
232
+ # Returns the string representation of the object
233
+ # @return [String] String presentation of the object
234
+ def to_s
235
+ to_hash.to_s
236
+ end
237
+
238
+ # to_body is an alias to to_hash (backward compatibility)
239
+ # @return [Hash] Returns the object in the form of hash
240
+ def to_body
241
+ to_hash
242
+ end
243
+
244
+ # Returns the object in the form of hash
245
+ # @return [Hash] Returns the object in the form of hash
246
+ def to_hash
247
+ hash = {}
248
+ self.class.attribute_map.each_pair do |attr, param|
249
+ value = self.send(attr)
250
+ if value.nil?
251
+ is_nullable = self.class.openapi_nullable.include?(attr)
252
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
253
+ end
254
+
255
+ hash[param] = _to_hash(value)
256
+ end
257
+ hash
258
+ end
259
+
260
+ # Outputs non-array value in the form of hash
261
+ # For object, use to_hash. Otherwise, just return the value
262
+ # @param [Object] value Any valid value
263
+ # @return [Hash] Returns the value in the form of hash
264
+ def _to_hash(value)
265
+ if value.is_a?(Array)
266
+ value.compact.map { |v| _to_hash(v) }
267
+ elsif value.is_a?(Hash)
268
+ {}.tap do |hash|
269
+ value.each { |k, v| hash[k] = _to_hash(v) }
270
+ end
271
+ elsif value.respond_to? :to_hash
272
+ value.to_hash
273
+ else
274
+ value
275
+ end
276
+ end
277
+
278
+ end
279
+
280
+ end
@@ -11,5 +11,5 @@ OpenAPI Generator version: 6.0.1-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module UltracartClient
14
- VERSION = '4.1.20'
14
+ VERSION = '4.1.21'
15
15
  end
data/lib/ultracart_api.rb CHANGED
@@ -331,6 +331,9 @@ require 'ultracart_api/models/custom_dashboards_response'
331
331
  require 'ultracart_api/models/custom_report'
332
332
  require 'ultracart_api/models/custom_report_account_config'
333
333
  require 'ultracart_api/models/custom_report_account_config_response'
334
+ require 'ultracart_api/models/custom_report_analysis_request'
335
+ require 'ultracart_api/models/custom_report_analysis_response'
336
+ require 'ultracart_api/models/custom_report_chart_png_upload_response'
334
337
  require 'ultracart_api/models/custom_report_execution_parameter'
335
338
  require 'ultracart_api/models/custom_report_execution_request'
336
339
  require 'ultracart_api/models/custom_report_execution_response'
@@ -737,6 +740,7 @@ require 'ultracart_api/models/property'
737
740
  require 'ultracart_api/models/publish_library_item_request'
738
741
  require 'ultracart_api/models/register_affiliate_click_request'
739
742
  require 'ultracart_api/models/register_affiliate_click_response'
743
+ require 'ultracart_api/models/replace_order_item_id_request'
740
744
  require 'ultracart_api/models/report'
741
745
  require 'ultracart_api/models/report_auth'
742
746
  require 'ultracart_api/models/report_auth_response'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultracart_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.20
4
+ version: 4.1.21
5
5
  platform: ruby
6
6
  authors:
7
7
  - UltraCart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-08-18 00:00:00.000000000 Z
11
+ date: 2025-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -381,6 +381,9 @@ files:
381
381
  - docs/CustomReport.md
382
382
  - docs/CustomReportAccountConfig.md
383
383
  - docs/CustomReportAccountConfigResponse.md
384
+ - docs/CustomReportAnalysisRequest.md
385
+ - docs/CustomReportAnalysisResponse.md
386
+ - docs/CustomReportChartPngUploadResponse.md
384
387
  - docs/CustomReportExecutionParameter.md
385
388
  - docs/CustomReportExecutionRequest.md
386
389
  - docs/CustomReportExecutionResponse.md
@@ -795,6 +798,7 @@ files:
795
798
  - docs/PublishLibraryItemRequest.md
796
799
  - docs/RegisterAffiliateClickRequest.md
797
800
  - docs/RegisterAffiliateClickResponse.md
801
+ - docs/ReplaceOrderItemIdRequest.md
798
802
  - docs/Report.md
799
803
  - docs/ReportAuth.md
800
804
  - docs/ReportAuthResponse.md
@@ -1306,6 +1310,9 @@ files:
1306
1310
  - lib/ultracart_api/models/custom_report.rb
1307
1311
  - lib/ultracart_api/models/custom_report_account_config.rb
1308
1312
  - lib/ultracart_api/models/custom_report_account_config_response.rb
1313
+ - lib/ultracart_api/models/custom_report_analysis_request.rb
1314
+ - lib/ultracart_api/models/custom_report_analysis_response.rb
1315
+ - lib/ultracart_api/models/custom_report_chart_png_upload_response.rb
1309
1316
  - lib/ultracart_api/models/custom_report_execution_parameter.rb
1310
1317
  - lib/ultracart_api/models/custom_report_execution_request.rb
1311
1318
  - lib/ultracart_api/models/custom_report_execution_response.rb
@@ -1712,6 +1719,7 @@ files:
1712
1719
  - lib/ultracart_api/models/publish_library_item_request.rb
1713
1720
  - lib/ultracart_api/models/register_affiliate_click_request.rb
1714
1721
  - lib/ultracart_api/models/register_affiliate_click_response.rb
1722
+ - lib/ultracart_api/models/replace_order_item_id_request.rb
1715
1723
  - lib/ultracart_api/models/report.rb
1716
1724
  - lib/ultracart_api/models/report_auth.rb
1717
1725
  - lib/ultracart_api/models/report_auth_response.rb