talon_one 9.0.0 → 10.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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +39 -3
  3. data/docs/Account.md +1 -1
  4. data/docs/AccountAdditionalCost.md +1 -1
  5. data/docs/Achievement.md +2 -2
  6. data/docs/AchievementBase.md +1 -1
  7. data/docs/AchievementProgressWithDefinition.md +1 -1
  8. data/docs/AchievementStatusEntry.md +2 -2
  9. data/docs/AddPriceAdjustmentCatalogAction.md +19 -0
  10. data/docs/AddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  11. data/docs/Application.md +1 -1
  12. data/docs/ApplicationCIF.md +1 -1
  13. data/docs/ApplicationCIFExpression.md +1 -1
  14. data/docs/ApplicationCustomer.md +2 -2
  15. data/docs/ApplicationEvent.md +1 -1
  16. data/docs/ApplicationSession.md +1 -1
  17. data/docs/Attribute.md +1 -1
  18. data/docs/Audience.md +1 -1
  19. data/docs/AudienceCustomer.md +2 -2
  20. data/docs/BaseNotificationWebhook.md +1 -1
  21. data/docs/Binding.md +9 -1
  22. data/docs/CampaignCollection.md +1 -1
  23. data/docs/CampaignCollectionWithoutPayload.md +1 -1
  24. data/docs/CampaignDeactivationRequest.md +17 -0
  25. data/docs/CampaignGroup.md +1 -1
  26. data/docs/CampaignSet.md +1 -1
  27. data/docs/CampaignStoreBudget.md +1 -1
  28. data/docs/CampaignTemplate.md +1 -1
  29. data/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  30. data/docs/CartItem.md +12 -2
  31. data/docs/Catalog.md +1 -1
  32. data/docs/CatalogItem.md +1 -1
  33. data/docs/Change.md +1 -1
  34. data/docs/Collection.md +1 -1
  35. data/docs/CollectionWithoutPayload.md +1 -1
  36. data/docs/Coupon.md +2 -2
  37. data/docs/CouponCreationJob.md +1 -1
  38. data/docs/CouponDeletionJob.md +1 -1
  39. data/docs/CouponEntity.md +19 -0
  40. data/docs/CreateAchievement.md +1 -1
  41. data/docs/CustomEffect.md +1 -1
  42. data/docs/CustomerProfile.md +2 -2
  43. data/docs/CustomerProfileEntity.md +19 -0
  44. data/docs/CustomerSessionV2.md +1 -1
  45. data/docs/Effect.md +6 -0
  46. data/docs/EffectEntity.md +7 -1
  47. data/docs/Entity.md +1 -1
  48. data/docs/Environment.md +4 -2
  49. data/docs/Event.md +1 -1
  50. data/docs/EventType.md +1 -1
  51. data/docs/Export.md +1 -1
  52. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +25 -0
  53. data/docs/Giveaway.md +1 -1
  54. data/docs/GiveawaysPool.md +1 -1
  55. data/docs/Import.md +1 -1
  56. data/docs/InlineResponse20048.md +2 -4
  57. data/docs/InlineResponse20049.md +2 -4
  58. data/docs/InlineResponse20050.md +19 -0
  59. data/docs/InlineResponse20051.md +19 -0
  60. data/docs/IntegrationApi.md +3 -3
  61. data/docs/IntegrationCoupon.md +2 -2
  62. data/docs/IntegrationCustomerProfileAudienceRequest.md +17 -0
  63. data/docs/IntegrationCustomerProfileAudienceRequestItem.md +21 -0
  64. data/docs/IntegrationEventV2Request.md +2 -0
  65. data/docs/InventoryCoupon.md +2 -2
  66. data/docs/InventoryReferral.md +1 -1
  67. data/docs/LedgerEntry.md +1 -1
  68. data/docs/LedgerInfo.md +2 -2
  69. data/docs/LoyaltyCard.md +1 -1
  70. data/docs/LoyaltyProgramBalance.md +2 -2
  71. data/docs/LoyaltyTier.md +1 -1
  72. data/docs/ManagementApi.md +792 -29
  73. data/docs/ModelReturn.md +1 -1
  74. data/docs/MultipleAudiencesItem.md +1 -1
  75. data/docs/NewPriceAdjustment.md +27 -0
  76. data/docs/NewPriceType.md +23 -0
  77. data/docs/NewWebhook.md +2 -0
  78. data/docs/Picklist.md +1 -1
  79. data/docs/PriceDetail.md +23 -0
  80. data/docs/PriceType.md +33 -0
  81. data/docs/Referral.md +1 -1
  82. data/docs/RevisionActivationRequest.md +19 -0
  83. data/docs/Role.md +1 -1
  84. data/docs/RoleV2.md +1 -1
  85. data/docs/Ruleset.md +1 -1
  86. data/docs/SamlConnection.md +1 -1
  87. data/docs/ScimBaseGroup.md +19 -0
  88. data/docs/ScimGroup.md +21 -0
  89. data/docs/ScimGroupMember.md +19 -0
  90. data/docs/ScimGroupsListResponse.md +21 -0
  91. data/docs/Store.md +1 -1
  92. data/docs/TemplateDef.md +1 -1
  93. data/docs/UpdateAchievement.md +1 -1
  94. data/docs/User.md +1 -1
  95. data/docs/Webhook.md +3 -1
  96. data/docs/WebhookAuthentication.md +33 -0
  97. data/docs/WebhookAuthenticationBase.md +21 -0
  98. data/docs/WebhookAuthenticationDataBasic.md +19 -0
  99. data/docs/WebhookAuthenticationDataCustom.md +17 -0
  100. data/docs/WebhookAuthenticationWebhookRef.md +21 -0
  101. data/docs/WebhookWithOutgoingIntegrationDetails.md +3 -1
  102. data/lib/talon_one/api/integration_api.rb +6 -6
  103. data/lib/talon_one/api/management_api.rb +879 -11
  104. data/lib/talon_one/models/account.rb +1 -1
  105. data/lib/talon_one/models/account_additional_cost.rb +1 -1
  106. data/lib/talon_one/models/achievement.rb +4 -4
  107. data/lib/talon_one/models/achievement_base.rb +3 -3
  108. data/lib/talon_one/models/achievement_progress_with_definition.rb +3 -3
  109. data/lib/talon_one/models/achievement_status_entry.rb +4 -4
  110. data/lib/talon_one/models/add_price_adjustment_catalog_action.rb +230 -0
  111. data/lib/talon_one/models/added_deducted_points_balances_notification_policy.rb +269 -0
  112. data/lib/talon_one/models/application.rb +1 -1
  113. data/lib/talon_one/models/application_cif.rb +1 -1
  114. data/lib/talon_one/models/application_cif_expression.rb +1 -1
  115. data/lib/talon_one/models/application_customer.rb +2 -2
  116. data/lib/talon_one/models/application_event.rb +1 -1
  117. data/lib/talon_one/models/application_session.rb +1 -1
  118. data/lib/talon_one/models/attribute.rb +1 -1
  119. data/lib/talon_one/models/audience.rb +1 -1
  120. data/lib/talon_one/models/audience_customer.rb +2 -2
  121. data/lib/talon_one/models/base_notification.rb +2 -2
  122. data/lib/talon_one/models/base_notification_webhook.rb +1 -1
  123. data/lib/talon_one/models/binding.rb +44 -4
  124. data/lib/talon_one/models/campaign_collection.rb +1 -1
  125. data/lib/talon_one/models/campaign_collection_without_payload.rb +1 -1
  126. data/lib/talon_one/models/campaign_deactivation_request.rb +214 -0
  127. data/lib/talon_one/models/campaign_group.rb +1 -1
  128. data/lib/talon_one/models/campaign_set.rb +1 -1
  129. data/lib/talon_one/models/campaign_store_budget.rb +1 -1
  130. data/lib/talon_one/models/campaign_template.rb +1 -1
  131. data/lib/talon_one/models/card_added_deducted_points_balances_notification_policy.rb +269 -0
  132. data/lib/talon_one/models/cart_item.rb +57 -5
  133. data/lib/talon_one/models/catalog.rb +1 -1
  134. data/lib/talon_one/models/catalog_action.rb +2 -2
  135. data/lib/talon_one/models/catalog_item.rb +1 -1
  136. data/lib/talon_one/models/change.rb +1 -1
  137. data/lib/talon_one/models/collection.rb +1 -1
  138. data/lib/talon_one/models/collection_without_payload.rb +1 -1
  139. data/lib/talon_one/models/coupon.rb +7 -7
  140. data/lib/talon_one/models/coupon_constraints.rb +5 -5
  141. data/lib/talon_one/models/coupon_creation_job.rb +6 -6
  142. data/lib/talon_one/models/coupon_deletion_job.rb +1 -1
  143. data/lib/talon_one/models/coupon_entity.rb +227 -0
  144. data/lib/talon_one/models/create_achievement.rb +3 -3
  145. data/lib/talon_one/models/custom_effect.rb +1 -1
  146. data/lib/talon_one/models/customer_profile.rb +2 -2
  147. data/lib/talon_one/models/customer_profile_entity.rb +227 -0
  148. data/lib/talon_one/models/customer_session_v2.rb +1 -1
  149. data/lib/talon_one/models/effect.rb +31 -1
  150. data/lib/talon_one/models/effect_entity.rb +34 -4
  151. data/lib/talon_one/models/entity.rb +1 -1
  152. data/lib/talon_one/models/environment.rb +17 -5
  153. data/lib/talon_one/models/event.rb +1 -1
  154. data/lib/talon_one/models/event_type.rb +1 -1
  155. data/lib/talon_one/models/export.rb +1 -1
  156. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +270 -0
  157. data/lib/talon_one/models/giveaway.rb +1 -1
  158. data/lib/talon_one/models/giveaways_pool.rb +1 -1
  159. data/lib/talon_one/models/import.rb +1 -1
  160. data/lib/talon_one/models/inline_response20048.rb +2 -16
  161. data/lib/talon_one/models/inline_response20049.rb +2 -21
  162. data/lib/talon_one/models/inline_response20050.rb +222 -0
  163. data/lib/talon_one/models/inline_response20051.rb +227 -0
  164. data/lib/talon_one/models/integration_coupon.rb +7 -7
  165. data/lib/talon_one/models/integration_customer_profile_audience_request.rb +208 -0
  166. data/lib/talon_one/models/integration_customer_profile_audience_request_item.rb +295 -0
  167. data/lib/talon_one/models/integration_event_v2_request.rb +13 -1
  168. data/lib/talon_one/models/inventory_coupon.rb +7 -7
  169. data/lib/talon_one/models/inventory_referral.rb +1 -1
  170. data/lib/talon_one/models/ledger_entry.rb +1 -1
  171. data/lib/talon_one/models/ledger_info.rb +0 -10
  172. data/lib/talon_one/models/loyalty_card.rb +1 -1
  173. data/lib/talon_one/models/loyalty_program_balance.rb +0 -10
  174. data/lib/talon_one/models/loyalty_tier.rb +1 -1
  175. data/lib/talon_one/models/model_return.rb +1 -1
  176. data/lib/talon_one/models/multiple_audiences_item.rb +1 -1
  177. data/lib/talon_one/models/new_coupon_creation_job.rb +5 -5
  178. data/lib/talon_one/models/new_coupons.rb +5 -5
  179. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +5 -5
  180. data/lib/talon_one/models/new_message_test.rb +2 -2
  181. data/lib/talon_one/models/new_price_adjustment.rb +268 -0
  182. data/lib/talon_one/models/new_price_type.rb +270 -0
  183. data/lib/talon_one/models/new_webhook.rb +16 -1
  184. data/lib/talon_one/models/picklist.rb +1 -1
  185. data/lib/talon_one/models/price_detail.rb +237 -0
  186. data/lib/talon_one/models/price_type.rb +347 -0
  187. data/lib/talon_one/models/referral.rb +1 -1
  188. data/lib/talon_one/models/revision_activation_request.rb +224 -0
  189. data/lib/talon_one/models/role.rb +1 -1
  190. data/lib/talon_one/models/role_v2.rb +1 -1
  191. data/lib/talon_one/models/ruleset.rb +1 -1
  192. data/lib/talon_one/models/saml_connection.rb +1 -1
  193. data/lib/talon_one/models/scim_base_group.rb +220 -0
  194. data/lib/talon_one/models/scim_group.rb +235 -0
  195. data/lib/talon_one/models/scim_group_member.rb +218 -0
  196. data/lib/talon_one/models/scim_groups_list_response.rb +236 -0
  197. data/lib/talon_one/models/store.rb +1 -1
  198. data/lib/talon_one/models/template_def.rb +1 -1
  199. data/lib/talon_one/models/update_achievement.rb +3 -3
  200. data/lib/talon_one/models/update_coupon.rb +5 -5
  201. data/lib/talon_one/models/update_coupon_batch.rb +5 -5
  202. data/lib/talon_one/models/user.rb +1 -1
  203. data/lib/talon_one/models/webhook.rb +17 -2
  204. data/lib/talon_one/models/webhook_authentication.rb +365 -0
  205. data/lib/talon_one/models/webhook_authentication_base.rb +274 -0
  206. data/lib/talon_one/models/webhook_authentication_data_basic.rb +227 -0
  207. data/lib/talon_one/models/webhook_authentication_data_custom.rb +213 -0
  208. data/lib/talon_one/models/webhook_authentication_webhook_ref.rb +258 -0
  209. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +17 -2
  210. data/lib/talon_one/version.rb +1 -1
  211. data/lib/talon_one.rb +24 -0
  212. data/spec/api/integration_api_spec.rb +3 -3
  213. data/spec/api/management_api_spec.rb +167 -3
  214. data/spec/models/achievement_base_spec.rb +1 -1
  215. data/spec/models/achievement_progress_with_definition_spec.rb +1 -1
  216. data/spec/models/achievement_spec.rb +1 -1
  217. data/spec/models/achievement_status_entry_spec.rb +1 -1
  218. data/spec/models/add_price_adjustment_catalog_action_spec.rb +47 -0
  219. data/spec/models/added_deducted_points_balances_notification_policy_spec.rb +51 -0
  220. data/spec/models/base_notification_spec.rb +1 -1
  221. data/spec/models/binding_spec.rb +24 -0
  222. data/spec/models/campaign_deactivation_request_spec.rb +41 -0
  223. data/spec/models/card_added_deducted_points_balances_notification_policy_spec.rb +51 -0
  224. data/spec/models/cart_item_spec.rb +30 -0
  225. data/spec/models/catalog_action_spec.rb +1 -1
  226. data/spec/models/coupon_entity_spec.rb +47 -0
  227. data/spec/models/create_achievement_spec.rb +1 -1
  228. data/spec/models/customer_profile_entity_spec.rb +47 -0
  229. data/spec/models/effect_entity_spec.rb +18 -0
  230. data/spec/models/effect_spec.rb +18 -0
  231. data/spec/models/environment_spec.rb +6 -0
  232. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +65 -0
  233. data/spec/models/inline_response20048_spec.rb +0 -6
  234. data/spec/models/inline_response20049_spec.rb +0 -6
  235. data/spec/models/inline_response20050_spec.rb +47 -0
  236. data/spec/models/inline_response20051_spec.rb +47 -0
  237. data/spec/models/integration_customer_profile_audience_request_item_spec.rb +57 -0
  238. data/spec/models/integration_customer_profile_audience_request_spec.rb +41 -0
  239. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  240. data/spec/models/new_message_test_spec.rb +1 -1
  241. data/spec/models/new_price_adjustment_spec.rb +71 -0
  242. data/spec/models/new_price_type_spec.rb +59 -0
  243. data/spec/models/new_webhook_spec.rb +6 -0
  244. data/spec/models/price_detail_spec.rb +59 -0
  245. data/spec/models/price_type_spec.rb +89 -0
  246. data/spec/models/scim_base_group_spec.rb +47 -0
  247. data/spec/models/scim_group_member_spec.rb +47 -0
  248. data/spec/models/scim_group_spec.rb +53 -0
  249. data/spec/models/scim_groups_list_response_spec.rb +53 -0
  250. data/spec/models/update_achievement_spec.rb +1 -1
  251. data/spec/models/webhook_authentication_base_spec.rb +57 -0
  252. data/spec/models/webhook_authentication_data_basic_spec.rb +47 -0
  253. data/spec/models/webhook_authentication_data_custom_spec.rb +41 -0
  254. data/spec/models/webhook_authentication_spec.rb +93 -0
  255. data/spec/models/webhook_authentication_webhook_ref_spec.rb +53 -0
  256. data/spec/models/webhook_spec.rb +6 -0
  257. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  258. metadata +100 -2
