talon_one 8.0.0 → 9.0.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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +6 -8
  3. data/docs/AchievementBase.md +35 -0
  4. data/docs/AchievementProgressWithDefinition.md +45 -0
  5. data/docs/AchievementStatusEntry.md +45 -0
  6. data/docs/AnalyticsSKU.md +23 -0
  7. data/docs/ApplicationCIFReferences.md +19 -0
  8. data/docs/CampaignDetail.md +19 -0
  9. data/docs/CampaignStoreBudgetLimitConfig.md +25 -0
  10. data/docs/CampaignTemplate.md +3 -1
  11. data/docs/HiddenConditionsEffects.md +23 -0
  12. data/docs/InlineResponse20048.md +19 -0
  13. data/docs/InlineResponse20049.md +19 -0
  14. data/docs/IntegrationApi.md +3 -1
  15. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +3 -1
  16. data/docs/LoyaltyLedgerEntryFlags.md +17 -0
  17. data/docs/LoyaltyProgramTransaction.md +3 -1
  18. data/docs/ManagementApi.md +164 -323
  19. data/docs/MessageTest.md +27 -0
  20. data/docs/NewMessageTest.md +29 -0
  21. data/docs/ProductUnitAnalyticsDataPoint.md +25 -0
  22. data/docs/ProductUnitAnalyticsTotals.md +17 -0
  23. data/docs/SkuUnitAnalytics.md +19 -0
  24. data/docs/SkuUnitAnalyticsDataPoint.md +23 -0
  25. data/docs/StrikethroughLabelingNotification.md +2 -0
  26. data/lib/talon_one/api/integration_api.rb +3 -0
  27. data/lib/talon_one/api/management_api.rb +191 -354
  28. data/lib/talon_one/models/achievement_base.rb +377 -0
  29. data/lib/talon_one/models/achievement_progress_with_definition.rb +490 -0
  30. data/lib/talon_one/models/achievement_status_entry.rb +472 -0
  31. data/lib/talon_one/models/analytics_sku.rb +246 -0
  32. data/lib/talon_one/models/application_cif_references.rb +219 -0
  33. data/lib/talon_one/models/campaign_detail.rb +232 -0
  34. data/lib/talon_one/models/campaign_store_budget_limit_config.rb +322 -0
  35. data/lib/talon_one/models/campaign_template.rb +16 -4
  36. data/lib/talon_one/models/delete_user_request.rb +0 -1
  37. data/lib/talon_one/models/hidden_conditions_effects.rb +246 -0
  38. data/lib/talon_one/models/inline_response20048.rb +222 -0
  39. data/lib/talon_one/models/inline_response20049.rb +227 -0
  40. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +13 -4
  41. data/lib/talon_one/models/loyalty_ledger_entry_flags.rb +208 -0
  42. data/lib/talon_one/models/loyalty_program_transaction.rb +13 -4
  43. data/lib/talon_one/models/message_test.rb +227 -0
  44. data/lib/talon_one/models/new_message_test.rb +322 -0
  45. data/lib/talon_one/models/product_unit_analytics_data_point.rb +271 -0
  46. data/lib/talon_one/models/product_unit_analytics_totals.rb +206 -0
  47. data/lib/talon_one/models/sku_unit_analytics.rb +227 -0
  48. data/lib/talon_one/models/sku_unit_analytics_data_point.rb +256 -0
  49. data/lib/talon_one/models/strikethrough_labeling_notification.rb +11 -1
  50. data/lib/talon_one/version.rb +1 -1
  51. data/lib/talon_one.rb +2 -1
  52. data/spec/api/integration_api_spec.rb +1 -0
  53. data/spec/api/management_api_spec.rb +60 -87
  54. data/spec/models/campaign_template_spec.rb +6 -0
  55. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  56. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  57. data/spec/models/revision_activation_request_spec.rb +47 -0
  58. data/spec/models/strikethrough_labeling_notification_spec.rb +6 -0
  59. metadata +563 -527
