tremendous_ruby 5.3.0 → 5.5.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 (192) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tremendous/api/tremendous_api.rb +618 -56
  3. data/lib/tremendous/api_client.rb +31 -26
  4. data/lib/tremendous/api_error.rb +1 -1
  5. data/lib/tremendous/configuration.rb +2 -2
  6. data/lib/tremendous/models/allow_email.rb +225 -0
  7. data/lib/tremendous/models/allow_email1.rb +225 -0
  8. data/lib/tremendous/models/allow_ip.rb +225 -0
  9. data/lib/tremendous/models/allow_ip1.rb +225 -0
  10. data/lib/tremendous/models/balance_transaction.rb +37 -2
  11. data/lib/tremendous/models/base_order_for_create.rb +232 -0
  12. data/lib/tremendous/models/campaign.rb +1 -1
  13. data/lib/tremendous/models/campaign_base.rb +1 -1
  14. data/lib/tremendous/models/channel.rb +45 -0
  15. data/lib/tremendous/models/create_api_key200_response.rb +1 -1
  16. data/lib/tremendous/models/create_campaign201_response.rb +1 -1
  17. data/lib/tremendous/models/create_campaign_request.rb +1 -1
  18. data/lib/tremendous/models/create_invoice.rb +1 -1
  19. data/lib/tremendous/models/create_invoice200_response.rb +1 -1
  20. data/lib/tremendous/models/create_invoice_request.rb +1 -1
  21. data/lib/tremendous/models/create_member.rb +1 -1
  22. data/lib/tremendous/models/create_member200_response.rb +1 -1
  23. data/lib/tremendous/models/create_member_request.rb +1 -1
  24. data/lib/tremendous/models/create_order200_response.rb +2 -2
  25. data/lib/tremendous/models/create_order_request.rb +74 -218
  26. data/lib/tremendous/models/create_organization.rb +1 -1
  27. data/lib/tremendous/models/create_organization200_response.rb +1 -1
  28. data/lib/tremendous/models/create_organization200_response_organization.rb +1 -1
  29. data/lib/tremendous/models/create_organization_request.rb +1 -1
  30. data/lib/tremendous/models/create_organization_request_copy_settings.rb +1 -1
  31. data/lib/tremendous/models/create_public_key.rb +1 -1
  32. data/lib/tremendous/models/create_public_key200_response.rb +1 -1
  33. data/lib/tremendous/models/create_public_key_request.rb +1 -1
  34. data/lib/tremendous/models/create_webhook200_response.rb +1 -1
  35. data/lib/tremendous/models/create_webhook_request.rb +1 -1
  36. data/lib/tremendous/models/currency_codes.rb +1 -1
  37. data/lib/tremendous/models/custom_field.rb +1 -1
  38. data/lib/tremendous/models/delete_fraud_rule200_response.rb +222 -0
  39. data/lib/tremendous/models/delivery_details.rb +1 -1
  40. data/lib/tremendous/models/delivery_method.rb +1 -1
  41. data/lib/tremendous/models/delivery_status.rb +1 -1
  42. data/lib/tremendous/models/error_model.rb +1 -1
  43. data/lib/tremendous/models/field.rb +1 -1
  44. data/lib/tremendous/models/fraud_config_allow_email.rb +224 -0
  45. data/lib/tremendous/models/fraud_config_country.rb +275 -0
  46. data/lib/tremendous/models/fraud_config_country_update_list.rb +224 -0
  47. data/lib/tremendous/models/fraud_config_ip.rb +224 -0
  48. data/lib/tremendous/models/fraud_config_redeemed_rewards_amount.rb +292 -0
  49. data/lib/tremendous/models/fraud_config_redeemed_rewards_count.rb +292 -0
  50. data/lib/tremendous/models/fraud_config_review_email.rb +229 -0
  51. data/lib/tremendous/models/fraud_generic_response.rb +222 -0
  52. data/lib/tremendous/models/fraud_review.rb +351 -0
  53. data/lib/tremendous/models/fraud_review_geo.rb +235 -0
  54. data/lib/tremendous/models/{reward_with_link_delivery.rb → fraud_review_list_item.rb} +27 -52
  55. data/lib/tremendous/models/fraud_review_reason.rb +58 -0
  56. data/lib/tremendous/models/fraud_review_redemption_method.rb +44 -0
  57. data/lib/tremendous/models/fraud_review_related_rewards.rb +304 -0
  58. data/lib/tremendous/models/fraud_review_status.rb +41 -0
  59. data/lib/tremendous/models/fraud_rule200_response.rb +222 -0
  60. data/lib/tremendous/models/fraud_rule400_response.rb +221 -0
  61. data/lib/tremendous/models/fraud_rule422_response.rb +221 -0
  62. data/lib/tremendous/models/fraud_rule_request.rb +214 -0
  63. data/lib/tremendous/models/fraud_rule_request_config.rb +110 -0
  64. data/lib/tremendous/models/fraud_rule_type.rb +49 -0
  65. data/lib/tremendous/models/fraud_rules_list_item.rb +261 -0
  66. data/lib/tremendous/models/funding_source.rb +1 -1
  67. data/lib/tremendous/models/generate_reward_link200_response.rb +1 -1
  68. data/lib/tremendous/models/generate_reward_link200_response_reward.rb +1 -1
  69. data/lib/tremendous/models/generate_reward_link403_response.rb +1 -1
  70. data/lib/tremendous/models/generate_reward_token200_response.rb +1 -1
  71. data/lib/tremendous/models/generate_reward_token200_response_reward.rb +1 -1
  72. data/lib/tremendous/models/get_fraud_review200_response.rb +221 -0
  73. data/lib/tremendous/models/get_fraud_review200_response_fraud_review.rb +351 -0
  74. data/lib/tremendous/models/get_fraud_review200_response_fraud_review_geo.rb +236 -0
  75. data/lib/tremendous/models/get_fraud_review200_response_fraud_review_related_rewards.rb +305 -0
  76. data/lib/tremendous/models/get_funding_source200_response.rb +1 -1
  77. data/lib/tremendous/models/get_member200_response.rb +1 -1
  78. data/lib/tremendous/models/get_member200_response_member.rb +1 -1
  79. data/lib/tremendous/models/get_member200_response_member_events_inner.rb +1 -1
  80. data/lib/tremendous/models/get_organization200_response.rb +1 -1
  81. data/lib/tremendous/models/get_product_response.rb +1 -1
  82. data/lib/tremendous/models/get_reward200_response.rb +1 -1
  83. data/lib/tremendous/models/invoice.rb +1 -1
  84. data/lib/tremendous/models/list_balance_transactions200_response.rb +16 -9
  85. data/lib/tremendous/models/{list_balance_transactions200_response_invoices_inner.rb → list_balance_transactions200_response_transactions_inner.rb} +40 -5
  86. data/lib/tremendous/models/list_campaigns200_response.rb +1 -1
  87. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner.rb +1 -1
  88. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_email_style.rb +3 -1
  89. data/lib/tremendous/models/list_campaigns200_response_campaigns_inner_webpage_style.rb +2 -1
  90. data/lib/tremendous/models/list_fields200_response.rb +1 -1
  91. data/lib/tremendous/models/list_fields200_response_fields_inner.rb +1 -1
  92. data/lib/tremendous/models/list_forex_response.rb +1 -1
  93. data/lib/tremendous/models/list_fraud_reviews200_response.rb +223 -0
  94. data/lib/tremendous/models/{delivery_details_with_link.rb → list_fraud_reviews200_response_fraud_reviews_inner.rb} +27 -52
  95. data/lib/tremendous/models/list_fraud_rules200_response.rb +223 -0
  96. data/lib/tremendous/models/{create_order200_response_order_rewards_inner_delivery.rb → list_fraud_rules200_response_fraud_rules_inner.rb} +29 -64
  97. data/lib/tremendous/models/list_funding_sources200_response.rb +1 -1
  98. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner.rb +1 -1
  99. data/lib/tremendous/models/list_funding_sources200_response_funding_sources_inner_meta.rb +1 -1
  100. data/lib/tremendous/models/list_invoices200_response.rb +1 -1
  101. data/lib/tremendous/models/list_invoices200_response_invoices_inner.rb +1 -1
  102. data/lib/tremendous/models/list_members200_response.rb +1 -1
  103. data/lib/tremendous/models/list_members200_response_members_inner.rb +1 -1
  104. data/lib/tremendous/models/list_orders200_response.rb +1 -1
  105. data/lib/tremendous/models/list_orders200_response_orders_inner.rb +32 -8
  106. data/lib/tremendous/models/list_orders200_response_orders_inner_payment.rb +1 -1
  107. data/lib/tremendous/models/list_orders200_response_orders_inner_payment_refund.rb +1 -1
  108. data/lib/tremendous/models/list_organizations200_response.rb +1 -1
  109. data/lib/tremendous/models/list_organizations200_response_organizations_inner.rb +1 -1
  110. data/lib/tremendous/models/list_products_response.rb +1 -1
  111. data/lib/tremendous/models/list_products_response_products_inner.rb +1 -1
  112. data/lib/tremendous/models/list_products_response_products_inner_countries_inner.rb +1 -1
  113. data/lib/tremendous/models/list_products_response_products_inner_images_inner.rb +1 -1
  114. data/lib/tremendous/models/list_products_response_products_inner_skus_inner.rb +1 -1
  115. data/lib/tremendous/models/list_rewards200_response.rb +1 -1
  116. data/lib/tremendous/models/list_rewards200_response_rewards_inner.rb +1 -22
  117. data/lib/tremendous/models/list_rewards200_response_rewards_inner_custom_fields_inner.rb +1 -1
  118. data/lib/tremendous/models/list_rewards200_response_rewards_inner_delivery.rb +1 -1
  119. data/lib/tremendous/models/list_rewards200_response_rewards_inner_recipient.rb +1 -1
  120. data/lib/tremendous/models/list_rewards200_response_rewards_inner_value.rb +2 -7
  121. data/lib/tremendous/models/list_rewards401_response.rb +1 -1
  122. data/lib/tremendous/models/list_rewards401_response_errors.rb +1 -1
  123. data/lib/tremendous/models/list_rewards429_response.rb +1 -1
  124. data/lib/tremendous/models/list_roles200_response.rb +1 -1
  125. data/lib/tremendous/models/list_roles200_response_roles_inner.rb +1 -1
  126. data/lib/tremendous/models/list_webhook_events200_response.rb +1 -1
  127. data/lib/tremendous/models/list_webhooks200_response.rb +1 -1
  128. data/lib/tremendous/models/list_webhooks200_response_webhooks_inner.rb +1 -1
  129. data/lib/tremendous/models/member.rb +1 -1
  130. data/lib/tremendous/models/member_base.rb +1 -1
  131. data/lib/tremendous/models/member_with_events.rb +1 -1
  132. data/lib/tremendous/models/member_without_events.rb +1 -1
  133. data/lib/tremendous/models/order.rb +32 -8
  134. data/lib/tremendous/models/order_base.rb +24 -2
  135. data/lib/tremendous/models/order_base_payment.rb +1 -1
  136. data/lib/tremendous/models/order_status.rb +1 -1
  137. data/lib/tremendous/models/order_without_link.rb +32 -8
  138. data/lib/tremendous/models/{order_without_link_reward.rb → order_without_link_rewards_inner.rb} +4 -25
  139. data/lib/tremendous/models/organization.rb +1 -1
  140. data/lib/tremendous/models/payment_details.rb +1 -1
  141. data/lib/tremendous/models/payment_details_refund.rb +1 -1
  142. data/lib/tremendous/models/product.rb +1 -1
  143. data/lib/tremendous/models/public_key.rb +2 -2
  144. data/lib/tremendous/models/public_keys_response.rb +1 -1
  145. data/lib/tremendous/models/public_keys_response_public_keys_inner.rb +2 -2
  146. data/lib/tremendous/models/recipient.rb +1 -1
  147. data/lib/tremendous/models/refund_details.rb +1 -1
  148. data/lib/tremendous/models/resend_reward422_response.rb +1 -1
  149. data/lib/tremendous/models/review_country.rb +276 -0
  150. data/lib/tremendous/models/review_country1.rb +225 -0
  151. data/lib/tremendous/models/review_email.rb +230 -0
  152. data/lib/tremendous/models/review_email1.rb +230 -0
  153. data/lib/tremendous/models/review_ip.rb +225 -0
  154. data/lib/tremendous/models/review_ip1.rb +225 -0
  155. data/lib/tremendous/models/review_redeemed_rewards_amount.rb +293 -0
  156. data/lib/tremendous/models/review_redeemed_rewards_count.rb +293 -0
  157. data/lib/tremendous/models/reward.rb +1 -22
  158. data/lib/tremendous/models/reward_base.rb +1 -22
  159. data/lib/tremendous/models/reward_base_custom_fields_inner.rb +1 -1
  160. data/lib/tremendous/models/reward_for_order_create.rb +2 -23
  161. data/lib/tremendous/models/reward_link.rb +1 -1
  162. data/lib/tremendous/models/reward_token.rb +1 -1
  163. data/lib/tremendous/models/reward_value.rb +2 -7
  164. data/lib/tremendous/models/reward_without_link.rb +1 -22
  165. data/lib/tremendous/models/reward_without_link_delivery.rb +1 -1
  166. data/lib/tremendous/models/role.rb +1 -1
  167. data/lib/tremendous/models/simulate_webhook_request.rb +1 -1
  168. data/lib/tremendous/models/{order_for_create.rb → single_reward_order.rb} +7 -13
  169. data/lib/tremendous/models/single_reward_order1.rb +242 -0
  170. data/lib/tremendous/models/{create_order_request_payment.rb → single_reward_order1_payment.rb} +4 -4
  171. data/lib/tremendous/models/{create_order_request_reward.rb → single_reward_order1_reward.rb} +6 -27
  172. data/lib/tremendous/models/{create_order_request_reward_custom_fields_inner.rb → single_reward_order1_reward_custom_fields_inner.rb} +4 -4
  173. data/lib/tremendous/models/{create_order_request_reward_delivery.rb → single_reward_order1_reward_delivery.rb} +4 -4
  174. data/lib/tremendous/models/{order_for_create_reward.rb → single_reward_order_reward.rb} +5 -26
  175. data/lib/tremendous/models/{create_order201_response.rb → single_reward_order_without_link.rb} +5 -5
  176. data/lib/tremendous/models/{order_with_link.rb → single_reward_order_without_link_order.rb} +25 -22
  177. data/lib/tremendous/models/test_public_key.rb +1 -1
  178. data/lib/tremendous/models/test_public_key_request.rb +1 -1
  179. data/lib/tremendous/models/update_campaign.rb +1 -1
  180. data/lib/tremendous/models/update_campaign_request.rb +1 -1
  181. data/lib/tremendous/models/update_fraud_rule_list200_response.rb +222 -0
  182. data/lib/tremendous/models/update_fraud_rule_list_request.rb +272 -0
  183. data/lib/tremendous/models/update_fraud_rule_list_request_config.rb +108 -0
  184. data/lib/tremendous/models/webhook.rb +1 -1
  185. data/lib/tremendous/models/webhook_post.rb +1 -1
  186. data/lib/tremendous/version.rb +1 -1
  187. data/lib/tremendous.rb +60 -18
  188. metadata +62 -20
  189. data/lib/tremendous/models/create_order200_response_order.rb +0 -400
  190. data/lib/tremendous/models/create_order200_response_order_rewards_inner.rb +0 -347
  191. data/lib/tremendous/models/order_with_link_rewards_inner.rb +0 -406
  192. data/lib/tremendous/models/reward_with_link.rb +0 -406
