talon_one 8.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +42 -8
  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 +35 -0
  7. data/docs/AchievementProgressWithDefinition.md +45 -0
  8. data/docs/AchievementStatusEntry.md +45 -0
  9. data/docs/AddPriceAdjustmentCatalogAction.md +19 -0
  10. data/docs/AddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  11. data/docs/AnalyticsSKU.md +23 -0
  12. data/docs/Application.md +1 -1
  13. data/docs/ApplicationCIF.md +1 -1
  14. data/docs/ApplicationCIFExpression.md +1 -1
  15. data/docs/ApplicationCIFReferences.md +19 -0
  16. data/docs/ApplicationCustomer.md +2 -2
  17. data/docs/ApplicationEvent.md +1 -1
  18. data/docs/ApplicationSession.md +1 -1
  19. data/docs/Attribute.md +1 -1
  20. data/docs/Audience.md +1 -1
  21. data/docs/AudienceCustomer.md +2 -2
  22. data/docs/BaseNotificationWebhook.md +1 -1
  23. data/docs/Binding.md +9 -1
  24. data/docs/CampaignCollection.md +1 -1
  25. data/docs/CampaignCollectionWithoutPayload.md +1 -1
  26. data/docs/CampaignDeactivationRequest.md +17 -0
  27. data/docs/CampaignDetail.md +19 -0
  28. data/docs/CampaignGroup.md +1 -1
  29. data/docs/CampaignSet.md +1 -1
  30. data/docs/CampaignStoreBudget.md +1 -1
  31. data/docs/CampaignStoreBudgetLimitConfig.md +25 -0
  32. data/docs/CampaignTemplate.md +4 -2
  33. data/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  34. data/docs/CartItem.md +12 -2
  35. data/docs/Catalog.md +1 -1
  36. data/docs/CatalogItem.md +1 -1
  37. data/docs/Change.md +1 -1
  38. data/docs/Collection.md +1 -1
  39. data/docs/CollectionWithoutPayload.md +1 -1
  40. data/docs/Coupon.md +2 -2
  41. data/docs/CouponCreationJob.md +1 -1
  42. data/docs/CouponDeletionJob.md +1 -1
  43. data/docs/CouponEntity.md +19 -0
  44. data/docs/CreateAchievement.md +1 -1
  45. data/docs/CustomEffect.md +1 -1
  46. data/docs/CustomerProfile.md +2 -2
  47. data/docs/CustomerProfileEntity.md +19 -0
  48. data/docs/CustomerSessionV2.md +1 -1
  49. data/docs/Effect.md +6 -0
  50. data/docs/EffectEntity.md +7 -1
  51. data/docs/Entity.md +1 -1
  52. data/docs/Environment.md +4 -2
  53. data/docs/Event.md +1 -1
  54. data/docs/EventType.md +1 -1
  55. data/docs/Export.md +1 -1
  56. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +25 -0
  57. data/docs/Giveaway.md +1 -1
  58. data/docs/GiveawaysPool.md +1 -1
  59. data/docs/HiddenConditionsEffects.md +23 -0
  60. data/docs/Import.md +1 -1
  61. data/docs/InlineResponse20048.md +17 -0
  62. data/docs/InlineResponse20049.md +17 -0
  63. data/docs/InlineResponse20050.md +19 -0
  64. data/docs/InlineResponse20051.md +19 -0
  65. data/docs/IntegrationApi.md +6 -4
  66. data/docs/IntegrationCoupon.md +2 -2
  67. data/docs/IntegrationCustomerProfileAudienceRequest.md +17 -0
  68. data/docs/IntegrationCustomerProfileAudienceRequestItem.md +21 -0
  69. data/docs/IntegrationEventV2Request.md +2 -0
  70. data/docs/InventoryCoupon.md +2 -2
  71. data/docs/InventoryReferral.md +1 -1
  72. data/docs/LedgerEntry.md +1 -1
  73. data/docs/LedgerInfo.md +2 -2
  74. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +3 -1
  75. data/docs/LoyaltyCard.md +1 -1
  76. data/docs/LoyaltyLedgerEntryFlags.md +17 -0
  77. data/docs/LoyaltyProgramBalance.md +2 -2
  78. data/docs/LoyaltyProgramTransaction.md +3 -1
  79. data/docs/LoyaltyTier.md +1 -1
  80. data/docs/ManagementApi.md +824 -220
  81. data/docs/MessageTest.md +27 -0
  82. data/docs/ModelReturn.md +1 -1
  83. data/docs/MultipleAudiencesItem.md +1 -1
  84. data/docs/NewMessageTest.md +29 -0
  85. data/docs/NewPriceAdjustment.md +27 -0
  86. data/docs/NewPriceType.md +23 -0
  87. data/docs/NewWebhook.md +2 -0
  88. data/docs/Picklist.md +1 -1
  89. data/docs/PriceDetail.md +23 -0
  90. data/docs/PriceType.md +33 -0
  91. data/docs/ProductUnitAnalyticsDataPoint.md +25 -0
  92. data/docs/ProductUnitAnalyticsTotals.md +17 -0
  93. data/docs/Referral.md +1 -1
  94. data/docs/RevisionActivationRequest.md +19 -0
  95. data/docs/Role.md +1 -1
  96. data/docs/RoleV2.md +1 -1
  97. data/docs/Ruleset.md +1 -1
  98. data/docs/SamlConnection.md +1 -1
  99. data/docs/ScimBaseGroup.md +19 -0
  100. data/docs/ScimGroup.md +21 -0
  101. data/docs/ScimGroupMember.md +19 -0
  102. data/docs/ScimGroupsListResponse.md +21 -0
  103. data/docs/SkuUnitAnalytics.md +19 -0
  104. data/docs/SkuUnitAnalyticsDataPoint.md +23 -0
  105. data/docs/Store.md +1 -1
  106. data/docs/StrikethroughLabelingNotification.md +2 -0
  107. data/docs/TemplateDef.md +1 -1
  108. data/docs/UpdateAchievement.md +1 -1
  109. data/docs/User.md +1 -1
  110. data/docs/Webhook.md +3 -1
  111. data/docs/WebhookAuthentication.md +33 -0
  112. data/docs/WebhookAuthenticationBase.md +21 -0
  113. data/docs/WebhookAuthenticationDataBasic.md +19 -0
  114. data/docs/WebhookAuthenticationDataCustom.md +17 -0
  115. data/docs/WebhookAuthenticationWebhookRef.md +21 -0
  116. data/docs/WebhookWithOutgoingIntegrationDetails.md +3 -1
  117. data/lib/talon_one/api/integration_api.rb +9 -6
  118. data/lib/talon_one/api/management_api.rb +1009 -304
  119. data/lib/talon_one/models/account.rb +1 -1
  120. data/lib/talon_one/models/account_additional_cost.rb +1 -1
  121. data/lib/talon_one/models/achievement.rb +4 -4
  122. data/lib/talon_one/models/achievement_base.rb +377 -0
  123. data/lib/talon_one/models/achievement_progress_with_definition.rb +490 -0
  124. data/lib/talon_one/models/achievement_status_entry.rb +472 -0
  125. data/lib/talon_one/models/add_price_adjustment_catalog_action.rb +230 -0
  126. data/lib/talon_one/models/added_deducted_points_balances_notification_policy.rb +269 -0
  127. data/lib/talon_one/models/analytics_sku.rb +246 -0
  128. data/lib/talon_one/models/application.rb +1 -1
  129. data/lib/talon_one/models/application_cif.rb +1 -1
  130. data/lib/talon_one/models/application_cif_expression.rb +1 -1
  131. data/lib/talon_one/models/application_cif_references.rb +219 -0
  132. data/lib/talon_one/models/application_customer.rb +2 -2
  133. data/lib/talon_one/models/application_event.rb +1 -1
  134. data/lib/talon_one/models/application_session.rb +1 -1
  135. data/lib/talon_one/models/attribute.rb +1 -1
  136. data/lib/talon_one/models/audience.rb +1 -1
  137. data/lib/talon_one/models/audience_customer.rb +2 -2
  138. data/lib/talon_one/models/base_notification.rb +2 -2
  139. data/lib/talon_one/models/base_notification_webhook.rb +1 -1
  140. data/lib/talon_one/models/binding.rb +44 -4
  141. data/lib/talon_one/models/campaign_collection.rb +1 -1
  142. data/lib/talon_one/models/campaign_collection_without_payload.rb +1 -1
  143. data/lib/talon_one/models/campaign_deactivation_request.rb +214 -0
  144. data/lib/talon_one/models/campaign_detail.rb +232 -0
  145. data/lib/talon_one/models/campaign_group.rb +1 -1
  146. data/lib/talon_one/models/campaign_set.rb +1 -1
  147. data/lib/talon_one/models/campaign_store_budget.rb +1 -1
  148. data/lib/talon_one/models/campaign_store_budget_limit_config.rb +322 -0
  149. data/lib/talon_one/models/campaign_template.rb +17 -5
  150. data/lib/talon_one/models/card_added_deducted_points_balances_notification_policy.rb +269 -0
  151. data/lib/talon_one/models/cart_item.rb +57 -5
  152. data/lib/talon_one/models/catalog.rb +1 -1
  153. data/lib/talon_one/models/catalog_action.rb +2 -2
  154. data/lib/talon_one/models/catalog_item.rb +1 -1
  155. data/lib/talon_one/models/change.rb +1 -1
  156. data/lib/talon_one/models/collection.rb +1 -1
  157. data/lib/talon_one/models/collection_without_payload.rb +1 -1
  158. data/lib/talon_one/models/coupon.rb +7 -7
  159. data/lib/talon_one/models/coupon_constraints.rb +5 -5
  160. data/lib/talon_one/models/coupon_creation_job.rb +6 -6
  161. data/lib/talon_one/models/coupon_deletion_job.rb +1 -1
  162. data/lib/talon_one/models/coupon_entity.rb +227 -0
  163. data/lib/talon_one/models/create_achievement.rb +3 -3
  164. data/lib/talon_one/models/custom_effect.rb +1 -1
  165. data/lib/talon_one/models/customer_profile.rb +2 -2
  166. data/lib/talon_one/models/customer_profile_entity.rb +227 -0
  167. data/lib/talon_one/models/customer_session_v2.rb +1 -1
  168. data/lib/talon_one/models/delete_user_request.rb +0 -1
  169. data/lib/talon_one/models/effect.rb +31 -1
  170. data/lib/talon_one/models/effect_entity.rb +34 -4
  171. data/lib/talon_one/models/entity.rb +1 -1
  172. data/lib/talon_one/models/environment.rb +17 -5
  173. data/lib/talon_one/models/event.rb +1 -1
  174. data/lib/talon_one/models/event_type.rb +1 -1
  175. data/lib/talon_one/models/export.rb +1 -1
  176. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +270 -0
  177. data/lib/talon_one/models/giveaway.rb +1 -1
  178. data/lib/talon_one/models/giveaways_pool.rb +1 -1
  179. data/lib/talon_one/models/hidden_conditions_effects.rb +246 -0
  180. data/lib/talon_one/models/import.rb +1 -1
  181. data/lib/talon_one/models/inline_response20048.rb +208 -0
  182. data/lib/talon_one/models/inline_response20049.rb +208 -0
  183. data/lib/talon_one/models/inline_response20050.rb +222 -0
  184. data/lib/talon_one/models/inline_response20051.rb +227 -0
  185. data/lib/talon_one/models/integration_coupon.rb +7 -7
  186. data/lib/talon_one/models/integration_customer_profile_audience_request.rb +208 -0
  187. data/lib/talon_one/models/integration_customer_profile_audience_request_item.rb +295 -0
  188. data/lib/talon_one/models/integration_event_v2_request.rb +13 -1
  189. data/lib/talon_one/models/inventory_coupon.rb +7 -7
  190. data/lib/talon_one/models/inventory_referral.rb +1 -1
  191. data/lib/talon_one/models/ledger_entry.rb +1 -1
  192. data/lib/talon_one/models/ledger_info.rb +0 -10
  193. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +13 -4
  194. data/lib/talon_one/models/loyalty_card.rb +1 -1
  195. data/lib/talon_one/models/loyalty_ledger_entry_flags.rb +208 -0
  196. data/lib/talon_one/models/loyalty_program_balance.rb +0 -10
  197. data/lib/talon_one/models/loyalty_program_transaction.rb +13 -4
  198. data/lib/talon_one/models/loyalty_tier.rb +1 -1
  199. data/lib/talon_one/models/message_test.rb +227 -0
  200. data/lib/talon_one/models/model_return.rb +1 -1
  201. data/lib/talon_one/models/multiple_audiences_item.rb +1 -1
  202. data/lib/talon_one/models/new_coupon_creation_job.rb +5 -5
  203. data/lib/talon_one/models/new_coupons.rb +5 -5
  204. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +5 -5
  205. data/lib/talon_one/models/new_message_test.rb +322 -0
  206. data/lib/talon_one/models/new_price_adjustment.rb +268 -0
  207. data/lib/talon_one/models/new_price_type.rb +270 -0
  208. data/lib/talon_one/models/new_webhook.rb +16 -1
  209. data/lib/talon_one/models/picklist.rb +1 -1
  210. data/lib/talon_one/models/price_detail.rb +237 -0
  211. data/lib/talon_one/models/price_type.rb +347 -0
  212. data/lib/talon_one/models/product_unit_analytics_data_point.rb +271 -0
  213. data/lib/talon_one/models/product_unit_analytics_totals.rb +206 -0
  214. data/lib/talon_one/models/referral.rb +1 -1
  215. data/lib/talon_one/models/revision_activation_request.rb +224 -0
  216. data/lib/talon_one/models/role.rb +1 -1
  217. data/lib/talon_one/models/role_v2.rb +1 -1
  218. data/lib/talon_one/models/ruleset.rb +1 -1
  219. data/lib/talon_one/models/saml_connection.rb +1 -1
  220. data/lib/talon_one/models/scim_base_group.rb +220 -0
  221. data/lib/talon_one/models/scim_group.rb +235 -0
  222. data/lib/talon_one/models/scim_group_member.rb +218 -0
  223. data/lib/talon_one/models/scim_groups_list_response.rb +236 -0
  224. data/lib/talon_one/models/sku_unit_analytics.rb +227 -0
  225. data/lib/talon_one/models/sku_unit_analytics_data_point.rb +256 -0
  226. data/lib/talon_one/models/store.rb +1 -1
  227. data/lib/talon_one/models/strikethrough_labeling_notification.rb +11 -1
  228. data/lib/talon_one/models/template_def.rb +1 -1
  229. data/lib/talon_one/models/update_achievement.rb +3 -3
  230. data/lib/talon_one/models/update_coupon.rb +5 -5
  231. data/lib/talon_one/models/update_coupon_batch.rb +5 -5
  232. data/lib/talon_one/models/user.rb +1 -1
  233. data/lib/talon_one/models/webhook.rb +17 -2
  234. data/lib/talon_one/models/webhook_authentication.rb +365 -0
  235. data/lib/talon_one/models/webhook_authentication_base.rb +274 -0
  236. data/lib/talon_one/models/webhook_authentication_data_basic.rb +227 -0
  237. data/lib/talon_one/models/webhook_authentication_data_custom.rb +213 -0
  238. data/lib/talon_one/models/webhook_authentication_webhook_ref.rb +258 -0
  239. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +17 -2
  240. data/lib/talon_one/version.rb +1 -1
  241. data/lib/talon_one.rb +26 -1
  242. data/spec/api/integration_api_spec.rb +4 -3
  243. data/spec/api/management_api_spec.rb +227 -90
  244. data/spec/models/achievement_base_spec.rb +1 -1
  245. data/spec/models/achievement_progress_with_definition_spec.rb +1 -1
  246. data/spec/models/achievement_spec.rb +1 -1
  247. data/spec/models/achievement_status_entry_spec.rb +1 -1
  248. data/spec/models/add_price_adjustment_catalog_action_spec.rb +47 -0
  249. data/spec/models/added_deducted_points_balances_notification_policy_spec.rb +51 -0
  250. data/spec/models/base_notification_spec.rb +1 -1
  251. data/spec/models/binding_spec.rb +24 -0
  252. data/spec/models/campaign_deactivation_request_spec.rb +41 -0
  253. data/spec/models/campaign_template_spec.rb +6 -0
  254. data/spec/models/card_added_deducted_points_balances_notification_policy_spec.rb +51 -0
  255. data/spec/models/cart_item_spec.rb +30 -0
  256. data/spec/models/catalog_action_spec.rb +1 -1
  257. data/spec/models/coupon_entity_spec.rb +47 -0
  258. data/spec/models/create_achievement_spec.rb +1 -1
  259. data/spec/models/customer_profile_entity_spec.rb +47 -0
  260. data/spec/models/effect_entity_spec.rb +18 -0
  261. data/spec/models/effect_spec.rb +18 -0
  262. data/spec/models/environment_spec.rb +6 -0
  263. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +65 -0
  264. data/spec/models/inline_response20048_spec.rb +0 -6
  265. data/spec/models/inline_response20049_spec.rb +0 -6
  266. data/spec/models/inline_response20050_spec.rb +47 -0
  267. data/spec/models/inline_response20051_spec.rb +47 -0
  268. data/spec/models/integration_customer_profile_audience_request_item_spec.rb +57 -0
  269. data/spec/models/integration_customer_profile_audience_request_spec.rb +41 -0
  270. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  271. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  272. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  273. data/spec/models/new_message_test_spec.rb +1 -1
  274. data/spec/models/new_price_adjustment_spec.rb +71 -0
  275. data/spec/models/new_price_type_spec.rb +59 -0
  276. data/spec/models/new_webhook_spec.rb +6 -0
  277. data/spec/models/price_detail_spec.rb +59 -0
  278. data/spec/models/price_type_spec.rb +89 -0
  279. data/spec/models/revision_activation_request_spec.rb +47 -0
  280. data/spec/models/scim_base_group_spec.rb +47 -0
  281. data/spec/models/scim_group_member_spec.rb +47 -0
  282. data/spec/models/scim_group_spec.rb +53 -0
  283. data/spec/models/scim_groups_list_response_spec.rb +53 -0
  284. data/spec/models/strikethrough_labeling_notification_spec.rb +6 -0
  285. data/spec/models/update_achievement_spec.rb +1 -1
  286. data/spec/models/webhook_authentication_base_spec.rb +57 -0
  287. data/spec/models/webhook_authentication_data_basic_spec.rb +47 -0
  288. data/spec/models/webhook_authentication_data_custom_spec.rb +41 -0
  289. data/spec/models/webhook_authentication_spec.rb +93 -0
  290. data/spec/models/webhook_authentication_webhook_ref_spec.rb +53 -0
  291. data/spec/models/webhook_spec.rb +6 -0
  292. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  293. metadata +661 -527