@@ -0,0 +1,208 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
5
+
6
+ The version of the OpenAPI document:
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TalonOne
16
+ # A map of flags providing additional details about the entry.
17
+ class LoyaltyLedgerEntryFlags
18
+ # Set to true if the entry creates negative balance.
19
+ attr_accessor :creates_negative_balance
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'creates_negative_balance' => :'createsNegativeBalance'
25
+ }
26
+ end
27
+
28
+ # Attribute type mapping.
29
+ def self.openapi_types
30
+ {
31
+ :'creates_negative_balance' => :'Boolean'
32
+ }
33
+ end
34
+
35
+ # List of attributes with nullable: true
36
+ def self.openapi_nullable
37
+ Set.new([
38
+ ])
39
+ end
40
+
41
+ # Initializes the object
42
+ # @param [Hash] attributes Model attributes in the form of hash
43
+ def initialize(attributes = {})
44
+ if (!attributes.is_a?(Hash))
45
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::LoyaltyLedgerEntryFlags` initialize method"
46
+ end
47
+
48
+ # check to see if the attribute exists and convert string to symbol for hash key
49
+ attributes = attributes.each_with_object({}) { |(k, v), h|
50
+ if (!self.class.attribute_map.key?(k.to_sym))
51
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::LoyaltyLedgerEntryFlags`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
52
+ end
53
+ h[k.to_sym] = v
54
+ }
55
+
56
+ if attributes.key?(:'creates_negative_balance')
57
+ self.creates_negative_balance = attributes[:'creates_negative_balance']
58
+ end
59
+ end
60
+
61
+ # Show invalid properties with the reasons. Usually used together with valid?
62
+ # @return Array for valid properties with the reasons
63
+ def list_invalid_properties
64
+ invalid_properties = Array.new
65
+ invalid_properties
66
+ end
67
+
68
+ # Check to see if the all the properties in the model are valid
69
+ # @return true if the model is valid
70
+ def valid?
71
+ true
72
+ end
73
+
74
+ # Checks equality by comparing each attribute.
75
+ # @param [Object] Object to be compared
76
+ def ==(o)
77
+ return true if self.equal?(o)
78
+ self.class == o.class &&
79
+ creates_negative_balance == o.creates_negative_balance
80
+ end
81
+
82
+ # @see the `==` method
83
+ # @param [Object] Object to be compared
84
+ def eql?(o)
85
+ self == o
86
+ end
87
+
88
+ # Calculates hash code according to all attributes.
89
+ # @return [Integer] Hash code
90
+ def hash
91
+ [creates_negative_balance].hash
92
+ end
93
+
94
+ # Builds the object from hash
95
+ # @param [Hash] attributes Model attributes in the form of hash
96
+ # @return [Object] Returns the model itself
97
+ def self.build_from_hash(attributes)
98
+ new.build_from_hash(attributes)
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def build_from_hash(attributes)
105
+ return nil unless attributes.is_a?(Hash)
106
+ self.class.openapi_types.each_pair do |key, type|
107
+ if type =~ /\AArray<(.*)>/i
108
+ # check to ensure the input is an array given that the attribute
109
+ # is documented as an array but the input is not
110
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
111
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
112
+ end
113
+ elsif !attributes[self.class.attribute_map[key]].nil?
114
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
115
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
116
+ end
117
+
118
+ self
119
+ end
120
+
121
+ # Deserializes the data based on type
122
+ # @param string type Data type
123
+ # @param string value Value to be deserialized
124
+ # @return [Object] Deserialized data
125
+ def _deserialize(type, value)
126
+ case type.to_sym
127
+ when :DateTime
128
+ DateTime.parse(value)
129
+ when :Date
130
+ Date.parse(value)
131
+ when :String
132
+ value.to_s
133
+ when :Integer
134
+ value.to_i
135
+ when :Float
136
+ value.to_f
137
+ when :Boolean
138
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
139
+ true
140
+ else
141
+ false
142
+ end
143
+ when :Object
144
+ # generic object (usually a Hash), return directly
145
+ value
146
+ when /\AArray<(?<inner_type>.+)>\z/
147
+ inner_type = Regexp.last_match[:inner_type]
148
+ value.map { |v| _deserialize(inner_type, v) }
149
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
150
+ k_type = Regexp.last_match[:k_type]
151
+ v_type = Regexp.last_match[:v_type]
152
+ {}.tap do |hash|
153
+ value.each do |k, v|
154
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
155
+ end
156
+ end
157
+ else # model
158
+ TalonOne.const_get(type).build_from_hash(value)
159
+ end
160
+ end
161
+
162
+ # Returns the string representation of the object
163
+ # @return [String] String presentation of the object
164
+ def to_s
165
+ to_hash.to_s
166
+ end
167
+
168
+ # to_body is an alias to to_hash (backward compatibility)
169
+ # @return [Hash] Returns the object in the form of hash
170
+ def to_body
171
+ to_hash
172
+ end
173
+
174
+ # Returns the object in the form of hash
175
+ # @return [Hash] Returns the object in the form of hash
176
+ def to_hash
177
+ hash = {}
178
+ self.class.attribute_map.each_pair do |attr, param|
179
+ value = self.send(attr)
180
+ if value.nil?
181
+ is_nullable = self.class.openapi_nullable.include?(attr)
182
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
183
+ end
184
+
185
+ hash[param] = _to_hash(value)
186
+ end
187
+ hash
188
+ end
189
+
190
+ # Outputs non-array value in the form of hash
191
+ # For object, use to_hash. Otherwise, just return the value
192
+ # @param [Object] value Any valid value
193
+ # @return [Hash] Returns the value in the form of hash
194
+ def _to_hash(value)
195
+ if value.is_a?(Array)
196
+ value.compact.map { |v| _to_hash(v) }
197
+ elsif value.is_a?(Hash)
198
+ {}.tap do |hash|
199
+ value.each { |k, v| hash[k] = _to_hash(v) }
200
+ end
201
+ elsif value.respond_to? :to_hash
202
+ value.to_hash
203
+ else
204
+ value
205
+ end
206
+ end
207
+ end
208
+ end
@@ -68,6 +68,8 @@ module TalonOne
68
68
  # Name of the rule that triggered the effect. Applies only for transactions that resulted from a customer session.