@@ -0,0 +1,223 @@
1
+ =begin
2
+ #API Endpoints
3
+
4
+ #Deliver monetary rewards and incentives to employees, customers, survey participants, and more through the Tremendous API. For organizational tasks, like managing your organization and it's members within Tremendous, please see the Tremendous Organizational API.
5
+
6
+ The version of the OpenAPI document: 2
7
+ Contact: developers@tremendous.com
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.8.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module Tremendous
17
+ class ListFraudRules200Response
18
+ attr_accessor :fraud_rules
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'fraud_rules' => :'fraud_rules'
24
+ }
25
+ end
26
+
27
+ # Returns all the JSON keys this model knows about
28
+ def self.acceptable_attributes
29
+ attribute_map.values
30
+ end
31
+
32
+ # Attribute type mapping.
33
+ def self.openapi_types
34
+ {
35
+ :'fraud_rules' => :'Array<ListFraudRules200ResponseFraudRulesInner>'
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 `Tremendous::ListFraudRules200Response` 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 `Tremendous::ListFraudRules200Response`. 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?(:'fraud_rules')
61
+ if (value = attributes[:'fraud_rules']).is_a?(Array)
62
+ self.fraud_rules = value
63
+ end
64
+ else
65
+ self.fraud_rules = nil
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
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
73
+ invalid_properties = Array.new
74
+ if @fraud_rules.nil?
75
+ invalid_properties.push('invalid value for "fraud_rules", fraud_rules cannot be nil.')
76
+ end
77
+
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ warn '[DEPRECATED] the `valid?` method is obsolete'
85
+ return false if @fraud_rules.nil?
86
+ true
87
+ end
88
+
89
+ # Checks equality by comparing each attribute.
90
+ # @param [Object] Object to be compared
91
+ def ==(o)
92
+ return true if self.equal?(o)
93
+ self.class == o.class &&
94
+ fraud_rules == o.fraud_rules
95
+ end
96
+
97
+ # @see the `==` method
98
+ # @param [Object] Object to be compared
99
+ def eql?(o)
100
+ self == o
101
+ end
102
+
103
+ # Calculates hash code according to all attributes.
104
+ # @return [Integer] Hash code
105
+ def hash
106
+ [fraud_rules].hash
107
+ end
108
+
109
+ # Builds the object from hash
110
+ # @param [Hash] attributes Model attributes in the form of hash
111
+ # @return [Object] Returns the model itself
112
+ def self.build_from_hash(attributes)
113
+ return nil unless attributes.is_a?(Hash)
114
+ attributes = attributes.transform_keys(&:to_sym)
115
+ transformed_hash = {}
116
+ openapi_types.each_pair do |key, type|
117
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
118
+ transformed_hash["#{key}"] = nil
119
+ elsif type =~ /\AArray<(.*)>/i
120
+ # check to ensure the input is an array given that the attribute
121
+ # is documented as an array but the input is not
122
+ if attributes[attribute_map[key]].is_a?(Array)
123
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
124
+ end
125
+ elsif !attributes[attribute_map[key]].nil?
126
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
127
+ end
128
+ end
129
+ new(transformed_hash)
130
+ end
131
+
132
+ # Deserializes the data based on type
133
+ # @param string type Data type
134
+ # @param string value Value to be deserialized
135
+ # @return [Object] Deserialized data
136
+ def self._deserialize(type, value)
137
+ case type.to_sym
138
+ when :Time
139
+ Time.parse(value)
140
+ when :Date
141
+ Date.parse(value)
142
+ when :String
143
+ value.to_s
144
+ when :Integer
145
+ value.to_i
146
+ when :Float
147
+ value.to_f
148
+ when :Boolean
149
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
150
+ true
151
+ else
152
+ false
153
+ end
154
+ when :Object
155
+ # generic object (usually a Hash), return directly
156
+ value
157
+ when /\AArray<(?<inner_type>.+)>\z/
158
+ inner_type = Regexp.last_match[:inner_type]
159
+ value.map { |v| _deserialize(inner_type, v) }
160
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
161
+ k_type = Regexp.last_match[:k_type]
162
+ v_type = Regexp.last_match[:v_type]
163
+ {}.tap do |hash|
164
+ value.each do |k, v|
165
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
166
+ end
167
+ end
168
+ else # model
169
+ # models (e.g. Pet) or oneOf
170
+ klass = Tremendous.const_get(type)
171
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
172
+ end
173
+ end
174
+
175
+ # Returns the string representation of the object
176
+ # @return [String] String presentation of the object
177
+ def to_s
178
+ to_hash.to_s
179
+ end
180
+
181
+ # to_body is an alias to to_hash (backward compatibility)
182
+ # @return [Hash] Returns the object in the form of hash
183
+ def to_body
184
+ to_hash
185
+ end
186
+
187
+ # Returns the object in the form of hash
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_hash
190
+ hash = {}
191
+ self.class.attribute_map.each_pair do |attr, param|
192
+ value = self.send(attr)
193
+ if value.nil?
194
+ is_nullable = self.class.openapi_nullable.include?(attr)
195
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
196
+ end
197
+
198
+ hash[param] = _to_hash(value)
199
+ end
200
+ hash
201
+ end
202
+
203
+ # Outputs non-array value in the form of hash
204
+ # For object, use to_hash. Otherwise, just return the value
205
+ # @param [Object] value Any valid value
206
+ # @return [Hash] Returns the value in the form of hash
207
+ def _to_hash(value)
208
+ if value.is_a?(Array)
209
+ value.compact.map { |v| _to_hash(v) }
210
+ elsif value.is_a?(Hash)
211
+ {}.tap do |hash|
212
+ value.each { |k, v| hash[k] = _to_hash(v) }
213
+ end
214
+ elsif value.respond_to? :to_hash
215
+ value.to_hash
216
+ else
217
+ value
218
+ end
219
+ end
220
+
221
+ end
222
+
223
+ end
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -14,16 +14,13 @@ require 'date'
14
14
  require 'time'
15
15
 
16
16
  module Tremendous
17
- # Details on how the reward is delivered to the recipient.
18
- class CreateOrder200ResponseOrderRewardsInnerDelivery
19
- # How to deliver the reward to the recipient. <table> <thead> <tr> <th>Delivery Method</th> <th>Description</th> </tr> </thead> <tbody> <tr> <td><code>EMAIL</code></td> <td>Deliver the reward to the recipient by email</td> </tr> <tr> <td><code>LINK</code></td> <td> <p>Deliver the reward to the recipient via a link.</p> <p>The link can be retrieved on a successfully ordered reward via the <code>/rewards</code> or <code>/rewards/{id}</code> endpoint. That link must then be delivered to the recipient out-of-band.</p> </td> </tr> <tr> <td><code>PHONE</code></td> <td>Deliver the reward to the recipient by SMS</td> </tr> </tbody> </table>
20
- attr_accessor :method
17
+ # An active fraud rule
18
+ class ListFraudRules200ResponseFraudRulesInner
19
+ # * `review_country` - Flags when the recipient's IP country matches the criteria in the rule * `review_ip` - Flags when recipient's IP matches one in the list * `review_email` - Flags when the recipient's email matches one in the list * `review_redeemed_rewards_count` - Flags when the recipient redeemed more than the number of rewards specified in the config * `review_redeemed_rewards_amount` - Flags when the recipient redeemed more than the total amount specified in the config * `review_multiple_emails` - Flags when recipient's device or account has multiple emails associated * `review_vpn` - Flags when VPN is suspected * `review_tremendous_flag_list` - Flags rewards when redemption attributes match at least one criteria defined by the Tremendous flag list * `review_previously_blocked_recipients` - Flags rewards when the recipient has been blocked before * `allow_ip` - Releases a reward when a recipient's IP matches one in the list * `allow_email` - Releases a reward when the recipient's email matches one in the list
20
+ attr_accessor :rule_type
21
21
 
22
- # Current status of the delivery of the reward: * `SCHEDULED` - Reward is scheduled for delivery and will be delivered soon. * `FAILED` - Delivery of reward failed (e.g. email bounced). * `SUCCEEDED` - Reward was successfully delivered (email or text message delivered or reward link opened). * `PENDING` - Delivery is pending but not yet scheduled.
23
- attr_accessor :status
24
-
25
- # Link to redeem the reward at. You need to deliver this link to the recipient. Only available for rewards for which the `method` for delivery is set to `LINK`.
26
- attr_accessor :link
22
+ # The configuration associated with the rule. The properties allowed depend on the type of rule. This property is only present for rules that require configuration.
23
+ attr_accessor :config
27
24
 
28
25
  class EnumAttributeValidator
29
26
  attr_reader :datatype
@@ -50,9 +47,8 @@ module Tremendous
50
47
  # Attribute mapping from ruby-style variable name to JSON key.
51
48
  def self.attribute_map
52
49
  {
53
- :'method' => :'method',
54
- :'status' => :'status',
55
- :'link' => :'link'
50
+ :'rule_type' => :'rule_type',
51
+ :'config' => :'config'
56
52
  }
57
53
  end
58
54
 
@@ -64,15 +60,15 @@ module Tremendous
64
60
  # Attribute type mapping.
65
61
  def self.openapi_types
66
62
  {
67
- :'method' => :'String',
68
- :'status' => :'String',
69
- :'link' => :'String'
63
+ :'rule_type' => :'String',
64
+ :'config' => :'Object'
70
65
  }
71
66
  end
72
67
 
73
68
  # List of attributes with nullable: true
74
69
  def self.openapi_nullable
75
70
  Set.new([
71
+ :'config'
76
72
  ])
77
73
  end
78
74
 
@@ -80,31 +76,23 @@ module Tremendous
80
76
  # @param [Hash] attributes Model attributes in the form of hash
81
77
  def initialize(attributes = {})
82
78
  if (!attributes.is_a?(Hash))
83
- fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::CreateOrder200ResponseOrderRewardsInnerDelivery` initialize method"
79
+ fail ArgumentError, "The input argument (attributes) must be a hash in `Tremendous::ListFraudRules200ResponseFraudRulesInner` initialize method"
84
80
  end
85
81
 
86
82
  # check to see if the attribute exists and convert string to symbol for hash key
87
83
  attributes = attributes.each_with_object({}) { |(k, v), h|
88
84
  if (!self.class.attribute_map.key?(k.to_sym))
89
- fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::CreateOrder200ResponseOrderRewardsInnerDelivery`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
85
+ fail ArgumentError, "`#{k}` is not a valid attribute in `Tremendous::ListFraudRules200ResponseFraudRulesInner`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
90
86
  end
91
87
  h[k.to_sym] = v
92
88
  }