@@ -31,7 +31,7 @@ module TalonOne
31
31
 
32
32
  attr_accessor :period_end_override
33
33
 
34
- # The policy that determines if and how the achievement recurs. - `no_recurrence`: The achievement can be completed only once. - `on_expiration`: The achievement resets after it expires and becomes available again.
34
+ # The policy that determines if and how the achievement recurs. - `no_recurrence`: The achievement can be completed only once. - `on_expiration`: The achievement resets after it expires and becomes available again. - `on_completion`: When the customer progress status reaches `completed`, the achievement resets and becomes available again.
35
35
  attr_accessor :recurrence_policy
36
36
 
37
37
  # The policy that determines how the achievement starts, ends, or resets. - `user_action`: The achievement ends or resets relative to when the customer started the achievement. - `fixed_schedule`: The achievement starts, ends, or resets for all customers following a fixed schedule.
@@ -185,7 +185,7 @@ module TalonOne
185
185
  return false if !@name.nil? && @name.to_s.length > 1000
186
186
  return false if !@name.nil? && @name.to_s.length < 1
187
187
  return false if !@name.nil? && @name !~ Regexp.new(/^[a-zA-Z]\w+$/)
188
- recurrence_policy_validator = EnumAttributeValidator.new('String', ["no_recurrence", "on_expiration"])
188
+ recurrence_policy_validator = EnumAttributeValidator.new('String', ["no_recurrence", "on_expiration", "on_completion"])
189
189
  return false unless recurrence_policy_validator.valid?(@recurrence_policy)