69
69
  attr_accessor :rule_name
70
70
 
71
+ attr_accessor :flags
72
+
71
73
  class EnumAttributeValidator
72
74
  attr_reader :datatype
73
75
  attr_reader :allowable_values
@@ -110,7 +112,8 @@ module TalonOne
110
112
  :'user_id' => :'userId',
111
113
  :'user_email' => :'userEmail',
112
114
  :'ruleset_id' => :'rulesetId',
113
- :'rule_name' => :'ruleName'
115
+ :'rule_name' => :'ruleName',
116
+ :'flags' => :'flags'
114
117
  }
115
118
  end
116
119
 
@@ -134,7 +137,8 @@ module TalonOne
134
137
  :'user_id' => :'Integer',
135
138
  :'user_email' => :'String',
136
139
  :'ruleset_id' => :'Integer',
137
- :'rule_name' => :'String'
140
+ :'rule_name' => :'String',
141
+ :'flags' => :'LoyaltyLedgerEntryFlags'
138
142
  }
139
143
  end
140
144
 
@@ -230,6 +234,10 @@ module TalonOne
230
234
  if attributes.key?(:'rule_name')
231
235
  self.rule_name = attributes[:'rule_name']
232
236
  end
237
+
238
+ if attributes.key?(:'flags')
239
+ self.flags = attributes[:'flags']
240
+ end
233
241
  end
234
242
 
235
243
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -442,7 +450,8 @@ module TalonOne
442
450
  user_id == o.user_id &&
443
451
  user_email == o.user_email &&
444
452
  ruleset_id == o.ruleset_id &&
445
- rule_name == o.rule_name
453
+ rule_name == o.rule_name &&
454
+ flags == o.flags
446
455
  end
447
456
 
448
457
  # @see the `==` method
@@ -454,7 +463,7 @@ module TalonOne
454
463
  # Calculates hash code according to all attributes.
455
464
  # @return [Integer] Hash code
456
465
  def hash
457
- [id, program_id, campaign_id, created, type, amount, name, start_date, expiry_date, customer_profile_id, card_identifier, subledger_id, customer_session_id, import_id, user_id, user_email, ruleset_id, rule_name].hash
466
+ [id, program_id, campaign_id, created, type, amount, name, start_date, expiry_date, customer_profile_id, card_identifier, subledger_id, customer_session_id, import_id, user_id, user_email, ruleset_id, rule_name, flags].hash
458
467
  end
459
468
 
460
469
  # Builds the object from hash