93
89
 
94
- if attributes.key?(:'method')
95
- self.method = attributes[:'method']
96
- else
97
- self.method = nil
90
+ if attributes.key?(:'rule_type')
91
+ self.rule_type = attributes[:'rule_type']
98
92
  end
99
93
 
100
- if attributes.key?(:'status')
101
- self.status = attributes[:'status']
102
- else
103
- self.status = nil
104
- end
105
-
106
- if attributes.key?(:'link')
107
- self.link = attributes[:'link']
94
+ if attributes.key?(:'config')
95
+ self.config = attributes[:'config']
108
96
  end
109
97
  end
110
98
 
@@ -113,14 +101,6 @@ module Tremendous
113
101
  def list_invalid_properties
114
102
  warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
115
103
  invalid_properties = Array.new
116
- if @method.nil?
117
- invalid_properties.push('invalid value for "method", method cannot be nil.')
118
- end
119
-
120
- if @status.nil?
121
- invalid_properties.push('invalid value for "status", status cannot be nil.')
122
- end
123
-
124
104
  invalid_properties
125
105
  end
126
106
 
@@ -128,33 +108,19 @@ module Tremendous
128
108
  # @return true if the model is valid
129
109
  def valid?
130
110
  warn '[DEPRECATED] the `valid?` method is obsolete'