190
190
  activation_policy_validator = EnumAttributeValidator.new('String', ["user_action", "fixed_schedule"])
191
191
  return false unless activation_policy_validator.valid?(@activation_policy)
@@ -214,7 +214,7 @@ module TalonOne
214
214
  # Custom attribute writer method checking allowed values (enum).
215
215
  # @param [Object] recurrence_policy Object to be assigned
216
216
  def recurrence_policy=(recurrence_policy)
217
- validator = EnumAttributeValidator.new('String', ["no_recurrence", "on_expiration"])
217
+ validator = EnumAttributeValidator.new('String', ["no_recurrence", "on_expiration", "on_completion"])
218
218
  unless validator.valid?(recurrence_policy)
219
219
  fail ArgumentError, "invalid value for \"recurrence_policy\", must be one of #{validator.allowable_values}."
220
220
  end
@@ -154,8 +154,8 @@ module TalonOne
154
154
  invalid_properties.push('invalid value for "usage_limit", must be greater than or equal to 0.')
155
155
  end
156
156
 
157
- if !@discount_limit.nil? && @discount_limit > 999999
158
- invalid_properties.push('invalid value for "discount_limit", must be smaller than or equal to 999999.')
157
+ if !@discount_limit.nil? && @discount_limit > 1E+15
158
+ invalid_properties.push('invalid value for "discount_limit", must be smaller than or equal to 1E+15.')
159
159
  end