@@ -0,0 +1,295 @@
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 IntegrationCustomerProfileAudienceRequestItem
17
+ # Defines the action to perform: - `add`: Adds the customer profile to the audience. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `delete`: Removes the customer profile from the audience.
18
+ attr_accessor :action
19
+
20
+ # The ID of this customer profile in the third-party integration.
21
+ attr_accessor :profile_integration_id
22
+
23
+ # The ID of this audience in the third-party integration.
24
+ attr_accessor :integration_id
25
+
26
+ class EnumAttributeValidator
27
+ attr_reader :datatype
28
+ attr_reader :allowable_values
29
+
30
+ def initialize(datatype, allowable_values)
31
+ @allowable_values = allowable_values.map do |value|
32
+ case datatype.to_s
33
+ when /Integer/i
34
+ value.to_i
35
+ when /Float/i
36
+ value.to_f
37
+ else
38
+ value
39
+ end
40
+ end
41
+ end
42
+
43
+ def valid?(value)
44
+ !value || allowable_values.include?(value)
45
+ end
46
+ end
47
+
48
+ # Attribute mapping from ruby-style variable name to JSON key.
49
+ def self.attribute_map
50
+ {
51
+ :'action' => :'action',
52
+ :'profile_integration_id' => :'profileIntegrationId',
53
+ :'integration_id' => :'integrationId'
54
+ }
55
+ end
56
+
57
+ # Attribute type mapping.
58
+ def self.openapi_types
59
+ {
60
+ :'action' => :'String',
61
+ :'profile_integration_id' => :'String',
62
+ :'integration_id' => :'String'
63
+ }
64
+ end
65
+
66
+ # List of attributes with nullable: true
67
+ def self.openapi_nullable
68
+ Set.new([
69
+ ])
70
+ end
71
+
72
+ # Initializes the object
73
+ # @param [Hash] attributes Model attributes in the form of hash
74
+ def initialize(attributes = {})
75
+ if (!attributes.is_a?(Hash))
76
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::IntegrationCustomerProfileAudienceRequestItem` initialize method"
77
+ end
78
+
79
+ # check to see if the attribute exists and convert string to symbol for hash key
80
+ attributes = attributes.each_with_object({}) { |(k, v), h|
81
+ if (!self.class.attribute_map.key?(k.to_sym))
82
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::IntegrationCustomerProfileAudienceRequestItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
83
+ end
84
+ h[k.to_sym] = v
85
+ }
86
+
87
+ if attributes.key?(:'action')
88
+ self.action = attributes[:'action']
89
+ end
90
+
91
+ if attributes.key?(:'profile_integration_id')
92
+ self.profile_integration_id = attributes[:'profile_integration_id']
93
+ end
94
+
95
+ if attributes.key?(:'integration_id')
96
+ self.integration_id = attributes[:'integration_id']
97
+ end
98
+ end
99
+
100
+ # Show invalid properties with the reasons. Usually used together with valid?
101
+ # @return Array for valid properties with the reasons
102
+ def list_invalid_properties
103
+ invalid_properties = Array.new
104
+ if @action.nil?
105
+ invalid_properties.push('invalid value for "action", action cannot be nil.')
106
+ end
107
+
108
+ if @profile_integration_id.nil?
109
+ invalid_properties.push('invalid value for "profile_integration_id", profile_integration_id cannot be nil.')
110
+ end
111
+
112
+ if @profile_integration_id.to_s.length > 1000
113
+ invalid_properties.push('invalid value for "profile_integration_id", the character length must be smaller than or equal to 1000.')
114
+ end
115
+
116
+ if @integration_id.nil?
117
+ invalid_properties.push('invalid value for "integration_id", integration_id cannot be nil.')
118
+ end
119
+
120
+ invalid_properties
121
+ end
122
+
123
+ # Check to see if the all the properties in the model are valid
124
+ # @return true if the model is valid
125
+ def valid?
126
+ return false if @action.nil?
127
+ action_validator = EnumAttributeValidator.new('String', ["add", "delete"])
128
+ return false unless action_validator.valid?(@action)
129
+ return false if @profile_integration_id.nil?
130
+ return false if @profile_integration_id.to_s.length > 1000
131
+ return false if @integration_id.nil?
132
+ true
133
+ end
134
+
135
+ # Custom attribute writer method checking allowed values (enum).
136
+ # @param [Object] action Object to be assigned
137
+ def action=(action)
138
+ validator = EnumAttributeValidator.new('String', ["add", "delete"])
139
+ unless validator.valid?(action)
140
+ fail ArgumentError, "invalid value for \"action\", must be one of #{validator.allowable_values}."
141
+ end
142
+ @action = action
143
+ end
144
+
145
+ # Custom attribute writer method with validation
146
+ # @param [Object] profile_integration_id Value to be assigned
147
+ def profile_integration_id=(profile_integration_id)
148
+ if profile_integration_id.nil?
149
+ fail ArgumentError, 'profile_integration_id cannot be nil'
150
+ end
151
+
152
+ if profile_integration_id.to_s.length > 1000
153
+ fail ArgumentError, 'invalid value for "profile_integration_id", the character length must be smaller than or equal to 1000.'
154
+ end
155
+
156
+ @profile_integration_id = profile_integration_id
157
+ end
158
+
159
+ # Checks equality by comparing each attribute.
160
+ # @param [Object] Object to be compared
161
+ def ==(o)
162
+ return true if self.equal?(o)
163
+ self.class == o.class &&
164
+ action == o.action &&
165
+ profile_integration_id == o.profile_integration_id &&
166
+ integration_id == o.integration_id
167
+ end
168
+
169
+ # @see the `==` method
170
+ # @param [Object] Object to be compared
171
+ def eql?(o)
172
+ self == o
173
+ end
174
+
175
+ # Calculates hash code according to all attributes.
176
+ # @return [Integer] Hash code
177
+ def hash
178
+ [action, profile_integration_id, integration_id].hash
179
+ end
180
+
181
+ # Builds the object from hash
182
+ # @param [Hash] attributes Model attributes in the form of hash
183
+ # @return [Object] Returns the model itself
184
+ def self.build_from_hash(attributes)
185
+ new.build_from_hash(attributes)
186
+ end
187
+
188
+ # Builds the object from hash
189
+ # @param [Hash] attributes Model attributes in the form of hash
190
+ # @return [Object] Returns the model itself
191
+ def build_from_hash(attributes)
192
+ return nil unless attributes.is_a?(Hash)
193
+ self.class.openapi_types.each_pair do |key, type|
194
+ if type =~ /\AArray<(.*)>/i
195
+ # check to ensure the input is an array given that the attribute
196
+ # is documented as an array but the input is not
197
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
198
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
199
+ end
200
+ elsif !attributes[self.class.attribute_map[key]].nil?
201
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
202
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
203
+ end
204
+
205
+ self
206
+ end
207
+
208
+ # Deserializes the data based on type
209
+ # @param string type Data type
210
+ # @param string value Value to be deserialized
211
+ # @return [Object] Deserialized data
212
+ def _deserialize(type, value)
213
+ case type.to_sym
214
+ when :DateTime
215
+ DateTime.parse(value)
216
+ when :Date
217
+ Date.parse(value)
218
+ when :String
219
+ value.to_s
220
+ when :Integer
221
+ value.to_i
222
+ when :Float
223
+ value.to_f
224
+ when :Boolean
225
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
226
+ true
227
+ else
228
+ false
229
+ end
230
+ when :Object
231
+ # generic object (usually a Hash), return directly
232
+ value
233
+ when /\AArray<(?<inner_type>.+)>\z/
234
+ inner_type = Regexp.last_match[:inner_type]
235
+ value.map { |v| _deserialize(inner_type, v) }
236
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
237
+ k_type = Regexp.last_match[:k_type]
238
+ v_type = Regexp.last_match[:v_type]
239
+ {}.tap do |hash|
240
+ value.each do |k, v|
241
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
242
+ end
243
+ end
244
+ else # model
245
+ TalonOne.const_get(type).build_from_hash(value)
246
+ end
247
+ end
248
+
249
+ # Returns the string representation of the object
250
+ # @return [String] String presentation of the object
251
+ def to_s
252
+ to_hash.to_s
253
+ end
254
+
255
+ # to_body is an alias to to_hash (backward compatibility)
256
+ # @return [Hash] Returns the object in the form of hash
257
+ def to_body
258
+ to_hash
259
+ end
260
+
261
+ # Returns the object in the form of hash
262
+ # @return [Hash] Returns the object in the form of hash
263
+ def to_hash
264
+ hash = {}
265
+ self.class.attribute_map.each_pair do |attr, param|
266
+ value = self.send(attr)
267
+ if value.nil?
268
+ is_nullable = self.class.openapi_nullable.include?(attr)
269
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
270
+ end
271
+
272
+ hash[param] = _to_hash(value)
273
+ end
274
+ hash
275
+ end
276
+
277
+ # Outputs non-array value in the form of hash
278
+ # For object, use to_hash. Otherwise, just return the value
279
+ # @param [Object] value Any valid value
280
+ # @return [Hash] Returns the value in the form of hash
281
+ def _to_hash(value)
282
+ if value.is_a?(Array)
283
+ value.compact.map { |v| _to_hash(v) }
284
+ elsif value.is_a?(Hash)
285
+ {}.tap do |hash|
286
+ value.each { |k, v| hash[k] = _to_hash(v) }
287
+ end
288
+ elsif value.respond_to? :to_hash
289
+ value.to_hash
290
+ else
291
+ value
292
+ end
293
+ end
294
+ end
295
+ end
@@ -29,6 +29,9 @@ module TalonOne
29
29
  # Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).
30
30
  attr_accessor :attributes
31
31
 
32
+ # Identifier of the loyalty card used during this event.
33
+ attr_accessor :loyalty_cards
34
+
32
35
  # Optional list of requested information to be present on the response related to the tracking custom event.
33
36
  attr_accessor :response_content
34
37
 
@@ -62,6 +65,7 @@ module TalonOne
62
65
  :'evaluable_campaign_ids' => :'evaluableCampaignIds',
63
66
  :'type' => :'type',
64
67
  :'attributes' => :'attributes',
68
+ :'loyalty_cards' => :'loyaltyCards',
65
69
  :'response_content' => :'responseContent'
66
70
  }
67
71
  end
@@ -74,6 +78,7 @@ module TalonOne
74
78
  :'evaluable_campaign_ids' => :'Array<Integer>',
75
79
  :'type' => :'String',
76
80
  :'attributes' => :'Object',
81
+ :'loyalty_cards' => :'Array<String>',
77
82
  :'response_content' => :'Array<String>'
78
83
  }
79
84
  end
@@ -121,6 +126,12 @@ module TalonOne
121
126
  self.attributes = attributes[:'attributes']
122
127
  end
123
128
 
129
+ if attributes.key?(:'loyalty_cards')
130
+ if (value = attributes[:'loyalty_cards']).is_a?(Array)
131
+ self.loyalty_cards = value
132
+ end
133
+ end
134
+
124
135
  if attributes.key?(:'response_content')
125
136
  if (value = attributes[:'response_content']).is_a?(Array)
126
137
  self.response_content = value
@@ -199,6 +210,7 @@ module TalonOne
199
210
  evaluable_campaign_ids == o.evaluable_campaign_ids &&
200
211
  type == o.type &&
201
212
  attributes == o.attributes &&
213
+ loyalty_cards == o.loyalty_cards &&
202
214
  response_content == o.response_content
203
215
  end
204
216
 
@@ -211,7 +223,7 @@ module TalonOne
211
223
  # Calculates hash code according to all attributes.
212
224
  # @return [Integer] Hash code
213
225
  def hash
214
- [profile_id, store_integration_id, evaluable_campaign_ids, type, attributes, response_content].hash
226
+ [profile_id, store_integration_id, evaluable_campaign_ids, type, attributes, loyalty_cards, response_content].hash
215
227
  end
216
228
 
217
229
  # Builds the object from hash
@@ -14,10 +14,10 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class InventoryCoupon
17
- # Internal ID of this entity.
17
+ # The internal ID of the coupon.
18
18
  attr_accessor :id
19
19
 
20
- # The time this entity was created.
20
+ # The time the coupon was created.
21
21
  attr_accessor :created
22
22
 
23
23
  # The ID of the campaign that owns this entity.
@@ -306,8 +306,8 @@ module TalonOne
306
306
  invalid_properties.push('invalid value for "usage_limit", must be greater than or equal to 0.')
307
307
  end
308
308
 
309
- if !@discount_limit.nil? && @discount_limit > 999999
310
- invalid_properties.push('invalid value for "discount_limit", must be smaller than or equal to 999999.')
309
+ if !@discount_limit.nil? && @discount_limit > 1E+15
310
+ invalid_properties.push('invalid value for "discount_limit", must be smaller than or equal to 1E+15.')
311
311
  end
312
312
 
313
313
  if !@discount_limit.nil? && @discount_limit < 0
@@ -352,7 +352,7 @@ module TalonOne
352
352
  return false if @usage_limit.nil?
353
353
  return false if @usage_limit > 999999
354
354
  return false if @usage_limit < 0
355
- return false if !@discount_limit.nil? && @discount_limit > 999999
355
+ return false if !@discount_limit.nil? && @discount_limit > 1E+15
356
356
  return false if !@discount_limit.nil? && @discount_limit < 0
357
357
  return false if !@reservation_limit.nil? && @reservation_limit > 999999
358
358
  return false if !@reservation_limit.nil? && @reservation_limit < 0
@@ -398,8 +398,8 @@ module TalonOne
398
398
  # Custom attribute writer method with validation
399
399
  # @param [Object] discount_limit Value to be assigned
400
400
  def discount_limit=(discount_limit)
401
- if !discount_limit.nil? && discount_limit > 999999
402
- fail ArgumentError, 'invalid value for "discount_limit", must be smaller than or equal to 999999.'
401
+ if !discount_limit.nil? && discount_limit > 1E+15
402
+ fail ArgumentError, 'invalid value for "discount_limit", must be smaller than or equal to 1E+15.'
403
403
  end
404
404
 
405
405
  if !discount_limit.nil? && discount_limit < 0
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class InventoryReferral
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.
@@ -15,7 +15,7 @@ require 'date'
15
15
  module TalonOne
16
16
  # Entry in the point ledger.
17
17
  class LedgerEntry
18
- # Internal ID of this entity.
18
+ # The internal ID of this entity.
19
19
  attr_accessor :id
20
20
 
21
21
  # The time this entity was created.
@@ -150,10 +150,6 @@ module TalonOne
150
150
  invalid_properties.push('invalid value for "pending_balance", pending_balance cannot be nil.')
151
151
  end
152
152
 
153
- if @negative_balance.nil?
154
- invalid_properties.push('invalid value for "negative_balance", negative_balance cannot be nil.')
155
- end
156
-
157
153
  if @expired_balance.nil?
158
154
  invalid_properties.push('invalid value for "expired_balance", expired_balance cannot be nil.')
159
155
  end
@@ -166,10 +162,6 @@ module TalonOne
166
162
  invalid_properties.push('invalid value for "tentative_current_balance", tentative_current_balance cannot be nil.')
167
163
  end
168
164
 
169
- if @tentative_negative_balance.nil?
170
- invalid_properties.push('invalid value for "tentative_negative_balance", tentative_negative_balance cannot be nil.')
171
- end
172
-
173
165
  invalid_properties
174
166
  end
175
167
 
@@ -178,11 +170,9 @@ module TalonOne
178
170
  def valid?
179
171
  return false if @current_balance.nil?
180
172
  return false if @pending_balance.nil?
181
- return false if @negative_balance.nil?
182
173
  return false if @expired_balance.nil?
183
174
  return false if @spent_balance.nil?
184
175
  return false if @tentative_current_balance.nil?
185
- return false if @tentative_negative_balance.nil?
186
176
  true
187
177
  end
188
178
 
@@ -51,6 +51,8 @@ module TalonOne
51
51
  # The name of the rule that triggered this effect.
52
52
  attr_accessor :rule_name
53
53
 
54
+ attr_accessor :flags
55
+
54
56
  class EnumAttributeValidator
55
57
  attr_reader :datatype
56
58
  attr_reader :allowable_values
@@ -87,7 +89,8 @@ module TalonOne
87
89
  :'amount' => :'amount',
88
90
  :'id' => :'id',
89
91
  :'ruleset_id' => :'rulesetId',
90
- :'rule_name' => :'ruleName'
92
+ :'rule_name' => :'ruleName',
93
+ :'flags' => :'flags'
91
94
  }
92
95
  end
93
96
 
@@ -105,7 +108,8 @@ module TalonOne
105
108
  :'amount' => :'Float',
106
109
  :'id' => :'Integer',
107
110
  :'ruleset_id' => :'Integer',
108
- :'rule_name' => :'String'
111
+ :'rule_name' => :'String',
112
+ :'flags' => :'LoyaltyLedgerEntryFlags'
109
113
  }
110
114
  end
111
115
 
@@ -177,6 +181,10 @@ module TalonOne
177
181
  if attributes.key?(:'rule_name')
178
182
  self.rule_name = attributes[:'rule_name']
179
183
  end
184
+
185
+ if attributes.key?(:'flags')
186
+ self.flags = attributes[:'flags']
187
+ end
180
188
  end
181
189
 
182
190
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -342,7 +350,8 @@ module TalonOne
342
350
  amount == o.amount &&
343
351
  id == o.id &&
344
352
  ruleset_id == o.ruleset_id &&
345
- rule_name == o.rule_name
353
+ rule_name == o.rule_name &&
354
+ flags == o.flags
346
355
  end
347
356
 
348
357
  # @see the `==` method
@@ -354,7 +363,7 @@ module TalonOne
354
363
  # Calculates hash code according to all attributes.
355
364
  # @return [Integer] Hash code
356
365
  def hash
357
- [created, program_id, customer_session_id, type, name, start_date, expiry_date, subledger_id, amount, id, ruleset_id, rule_name].hash
366
+ [created, program_id, customer_session_id, type, name, start_date, expiry_date, subledger_id, amount, id, ruleset_id, rule_name, flags].hash
358
367
  end
359
368
 
360
369
  # Builds the object from hash
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class LoyaltyCard
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.