131
- return false if @method.nil?
132
- method_validator = EnumAttributeValidator.new('String', ["EMAIL", "LINK", "PHONE"])
133
- return false unless method_validator.valid?(@method)
134
- return false if @status.nil?
135
- status_validator = EnumAttributeValidator.new('String', ["SCHEDULED", "FAILED", "SUCCEEDED", "PENDING"])
136
- return false unless status_validator.valid?(@status)
111
+ rule_type_validator = EnumAttributeValidator.new('String', ["review_country", "review_ip", "review_email", "review_redeemed_rewards_count", "review_redeemed_rewards_amount", "review_multiple_emails", "review_vpn", "review_tremendous_flag_list", "review_previously_blocked_recipients", "allow_ip", "allow_email"])
112
+ return false unless rule_type_validator.valid?(@rule_type)
137
113
  true
138
114
  end
139
115
 
140
116
  # Custom attribute writer method checking allowed values (enum).
141
- # @param [Object] method Object to be assigned
142
- def method=(method)
143
- validator = EnumAttributeValidator.new('String', ["EMAIL", "LINK", "PHONE"])
144
- unless validator.valid?(method)
145
- fail ArgumentError, "invalid value for \"method\", must be one of #{validator.allowable_values}."
146
- end
147
- @method = method
148
- end
149
-
150
- # Custom attribute writer method checking allowed values (enum).
151
- # @param [Object] status Object to be assigned
152
- def status=(status)
153
- validator = EnumAttributeValidator.new('String', ["SCHEDULED", "FAILED", "SUCCEEDED", "PENDING"])
154
- unless validator.valid?(status)
155
- fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
117
+ # @param [Object] rule_type Object to be assigned
118
+ def rule_type=(rule_type)
119
+ validator = EnumAttributeValidator.new('String', ["review_country", "review_ip", "review_email", "review_redeemed_rewards_count", "review_redeemed_rewards_amount", "review_multiple_emails", "review_vpn", "review_tremendous_flag_list", "review_previously_blocked_recipients", "allow_ip", "allow_email"])
120
+ unless validator.valid?(rule_type)
121
+ fail ArgumentError, "invalid value for \"rule_type\", must be one of #{validator.allowable_values}."
156
122
  end