160
160
 
161
161
  if !@discount_limit.nil? && @discount_limit < 0
@@ -182,7 +182,7 @@ module TalonOne
182
182
  def valid?
183
183
  return false if !@usage_limit.nil? && @usage_limit > 999999
184
184
  return false if !@usage_limit.nil? && @usage_limit < 0
185
- return false if !@discount_limit.nil? && @discount_limit > 999999
185
+ return false if !@discount_limit.nil? && @discount_limit > 1E+15
186
186
  return false if !@discount_limit.nil? && @discount_limit < 0
187
187
  return false if !@reservation_limit.nil? && @reservation_limit > 999999
188
188
  return false if !@reservation_limit.nil? && @reservation_limit < 0
@@ -207,8 +207,8 @@ module TalonOne
207
207
  # Custom attribute writer method with validation
208
208
  # @param [Object] discount_limit Value to be assigned
209
209
  def discount_limit=(discount_limit)
210
- if !discount_limit.nil? && discount_limit > 999999
211
- fail ArgumentError, 'invalid value for "discount_limit", must be smaller than or equal to 999999.'
210
+ if !discount_limit.nil? && discount_limit > 1E+15
211
+ fail ArgumentError, 'invalid value for "discount_limit", must be smaller than or equal to 1E+15.'
212
212
  end