@@ -0,0 +1,227 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
5
+
6
+ The version of the OpenAPI document:
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TalonOne
16
+ class MessageTest
17
+ # The returned http response.
18
+ attr_accessor :http_response
19
+
20
+ # The returned http status code.
21
+ attr_accessor :http_status
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'http_response' => :'httpResponse',
27
+ :'http_status' => :'httpStatus'
28
+ }
29
+ end
30
+
31
+ # Attribute type mapping.
32
+ def self.openapi_types
33
+ {
34
+ :'http_response' => :'String',
35
+ :'http_status' => :'Integer'
36
+ }
37
+ end
38
+
39
+ # List of attributes with nullable: true
40
+ def self.openapi_nullable
41
+ Set.new([
42
+ ])
43
+ end
44
+
45
+ # Initializes the object
46
+ # @param [Hash] attributes Model attributes in the form of hash
47
+ def initialize(attributes = {})
48
+ if (!attributes.is_a?(Hash))
49
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::MessageTest` initialize method"
50
+ end
51
+
52
+ # check to see if the attribute exists and convert string to symbol for hash key
53
+ attributes = attributes.each_with_object({}) { |(k, v), h|
54
+ if (!self.class.attribute_map.key?(k.to_sym))
55
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::MessageTest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
56
+ end
57
+ h[k.to_sym] = v
58
+ }
59
+
60
+ if attributes.key?(:'http_response')
61
+ self.http_response = attributes[:'http_response']
62
+ end
63
+
64
+ if attributes.key?(:'http_status')
65
+ self.http_status = attributes[:'http_status']
66
+ end
67
+ end
68
+
69
+ # Show invalid properties with the reasons. Usually used together with valid?
70
+ # @return Array for valid properties with the reasons
71
+ def list_invalid_properties
72
+ invalid_properties = Array.new
73
+ if @http_response.nil?
74
+ invalid_properties.push('invalid value for "http_response", http_response cannot be nil.')
75
+ end
76
+
77
+ if @http_status.nil?
78
+ invalid_properties.push('invalid value for "http_status", http_status cannot be nil.')
79
+ end
80
+
81
+ invalid_properties
82
+ end
83
+
84
+ # Check to see if the all the properties in the model are valid
85
+ # @return true if the model is valid
86
+ def valid?
87
+ return false if @http_response.nil?
88
+ return false if @http_status.nil?
89
+ true
90
+ end
91
+
92
+ # Checks equality by comparing each attribute.
93
+ # @param [Object] Object to be compared
94
+ def ==(o)
95
+ return true if self.equal?(o)
96
+ self.class == o.class &&
97
+ http_response == o.http_response &&
98
+ http_status == o.http_status
99
+ end
100
+
101
+ # @see the `==` method
102
+ # @param [Object] Object to be compared
103
+ def eql?(o)
104
+ self == o
105
+ end
106
+
107
+ # Calculates hash code according to all attributes.
108
+ # @return [Integer] Hash code
109
+ def hash
110
+ [http_response, http_status].hash
111
+ end
112
+
113
+ # Builds the object from hash
114
+ # @param [Hash] attributes Model attributes in the form of hash
115
+ # @return [Object] Returns the model itself
116
+ def self.build_from_hash(attributes)
117
+ new.build_from_hash(attributes)
118
+ end
119
+
120
+ # Builds the object from hash
121
+ # @param [Hash] attributes Model attributes in the form of hash
122
+ # @return [Object] Returns the model itself
123
+ def build_from_hash(attributes)
124
+ return nil unless attributes.is_a?(Hash)
125
+ self.class.openapi_types.each_pair do |key, type|
126
+ if type =~ /\AArray<(.*)>/i
127
+ # check to ensure the input is an array given that the attribute
128
+ # is documented as an array but the input is not
129
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
130
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
131
+ end
132
+ elsif !attributes[self.class.attribute_map[key]].nil?
133
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
134
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
135
+ end
136
+
137
+ self
138
+ end
139
+
140
+ # Deserializes the data based on type
141
+ # @param string type Data type
142
+ # @param string value Value to be deserialized
143
+ # @return [Object] Deserialized data
144
+ def _deserialize(type, value)
145
+ case type.to_sym
146
+ when :DateTime
147
+ DateTime.parse(value)
148
+ when :Date
149
+ Date.parse(value)
150
+ when :String
151
+ value.to_s
152
+ when :Integer
153
+ value.to_i
154
+ when :Float
155
+ value.to_f
156
+ when :Boolean
157
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
158
+ true
159
+ else
160
+ false
161
+ end
162
+ when :Object
163
+ # generic object (usually a Hash), return directly
164
+ value
165
+ when /\AArray<(?<inner_type>.+)>\z/
166
+ inner_type = Regexp.last_match[:inner_type]
167
+ value.map { |v| _deserialize(inner_type, v) }
168
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
169
+ k_type = Regexp.last_match[:k_type]
170
+ v_type = Regexp.last_match[:v_type]
171
+ {}.tap do |hash|
172
+ value.each do |k, v|
173
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
174
+ end
175
+ end
176
+ else # model
177
+ TalonOne.const_get(type).build_from_hash(value)
178
+ end
179
+ end
180
+
181
+ # Returns the string representation of the object
182
+ # @return [String] String presentation of the object
183
+ def to_s
184
+ to_hash.to_s
185
+ end
186
+
187
+ # to_body is an alias to to_hash (backward compatibility)
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_body
190
+ to_hash
191
+ end
192
+
193
+ # Returns the object in the form of hash
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Outputs non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ # @param [Object] value Any valid value
212
+ # @return [Hash] Returns the value in the form of hash
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map { |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end
226
+ end
227
+ end