157
- @status = status
123
+ @rule_type = rule_type
158
124
  end
159
125
 
160
126
  # Checks equality by comparing each attribute.
@@ -162,9 +128,8 @@ module Tremendous
162
128
  def ==(o)
163
129
  return true if self.equal?(o)
164
130
  self.class == o.class &&
165
- method == o.method &&
166
- status == o.status &&
167
- link == o.link
131
+ rule_type == o.rule_type &&
132
+ config == o.config
168
133
  end
169
134
 
170
135
  # @see the `==` method
@@ -176,7 +141,7 @@ module Tremendous
176
141
  # Calculates hash code according to all attributes.
177
142
  # @return [Integer] Hash code
178
143
  def hash
179
- [method, status, link].hash
144
+ [rule_type, config].hash
180
145
  end
181
146
 
182
147
  # Builds the object from hash
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -31,12 +31,15 @@ module Tremendous
31
31
  # Execution status of a given order <table> <thead> <tr> <th> Status </th> <th> Description </th> </tr> </thead> <tbody> <tr> <td> <code> CANCELED </code> </td> <td> The order and all of its rewards were canceled. </td> </tr> <tr> <td> <code> CART </code> </td> <td> The order has been created, but hasn't yet been processed. </td> </tr> <tr> <td> <code> EXECUTED </code> </td> <td> The order has been executed. Payment has been handled and rewards are being delivered (if applicable). </td> </tr> <tr> <td> <code> FAILED </code> </td> <td> The order could not be processed due to an error. E.g. due to insufficient funds in the account. </td> </tr> <tr> <td> <code> PENDING APPROVAL </code> </td> <td> The order has been created but needs approval to be executed. </td> </tr> <tr> <td> <code> PENDING INTERNAL PAYMENT APPROVAL </code> </td> <td> The order has been created but it is under review and requires approval from our team. </td> </tr> </tbody> </table>