213
213
 
214
214
  if !discount_limit.nil? && discount_limit < 0
@@ -123,8 +123,8 @@ module TalonOne
123
123
  invalid_properties.push('invalid value for "usage_limit", must be greater than or equal to 0.')
124
124
  end
125
125
 
126
- if !@discount_limit.nil? && @discount_limit > 999999
127
- invalid_properties.push('invalid value for "discount_limit", must be smaller than or equal to 999999.')
126
+ if !@discount_limit.nil? && @discount_limit > 1E+15
127
+ invalid_properties.push('invalid value for "discount_limit", must be smaller than or equal to 1E+15.')
128
128
  end
129
129
 
130
130
  if !@discount_limit.nil? && @discount_limit < 0
@@ -147,7 +147,7 @@ module TalonOne
147
147
  def valid?
148
148
  return false if !@usage_limit.nil? && @usage_limit > 999999
149
149
  return false if !@usage_limit.nil? && @usage_limit < 0
150
- return false if !@discount_limit.nil? && @discount_limit > 999999
150
+ return false if !@discount_limit.nil? && @discount_limit > 1E+15
151
151
  return false if !@discount_limit.nil? && @discount_limit < 0
152
152
  return false if !@reservation_limit.nil? && @reservation_limit > 999999
153
153
  return false if !@reservation_limit.nil? && @reservation_limit < 0
@@ -171,8 +171,8 @@ module TalonOne
171
171
  # Custom attribute writer method with validation
172
172
  # @param [Object] discount_limit Value to be assigned
173
173
  def discount_limit=(discount_limit)
174
- if !discount_limit.nil? && discount_limit > 999999
175
- fail ArgumentError, 'invalid value for "discount_limit", must be smaller than or equal to 999999.'
174
+ if !discount_limit.nil? && discount_limit > 1E+15
175
+ fail ArgumentError, 'invalid value for "discount_limit", must be smaller than or equal to 1E+15.'
176
176
  end
177
177
 
178
178
  if !discount_limit.nil? && discount_limit < 0
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class User
17
- # Internal ID of this entity.
17
+ # The internal ID of this entity.
18
18
  attr_accessor :id
19
19
 
20
20
  # The time this entity was created.
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class Webhook
17
- # Internal ID of this entity.
17
+ # The internal ID of this entity.
18
18
  attr_accessor :id
19
19
 
20
20
  # The time this entity was created.
@@ -32,6 +32,9 @@ module TalonOne
32
32
  # A description of the webhook.
33
33
  attr_accessor :description