32
32
  attr_accessor :status
33
33
 
34
+ # Name of the channel in which the order was created
35
+ attr_accessor :channel
36
+
34
37
  attr_accessor :payment
35
38
 
36
39
  # The ID for the invoice associated with this order
37
40
  attr_accessor :invoice_id
38
41
 
39
- attr_accessor :reward
42
+ attr_accessor :rewards
40
43
 
41
44
  class EnumAttributeValidator
42
45
  attr_reader :datatype
@@ -68,9 +71,10 @@ module Tremendous
68
71
  :'campaign_id' => :'campaign_id',
69
72
  :'created_at' => :'created_at',
70
73
  :'status' => :'status',
74
+ :'channel' => :'channel',
71
75
  :'payment' => :'payment',
72
76
  :'invoice_id' => :'invoice_id',
73
- :'reward' => :'reward'
77
+ :'rewards' => :'rewards'
74
78
  }
75
79
  end
76
80
 
@@ -87,9 +91,10 @@ module Tremendous
87
91
  :'campaign_id' => :'String',
88
92
  :'created_at' => :'Time',
89
93
  :'status' => :'String',
94
+ :'channel' => :'String',
90
95
  :'payment' => :'ListOrders200ResponseOrdersInnerPayment',
91
96
  :'invoice_id' => :'String',