34
34
 
35
+ # Indicates if the webhook is a draft.
36
+ attr_accessor :draft
37
+
35
38
  # API method for this webhook.
36
39
  attr_accessor :verb
37
40
 
@@ -81,6 +84,7 @@ module TalonOne
81
84
  :'application_ids' => :'applicationIds',
82
85
  :'title' => :'title',
83
86
  :'description' => :'description',
87
+ :'draft' => :'draft',
84
88
  :'verb' => :'verb',
85
89
  :'url' => :'url',
86
90
  :'headers' => :'headers',
@@ -99,6 +103,7 @@ module TalonOne
99
103
  :'application_ids' => :'Array<Integer>',
100
104
  :'title' => :'String',
101
105
  :'description' => :'String',
106
+ :'draft' => :'Boolean',
102
107
  :'verb' => :'String',
103
108
  :'url' => :'String',
104
109
  :'headers' => :'Array<String>',
@@ -155,6 +160,10 @@ module TalonOne
155
160
  self.description = attributes[:'description']
156
161
  end
157
162
 
163
+ if attributes.key?(:'draft')
164
+ self.draft = attributes[:'draft']
165
+ end
166
+
158
167
  if attributes.key?(:'verb')
159
168
  self.verb = attributes[:'verb']
160
169
  end
@@ -213,6 +222,10 @@ module TalonOne
213
222
  invalid_properties.push("invalid value for \"title\", must conform to the pattern #{pattern}.")
214
223
  end
215
224
 
225
+ if @draft.nil?
226
+ invalid_properties.push('invalid value for "draft", draft cannot be nil.')
227
+ end
228
+
216
229
  if @verb.nil?
217
230
  invalid_properties.push('invalid value for "verb", verb cannot be nil.')
218
231
  end
@@ -245,6 +258,7 @@ module TalonOne
245
258
  return false if @application_ids.nil?
246
259
  return false if @title.nil?
247
260
  return false if @title !~ Regexp.new(/^[A-Za-z][A-Za-z0-9_.!~*'() -]*$/)
261
+ return false if @draft.nil?
248
262
  return false if @verb.nil?
249
263
  verb_validator = EnumAttributeValidator.new('String', ["POST", "PUT", "GET", "DELETE", "PATCH"])
250
264
  return false unless verb_validator.valid?(@verb)
@@ -291,6 +305,7 @@ module TalonOne
291
305
  application_ids == o.application_ids &&
292
306
  title == o.title &&
293
307
  description == o.description &&
308
+ draft == o.draft &&
294
309
  verb == o.verb &&
295
310
  url == o.url &&
296
311
  headers == o.headers &&
@@ -308,7 +323,7 @@ module TalonOne
308
323
  # Calculates hash code according to all attributes.
309
324
  # @return [Integer] Hash code
310
325
  def hash
311
- [id, created, modified, application_ids, title, description, verb, url, headers, payload, params, enabled].hash
326
+ [id, created, modified, application_ids, title, description, draft, verb, url, headers, payload, params, enabled].hash
312
327
  end
313
328
 
314
329
  # Builds the object from hash
@@ -0,0 +1,365 @@
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 WebhookAuthentication
17
+ # The name of the user who created the webhook authentication.
18
+ attr_accessor :created_by
19
+
20
+ # The name of the user who last modified the webhook authentication.
21
+ attr_accessor :modified_by
22
+
23
+ attr_accessor :webhooks
24
+
25
+ # The name of the webhook authentication.
26
+ attr_accessor :name
27
+
28
+ attr_accessor :type
29
+
30
+ attr_accessor :data
31
+
32
+ # The internal ID of this entity.
33
+ attr_accessor :id
34
+
35
+ # The time this entity was created.
36
+ attr_accessor :created
37
+
38
+ # The time this entity was last modified.
39
+ attr_accessor :modified
40
+
41
+ class EnumAttributeValidator
42
+ attr_reader :datatype
43
+ attr_reader :allowable_values
44
+
45
+ def initialize(datatype, allowable_values)
46
+ @allowable_values = allowable_values.map do |value|
47
+ case datatype.to_s
48
+ when /Integer/i
49
+ value.to_i
50
+ when /Float/i
51
+ value.to_f
52
+ else
53
+ value
54
+ end
55
+ end
56
+ end
57
+
58
+ def valid?(value)
59
+ !value || allowable_values.include?(value)
60
+ end
61
+ end
62
+
63
+ # Attribute mapping from ruby-style variable name to JSON key.
64
+ def self.attribute_map
65
+ {
66
+ :'created_by' => :'createdBy',
67
+ :'modified_by' => :'modifiedBy',
68
+ :'webhooks' => :'webhooks',
69
+ :'name' => :'name',
70
+ :'type' => :'type',
71
+ :'data' => :'data',
72
+ :'id' => :'id',
73
+ :'created' => :'created',
74
+ :'modified' => :'modified'
75
+ }
76
+ end
77
+
78
+ # Attribute type mapping.
79
+ def self.openapi_types
80
+ {
81
+ :'created_by' => :'String',
82
+ :'modified_by' => :'String',
83
+ :'webhooks' => :'Array<WebhookAuthenticationWebhookRef>',
84
+ :'name' => :'String',
85
+ :'type' => :'String',
86
+ :'data' => :'Object',
87
+ :'id' => :'Integer',
88
+ :'created' => :'DateTime',
89
+ :'modified' => :'DateTime'
90
+ }
91
+ end
92
+
93
+ # List of attributes with nullable: true
94
+ def self.openapi_nullable
95
+ Set.new([
96
+ ])
97
+ end
98
+
99
+ # Initializes the object
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ def initialize(attributes = {})
102
+ if (!attributes.is_a?(Hash))
103
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::WebhookAuthentication` initialize method"
104
+ end
105
+
106
+ # check to see if the attribute exists and convert string to symbol for hash key
107
+ attributes = attributes.each_with_object({}) { |(k, v), h|
108
+ if (!self.class.attribute_map.key?(k.to_sym))
109
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::WebhookAuthentication`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
110
+ end
111
+ h[k.to_sym] = v
112
+ }
113
+
114
+ if attributes.key?(:'created_by')
115
+ self.created_by = attributes[:'created_by']
116
+ end
117
+
118
+ if attributes.key?(:'modified_by')
119
+ self.modified_by = attributes[:'modified_by']
120
+ end
121
+
122
+ if attributes.key?(:'webhooks')
123
+ if (value = attributes[:'webhooks']).is_a?(Array)
124
+ self.webhooks = value
125
+ end
126
+ end
127
+
128
+ if attributes.key?(:'name')
129
+ self.name = attributes[:'name']
130
+ end
131
+
132
+ if attributes.key?(:'type')
133
+ self.type = attributes[:'type']
134
+ end
135
+
136
+ if attributes.key?(:'data')
137
+ self.data = attributes[:'data']
138
+ end
139
+
140
+ if attributes.key?(:'id')
141
+ self.id = attributes[:'id']
142
+ end
143
+
144
+ if attributes.key?(:'created')
145
+ self.created = attributes[:'created']
146
+ end
147
+
148
+ if attributes.key?(:'modified')
149
+ self.modified = attributes[:'modified']
150
+ end
151
+ end
152
+
153
+ # Show invalid properties with the reasons. Usually used together with valid?
154
+ # @return Array for valid properties with the reasons
155
+ def list_invalid_properties
156
+ invalid_properties = Array.new
157
+ if @created_by.nil?
158
+ invalid_properties.push('invalid value for "created_by", created_by cannot be nil.')
159
+ end
160
+
161
+ if @modified_by.nil?
162
+ invalid_properties.push('invalid value for "modified_by", modified_by cannot be nil.')
163
+ end
164
+
165
+ if @webhooks.nil?
166
+ invalid_properties.push('invalid value for "webhooks", webhooks cannot be nil.')
167
+ end
168
+
169
+ if @name.nil?
170
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
171
+ end
172
+
173
+ if @type.nil?
174
+ invalid_properties.push('invalid value for "type", type cannot be nil.')
175
+ end
176
+
177
+ if @data.nil?
178
+ invalid_properties.push('invalid value for "data", data cannot be nil.')
179
+ end
180
+
181
+ if @id.nil?
182
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
183
+ end
184
+
185
+ if @created.nil?
186
+ invalid_properties.push('invalid value for "created", created cannot be nil.')
187
+ end
188
+
189
+ if @modified.nil?
190
+ invalid_properties.push('invalid value for "modified", modified cannot be nil.')
191
+ end
192
+
193
+ invalid_properties
194
+ end
195
+
196
+ # Check to see if the all the properties in the model are valid
197
+ # @return true if the model is valid
198
+ def valid?
199
+ return false if @created_by.nil?
200
+ return false if @modified_by.nil?
201
+ return false if @webhooks.nil?
202
+ return false if @name.nil?
203
+ return false if @type.nil?
204
+ type_validator = EnumAttributeValidator.new('String', ["basic", "custom"])
205
+ return false unless type_validator.valid?(@type)
206
+ return false if @data.nil?
207
+ return false if @id.nil?
208
+ return false if @created.nil?
209
+ return false if @modified.nil?
210
+ true
211
+ end
212
+
213
+ # Custom attribute writer method checking allowed values (enum).
214
+ # @param [Object] type Object to be assigned
215
+ def type=(type)
216
+ validator = EnumAttributeValidator.new('String', ["basic", "custom"])
217
+ unless validator.valid?(type)
218
+ fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
219
+ end
220
+ @type = type
221
+ end
222
+
223
+ # Checks equality by comparing each attribute.
224
+ # @param [Object] Object to be compared
225
+ def ==(o)
226
+ return true if self.equal?(o)
227
+ self.class == o.class &&
228
+ created_by == o.created_by &&
229
+ modified_by == o.modified_by &&
230
+ webhooks == o.webhooks &&
231
+ name == o.name &&
232
+ type == o.type &&
233
+ data == o.data &&
234
+ id == o.id &&
235
+ created == o.created &&
236
+ modified == o.modified
237
+ end
238
+
239
+ # @see the `==` method
240
+ # @param [Object] Object to be compared
241
+ def eql?(o)
242
+ self == o
243
+ end
244
+
245
+ # Calculates hash code according to all attributes.
246
+ # @return [Integer] Hash code
247
+ def hash
248
+ [created_by, modified_by, webhooks, name, type, data, id, created, modified].hash
249
+ end
250
+
251
+ # Builds the object from hash
252
+ # @param [Hash] attributes Model attributes in the form of hash
253
+ # @return [Object] Returns the model itself
254
+ def self.build_from_hash(attributes)
255
+ new.build_from_hash(attributes)
256
+ end
257
+
258
+ # Builds the object from hash
259
+ # @param [Hash] attributes Model attributes in the form of hash
260
+ # @return [Object] Returns the model itself
261
+ def build_from_hash(attributes)
262
+ return nil unless attributes.is_a?(Hash)
263
+ self.class.openapi_types.each_pair do |key, type|
264
+ if type =~ /\AArray<(.*)>/i
265
+ # check to ensure the input is an array given that the attribute
266
+ # is documented as an array but the input is not
267
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
268
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
269
+ end
270
+ elsif !attributes[self.class.attribute_map[key]].nil?
271
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
272
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
273
+ end
274
+
275
+ self
276
+ end
277
+
278
+ # Deserializes the data based on type
279
+ # @param string type Data type
280
+ # @param string value Value to be deserialized
281
+ # @return [Object] Deserialized data
282
+ def _deserialize(type, value)
283
+ case type.to_sym
284
+ when :DateTime
285
+ DateTime.parse(value)
286
+ when :Date
287
+ Date.parse(value)
288
+ when :String
289
+ value.to_s
290
+ when :Integer
291
+ value.to_i
292
+ when :Float
293
+ value.to_f
294
+ when :Boolean
295
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
296
+ true
297
+ else
298
+ false
299
+ end
300
+ when :Object
301
+ # generic object (usually a Hash), return directly
302
+ value
303
+ when /\AArray<(?<inner_type>.+)>\z/
304
+ inner_type = Regexp.last_match[:inner_type]
305
+ value.map { |v| _deserialize(inner_type, v) }
306
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
307
+ k_type = Regexp.last_match[:k_type]
308
+ v_type = Regexp.last_match[:v_type]
309
+ {}.tap do |hash|
310
+ value.each do |k, v|
311
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
312
+ end
313
+ end
314
+ else # model
315
+ TalonOne.const_get(type).build_from_hash(value)
316
+ end
317
+ end
318
+
319
+ # Returns the string representation of the object
320
+ # @return [String] String presentation of the object
321
+ def to_s
322
+ to_hash.to_s
323
+ end
324
+
325
+ # to_body is an alias to to_hash (backward compatibility)
326
+ # @return [Hash] Returns the object in the form of hash
327
+ def to_body
328
+ to_hash
329
+ end
330
+
331
+ # Returns the object in the form of hash
332
+ # @return [Hash] Returns the object in the form of hash
333
+ def to_hash
334
+ hash = {}
335
+ self.class.attribute_map.each_pair do |attr, param|
336
+ value = self.send(attr)
337
+ if value.nil?
338
+ is_nullable = self.class.openapi_nullable.include?(attr)
339
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
340
+ end
341
+
342
+ hash[param] = _to_hash(value)
343
+ end
344
+ hash
345
+ end
346
+
347
+ # Outputs non-array value in the form of hash
348
+ # For object, use to_hash. Otherwise, just return the value
349
+ # @param [Object] value Any valid value
350
+ # @return [Hash] Returns the value in the form of hash
351
+ def _to_hash(value)
352
+ if value.is_a?(Array)
353
+ value.compact.map { |v| _to_hash(v) }
354
+ elsif value.is_a?(Hash)
355
+ {}.tap do |hash|
356
+ value.each { |k, v| hash[k] = _to_hash(v) }
357
+ end
358
+ elsif value.respond_to? :to_hash
359
+ value.to_hash
360
+ else
361
+ value
362
+ end
363
+ end
364
+ end
365
+ end