92
- :'reward' => :'ListRewards200ResponseRewardsInner'
97
+ :'rewards' => :'Array<ListRewards200ResponseRewardsInner>'
93
98
  }
94
99
  end
95
100
 
@@ -142,6 +147,10 @@ module Tremendous
142
147
  self.status = nil
143
148
  end
144
149
 
150
+ if attributes.key?(:'channel')
151
+ self.channel = attributes[:'channel']
152
+ end
153
+
145
154
  if attributes.key?(:'payment')
146
155
  self.payment = attributes[:'payment']
147
156
  end
@@ -150,8 +159,10 @@ module Tremendous
150
159
  self.invoice_id = attributes[:'invoice_id']
151
160
  end
152
161
 
153
- if attributes.key?(:'reward')
154
- self.reward = attributes[:'reward']
162
+ if attributes.key?(:'rewards')
163
+ if (value = attributes[:'rewards']).is_a?(Array)
164
+ self.rewards = value
165
+ end
155
166
  end
156
167
  end
157
168
 
@@ -196,6 +207,8 @@ module Tremendous
196
207
  return false if @status.nil?
197
208
  status_validator = EnumAttributeValidator.new('String', ["CANCELED", "CART", "EXECUTED", "FAILED", "PENDING APPROVAL", "PENDING INTERNAL PAYMENT APPROVAL"])
198
209
  return false unless status_validator.valid?(@status)
210
+ channel_validator = EnumAttributeValidator.new('String', ["UI", "API", "EMBED", "DECIPHER", "QUALTRICS", "TYPEFORM", "SURVEY MONKEY"])
211
+ return false unless channel_validator.valid?(@channel)
199
212
  true
200
213
  end
201
214
 
@@ -235,6 +248,16 @@ module Tremendous
235
248
  @status = status
236
249
  end
237
250
 
251
+ # Custom attribute writer method checking allowed values (enum).
252
+ # @param [Object] channel Object to be assigned
253
+ def channel=(channel)
254
+ validator = EnumAttributeValidator.new('String', ["UI", "API", "EMBED", "DECIPHER", "QUALTRICS", "TYPEFORM", "SURVEY MONKEY"])
255
+ unless validator.valid?(channel)
256
+ fail ArgumentError, "invalid value for \"channel\", must be one of #{validator.allowable_values}."
257
+ end
258
+ @channel = channel
259
+ end
260
+
238
261
  # Checks equality by comparing each attribute.
239
262
  # @param [Object] Object to be compared
240
263
  def ==(o)
@@ -245,9 +268,10 @@ module Tremendous
245
268
  campaign_id == o.campaign_id &&
246
269
  created_at == o.created_at &&
247
270
  status == o.status &&
271
+ channel == o.channel &&
248
272
  payment == o.payment &&
249
273
  invoice_id == o.invoice_id &&
250
- reward == o.reward
274
+ rewards == o.rewards
251
275
  end
252
276
 
253
277
  # @see the `==` method
@@ -259,7 +283,7 @@ module Tremendous
259
283
  # Calculates hash code according to all attributes.
260
284
  # @return [Integer] Hash code
261
285
  def hash
262
- [id, external_id, campaign_id, created_at, status, payment, invoice_id, reward].hash
286
+ [id, external_id, campaign_id, created_at, status, channel, payment, invoice_id, rewards].hash
263
287
  end
264
288
 
265
289
  # Builds the object from hash
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12
 
@@ -6,7 +6,7 @@
6
6
  The version of the OpenAPI document: 2
7
7
  Contact: developers@tremendous.com
8
8
  Generated by: https://openapi-generator.tech
9
- OpenAPI Generator version: 7.3.0
9
+ Generator version: 7.8.0
10
10
 
11
11
  =end
12
12