talon_one 9.0.0 → 11.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 (524) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autorelease.yml +123 -0
  3. data/README.md +89 -9
  4. data/docker-compose.yml +2 -2
  5. data/docs/Account.md +1 -1
  6. data/docs/AccountAdditionalCost.md +1 -1
  7. data/docs/AccountLimits.md +5 -1
  8. data/docs/Achievement.md +4 -2
  9. data/docs/AchievementBase.md +4 -2
  10. data/docs/AchievementProgressWithDefinition.md +4 -2
  11. data/docs/AchievementStatusEntry.md +4 -2
  12. data/docs/AddLoyaltyPoints.md +1 -1
  13. data/docs/AddPriceAdjustmentCatalogAction.md +19 -0
  14. data/docs/AddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  15. data/docs/AddedDeductedPointsNotification.md +41 -0
  16. data/docs/AnalyticsSKU.md +6 -2
  17. data/docs/Application.md +1 -1
  18. data/docs/ApplicationCIF.md +1 -1
  19. data/docs/ApplicationCIFExpression.md +1 -1
  20. data/docs/ApplicationCustomer.md +3 -3
  21. data/docs/ApplicationEvent.md +1 -1
  22. data/docs/ApplicationSession.md +1 -1
  23. data/docs/AsyncCouponsData.md +25 -0
  24. data/docs/Attribute.md +1 -1
  25. data/docs/Audience.md +1 -1
  26. data/docs/AudienceCustomer.md +3 -3
  27. data/docs/AudienceReference.md +21 -0
  28. data/docs/BaseLoyaltyProgram.md +1 -1
  29. data/docs/BaseNotificationWebhook.md +1 -1
  30. data/docs/BestPriorPrice.md +27 -0
  31. data/docs/BestPriorPriceMetadata.md +19 -0
  32. data/docs/BestPriorPriceRequest.md +25 -0
  33. data/docs/BestPriorPriceRequestTarget.md +19 -0
  34. data/docs/Binding.md +9 -1
  35. data/docs/CampaignCollection.md +1 -1
  36. data/docs/CampaignCollectionEditedNotification.md +6 -6
  37. data/docs/CampaignCollectionEditedNotificationItem.md +23 -0
  38. data/docs/CampaignCollectionWithoutPayload.md +1 -1
  39. data/docs/CampaignCreatedNotification.md +6 -6
  40. data/docs/CampaignCreatedNotificationItem.md +23 -0
  41. data/docs/CampaignDeactivationRequest.md +17 -0
  42. data/docs/CampaignDeletedNotification.md +6 -4
  43. data/docs/CampaignDeletedNotificationItem.md +21 -0
  44. data/docs/CampaignEditedNotification.md +6 -6
  45. data/docs/CampaignEditedNotificationItem.md +23 -0
  46. data/docs/CampaignEvaluationTreeChangedMessage.md +21 -0
  47. data/docs/CampaignGroup.md +1 -1
  48. data/docs/CampaignNotificationBase.md +19 -0
  49. data/docs/CampaignNotificationGeneric.md +21 -0
  50. data/docs/CampaignNotificationItemBase.md +17 -0
  51. data/docs/CampaignNotificationPolicy.md +1 -1
  52. data/docs/CampaignRulesetChangedNotification.md +6 -6
  53. data/docs/CampaignRulesetChangedNotificationItem.md +23 -0
  54. data/docs/CampaignSet.md +1 -1
  55. data/docs/CampaignStateChangedNotification.md +6 -8
  56. data/docs/CampaignStateChangedNotificationItem.md +25 -0
  57. data/docs/CampaignStoreBudget.md +1 -1
  58. data/docs/CampaignTemplate.md +1 -1
  59. data/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  60. data/docs/CardAddedDeductedPointsNotification.md +45 -0
  61. data/docs/CardExpiringPointsNotificationPolicy.md +1 -1
  62. data/docs/CardLedgerPointsEntryIntegrationAPI.md +2 -0
  63. data/docs/CardLedgerTransactionLogEntry.md +3 -1
  64. data/docs/CardLedgerTransactionLogEntryIntegrationAPI.md +3 -1
  65. data/docs/CartItem.md +12 -2
  66. data/docs/Catalog.md +1 -1
  67. data/docs/CatalogItem.md +1 -1
  68. data/docs/CatalogsStrikethroughNotificationPolicy.md +3 -1
  69. data/docs/Change.md +1 -1
  70. data/docs/Collection.md +1 -1
  71. data/docs/CollectionWithoutPayload.md +1 -1
  72. data/docs/Coupon.md +2 -2
  73. data/docs/CouponCreationJob.md +1 -1
  74. data/docs/CouponDeletionJob.md +1 -1
  75. data/docs/CouponEntity.md +19 -0
  76. data/docs/CouponsNotificationData.md +27 -0
  77. data/docs/CouponsNotificationPolicy.md +1 -1
  78. data/docs/CreateAchievement.md +4 -2
  79. data/docs/CreateCouponData.md +29 -0
  80. data/docs/CustomEffect.md +1 -1
  81. data/docs/CustomerProfile.md +3 -3
  82. data/docs/CustomerProfileEntity.md +19 -0
  83. data/docs/CustomerSessionV2.md +1 -1
  84. data/docs/DeleteCouponsData.md +31 -0
  85. data/docs/Effect.md +7 -1
  86. data/docs/EffectEntity.md +7 -1
  87. data/docs/Entity.md +1 -1
  88. data/docs/Environment.md +4 -2
  89. data/docs/Event.md +1 -1
  90. data/docs/EventType.md +1 -1
  91. data/docs/ExpiringCardPointsData.md +29 -0
  92. data/docs/ExpiringCardPointsNotification.md +21 -0
  93. data/docs/ExpiringCouponsData.md +35 -0
  94. data/docs/ExpiringCouponsNotification.md +21 -0
  95. data/docs/ExpiringCouponsNotificationPolicy.md +1 -1
  96. data/docs/ExpiringPointsData.md +25 -0
  97. data/docs/ExpiringPointsNotification.md +21 -0
  98. data/docs/ExpiringPointsNotificationPolicy.md +1 -1
  99. data/docs/Export.md +1 -1
  100. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +23 -0
  101. data/docs/ExtendedCoupon.md +61 -0
  102. data/docs/GenerateAuditLogSummary.md +17 -0
  103. data/docs/GenerateCampaignDescription.md +3 -1
  104. data/docs/GenerateCouponFailureDetailedSummary.md +25 -0
  105. data/docs/GenerateCouponFailureSummary.md +19 -0
  106. data/docs/GenerateUserSessionSummary.md +19 -0
  107. data/docs/GetIntegrationCouponRequest.md +1 -1
  108. data/docs/Giveaway.md +1 -1
  109. data/docs/GiveawaysPool.md +1 -1
  110. data/docs/Import.md +1 -1
  111. data/docs/InlineResponse20040.md +1 -1
  112. data/docs/InlineResponse20041.md +1 -1
  113. data/docs/InlineResponse20042.md +4 -2
  114. data/docs/InlineResponse20043.md +1 -1
  115. data/docs/InlineResponse20044.md +2 -4
  116. data/docs/InlineResponse20045.md +5 -3
  117. data/docs/InlineResponse20046.md +2 -4
  118. data/docs/InlineResponse20047.md +2 -6
  119. data/docs/InlineResponse20050.md +19 -0
  120. data/docs/InlineResponse20051.md +19 -0
  121. data/docs/IntegrationApi.md +91 -6
  122. data/docs/IntegrationCoupon.md +2 -2
  123. data/docs/IntegrationCustomerProfileAudienceRequest.md +17 -0
  124. data/docs/IntegrationCustomerProfileAudienceRequestItem.md +21 -0
  125. data/docs/IntegrationEventV2Request.md +2 -0
  126. data/docs/InventoryCoupon.md +2 -2
  127. data/docs/InventoryReferral.md +1 -1
  128. data/docs/JWT.md +19 -0
  129. data/docs/LabelTargetAudience.md +19 -0
  130. data/docs/LabelTargetNone.md +17 -0
  131. data/docs/LedgerEntry.md +1 -1
  132. data/docs/LedgerInfo.md +2 -2
  133. data/docs/LedgerPointsEntryIntegrationAPI.md +2 -0
  134. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +3 -1
  135. data/docs/LoyaltyCard.md +1 -1
  136. data/docs/LoyaltyDashboardData.md +2 -0
  137. data/docs/LoyaltyLedgerEntryExpiryDateChange.md +21 -0
  138. data/docs/LoyaltyProgram.md +1 -1
  139. data/docs/LoyaltyProgramBalance.md +2 -2
  140. data/docs/LoyaltyProgramTransaction.md +2 -0
  141. data/docs/LoyaltyTier.md +1 -1
  142. data/docs/ManagementApi.md +1819 -339
  143. data/docs/ModelReturn.md +1 -1
  144. data/docs/MultipleAudiencesItem.md +1 -1
  145. data/docs/NewLoyaltyProgram.md +1 -1
  146. data/docs/NewMessageTest.md +6 -6
  147. data/docs/NewPriceAdjustment.md +29 -0
  148. data/docs/NewPriceType.md +23 -0
  149. data/docs/NewSecondaryDeployment.md +17 -0
  150. data/docs/NewWebhook.md +5 -1
  151. data/docs/PendingActivePointsData.md +29 -0
  152. data/docs/PendingActivePointsNotification.md +21 -0
  153. data/docs/PendingPointsNotificationPolicy.md +1 -1
  154. data/docs/Picklist.md +1 -1
  155. data/docs/PriceDetail.md +25 -0
  156. data/docs/PriceType.md +33 -0
  157. data/docs/PriceTypeReferenceDetail.md +23 -0
  158. data/docs/PriceTypeReferences.md +19 -0
  159. data/docs/Referral.md +1 -1
  160. data/docs/RevisionActivationRequest.md +19 -0
  161. data/docs/Role.md +1 -1
  162. data/docs/RoleV2.md +1 -1
  163. data/docs/RoleV2RolesGroup.md +3 -1
  164. data/docs/Ruleset.md +1 -1
  165. data/docs/SamlConnection.md +1 -1
  166. data/docs/ScimBaseGroup.md +19 -0
  167. data/docs/ScimGroup.md +21 -0
  168. data/docs/ScimGroupMember.md +19 -0
  169. data/docs/ScimGroupsListResponse.md +21 -0
  170. data/docs/SecondaryDeployment.md +31 -0
  171. data/docs/SetLoyaltyPointsExpiryDateEffectProps.md +23 -0
  172. data/docs/Store.md +1 -1
  173. data/docs/StrikethroughChangedItem.md +2 -0
  174. data/docs/StrikethroughEffect.md +9 -1
  175. data/docs/StrikethroughLabelingNotification.md +3 -1
  176. data/docs/TemplateDef.md +1 -1
  177. data/docs/TierDowngradeData.md +31 -0
  178. data/docs/TierDowngradeNotification.md +21 -0
  179. data/docs/TierDowngradeNotificationPolicy.md +1 -1
  180. data/docs/TierUpgradeData.md +35 -0
  181. data/docs/TierUpgradeNotification.md +21 -0
  182. data/docs/TierUpgradeNotificationPolicy.md +1 -1
  183. data/docs/TierWillDowngradeData.md +31 -0
  184. data/docs/TierWillDowngradeNotification.md +21 -0
  185. data/docs/TierWillDowngradeNotificationPolicy.md +1 -1
  186. data/docs/UpdateAchievement.md +4 -2
  187. data/docs/UpdateCouponsData.md +29 -0
  188. data/docs/UpdateLoyaltyProgram.md +1 -1
  189. data/docs/UpdatePriceType.md +21 -0
  190. data/docs/User.md +1 -1
  191. data/docs/Webhook.md +6 -2
  192. data/docs/WebhookAuthentication.md +33 -0
  193. data/docs/WebhookAuthenticationBase.md +21 -0
  194. data/docs/WebhookAuthenticationDataBasic.md +19 -0
  195. data/docs/WebhookAuthenticationDataCustom.md +17 -0
  196. data/docs/WebhookAuthenticationWebhookRef.md +21 -0
  197. data/docs/WebhookWithOutgoingIntegrationDetails.md +5 -1
  198. data/lib/talon_one/api/integration_api.rb +110 -8
  199. data/lib/talon_one/api/management_api.rb +1123 -429
  200. data/lib/talon_one/models/account.rb +1 -1
  201. data/lib/talon_one/models/account_additional_cost.rb +1 -1
  202. data/lib/talon_one/models/account_limits.rb +34 -4
  203. data/lib/talon_one/models/achievement.rb +15 -5
  204. data/lib/talon_one/models/achievement_base.rb +17 -7
  205. data/lib/talon_one/models/achievement_progress_with_definition.rb +17 -7
  206. data/lib/talon_one/models/achievement_status_entry.rb +15 -5
  207. data/lib/talon_one/models/add_loyalty_points.rb +1 -10
  208. data/lib/talon_one/models/add_price_adjustment_catalog_action.rb +230 -0
  209. data/lib/talon_one/models/added_deducted_points_balances_notification_policy.rb +269 -0
  210. data/lib/talon_one/models/added_deducted_points_notification.rb +478 -0
  211. data/lib/talon_one/models/analytics_sku.rb +23 -3
  212. data/lib/talon_one/models/application.rb +1 -1
  213. data/lib/talon_one/models/application_cif.rb +1 -1
  214. data/lib/talon_one/models/application_cif_expression.rb +1 -1
  215. data/lib/talon_one/models/application_customer.rb +3 -3
  216. data/lib/talon_one/models/application_event.rb +1 -1
  217. data/lib/talon_one/models/application_session.rb +1 -1
  218. data/lib/talon_one/models/async_coupons_data.rb +272 -0
  219. data/lib/talon_one/models/attribute.rb +1 -1
  220. data/lib/talon_one/models/audience.rb +1 -1
  221. data/lib/talon_one/models/audience_customer.rb +3 -3
  222. data/lib/talon_one/models/audience_reference.rb +256 -0
  223. data/lib/talon_one/models/base_loyalty_program.rb +1 -1
  224. data/lib/talon_one/models/base_notification.rb +2 -2
  225. data/lib/talon_one/models/base_notification_webhook.rb +1 -1
  226. data/lib/talon_one/models/best_prior_price.rb +285 -0
  227. data/lib/talon_one/models/best_prior_price_metadata.rb +219 -0
  228. data/lib/talon_one/models/best_prior_price_request.rb +268 -0
  229. data/lib/talon_one/models/best_prior_price_request_target.rb +257 -0
  230. data/lib/talon_one/models/binding.rb +44 -4
  231. data/lib/talon_one/models/campaign_collection.rb +1 -1
  232. data/lib/talon_one/models/campaign_collection_edited_notification.rb +30 -26
  233. data/lib/talon_one/models/campaign_collection_edited_notification_item.rb +250 -0
  234. data/lib/talon_one/models/campaign_collection_without_payload.rb +1 -1
  235. data/lib/talon_one/models/campaign_created_notification.rb +30 -26
  236. data/lib/talon_one/models/campaign_created_notification_item.rb +250 -0
  237. data/lib/talon_one/models/campaign_deactivation_request.rb +214 -0
  238. data/lib/talon_one/models/campaign_deleted_notification.rb +33 -21
  239. data/lib/talon_one/models/campaign_deleted_notification_item.rb +242 -0
  240. data/lib/talon_one/models/campaign_edited_notification.rb +30 -26
  241. data/lib/talon_one/models/campaign_edited_notification_item.rb +250 -0
  242. data/lib/talon_one/models/campaign_evaluation_tree_changed_message.rb +239 -0
  243. data/lib/talon_one/models/campaign_group.rb +1 -1
  244. data/lib/talon_one/models/campaign_notification_base.rb +227 -0
  245. data/lib/talon_one/models/campaign_notification_generic.rb +244 -0
  246. data/lib/talon_one/models/campaign_notification_item_base.rb +212 -0
  247. data/lib/talon_one/models/campaign_notification_policy.rb +2 -0
  248. data/lib/talon_one/models/campaign_ruleset_changed_notification.rb +32 -23
  249. data/lib/talon_one/models/campaign_ruleset_changed_notification_item.rb +245 -0
  250. data/lib/talon_one/models/campaign_set.rb +1 -1
  251. data/lib/talon_one/models/campaign_state_changed_notification.rb +30 -42
  252. data/lib/talon_one/models/campaign_state_changed_notification_item.rb +266 -0
  253. data/lib/talon_one/models/campaign_store_budget.rb +1 -1
  254. data/lib/talon_one/models/campaign_template.rb +1 -1
  255. data/lib/talon_one/models/card_added_deducted_points_balances_notification_policy.rb +269 -0
  256. data/lib/talon_one/models/card_added_deducted_points_notification.rb +510 -0
  257. data/lib/talon_one/models/card_expiring_points_notification_policy.rb +2 -0
  258. data/lib/talon_one/models/card_ledger_points_entry_integration_api.rb +16 -1
  259. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +16 -1
  260. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +16 -1
  261. data/lib/talon_one/models/cart_item.rb +57 -5
  262. data/lib/talon_one/models/catalog.rb +1 -1
  263. data/lib/talon_one/models/catalog_action.rb +2 -2
  264. data/lib/talon_one/models/catalog_item.rb +1 -1
  265. data/lib/talon_one/models/catalogs_strikethrough_notification_policy.rb +16 -4
  266. data/lib/talon_one/models/change.rb +1 -1
  267. data/lib/talon_one/models/collection.rb +1 -1
  268. data/lib/talon_one/models/collection_without_payload.rb +1 -1
  269. data/lib/talon_one/models/coupon.rb +7 -7
  270. data/lib/talon_one/models/coupon_constraints.rb +5 -5
  271. data/lib/talon_one/models/coupon_creation_job.rb +6 -6
  272. data/lib/talon_one/models/coupon_deletion_job.rb +1 -1
  273. data/lib/talon_one/models/coupon_entity.rb +227 -0
  274. data/lib/talon_one/models/coupons_notification_data.rb +278 -0
  275. data/lib/talon_one/models/coupons_notification_policy.rb +2 -0
  276. data/lib/talon_one/models/create_achievement.rb +17 -7
  277. data/lib/talon_one/models/create_coupon_data.rb +288 -0
  278. data/lib/talon_one/models/custom_effect.rb +1 -1
  279. data/lib/talon_one/models/customer_profile.rb +3 -3
  280. data/lib/talon_one/models/customer_profile_entity.rb +227 -0
  281. data/lib/talon_one/models/customer_session_v2.rb +1 -1
  282. data/lib/talon_one/models/deduct_loyalty_points.rb +0 -9
  283. data/lib/talon_one/models/delete_coupons_data.rb +310 -0
  284. data/lib/talon_one/models/effect.rb +31 -2
  285. data/lib/talon_one/models/effect_entity.rb +34 -4
  286. data/lib/talon_one/models/entity.rb +1 -1
  287. data/lib/talon_one/models/environment.rb +17 -5
  288. data/lib/talon_one/models/event.rb +1 -1
  289. data/lib/talon_one/models/event_type.rb +1 -1
  290. data/lib/talon_one/models/expiring_card_points_data.rb +342 -0
  291. data/lib/talon_one/models/expiring_card_points_notification.rb +277 -0
  292. data/lib/talon_one/models/expiring_coupons_data.rb +369 -0
  293. data/lib/talon_one/models/expiring_coupons_notification.rb +277 -0
  294. data/lib/talon_one/models/expiring_coupons_notification_policy.rb +2 -0
  295. data/lib/talon_one/models/expiring_points_data.rb +291 -0
  296. data/lib/talon_one/models/expiring_points_notification.rb +277 -0
  297. data/lib/talon_one/models/expiring_points_notification_policy.rb +2 -0
  298. data/lib/talon_one/models/export.rb +1 -1
  299. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +255 -0
  300. data/lib/talon_one/models/extended_coupon.rb +578 -0
  301. data/lib/talon_one/models/generate_audit_log_summary.rb +212 -0
  302. data/lib/talon_one/models/generate_campaign_description.rb +16 -1
  303. data/lib/talon_one/models/generate_coupon_failure_detailed_summary.rb +286 -0
  304. data/lib/talon_one/models/generate_coupon_failure_summary.rb +222 -0
  305. data/lib/talon_one/models/generate_user_session_summary.rb +227 -0
  306. data/lib/talon_one/models/get_integration_coupon_request.rb +2 -0
  307. data/lib/talon_one/models/giveaway.rb +1 -1
  308. data/lib/talon_one/models/giveaways_pool.rb +1 -1
  309. data/lib/talon_one/models/import.rb +1 -1
  310. data/lib/talon_one/models/inline_response20040.rb +1 -1
  311. data/lib/talon_one/models/inline_response20041.rb +1 -1
  312. data/lib/talon_one/models/inline_response20042.rb +11 -7
  313. data/lib/talon_one/models/inline_response20043.rb +1 -1
  314. data/lib/talon_one/models/inline_response20044.rb +7 -11
  315. data/lib/talon_one/models/inline_response20045.rb +11 -7
  316. data/lib/talon_one/models/inline_response20046.rb +2 -21
  317. data/lib/talon_one/models/inline_response20047.rb +2 -25
  318. data/lib/talon_one/models/inline_response20050.rb +222 -0
  319. data/lib/talon_one/models/inline_response20051.rb +227 -0
  320. data/lib/talon_one/models/integration_coupon.rb +7 -7
  321. data/lib/talon_one/models/integration_customer_profile_audience_request.rb +208 -0
  322. data/lib/talon_one/models/integration_customer_profile_audience_request_item.rb +295 -0
  323. data/lib/talon_one/models/integration_event_v2_request.rb +13 -1
  324. data/lib/talon_one/models/inventory_coupon.rb +7 -7
  325. data/lib/talon_one/models/inventory_referral.rb +1 -1
  326. data/lib/talon_one/models/jwt.rb +228 -0
  327. data/lib/talon_one/models/label_target_audience.rb +260 -0
  328. data/lib/talon_one/models/label_target_none.rb +246 -0
  329. data/lib/talon_one/models/ledger_entry.rb +1 -1
  330. data/lib/talon_one/models/ledger_info.rb +0 -10
  331. data/lib/talon_one/models/ledger_points_entry_integration_api.rb +16 -1
  332. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +17 -2
  333. data/lib/talon_one/models/loyalty_card.rb +1 -1
  334. data/lib/talon_one/models/loyalty_dashboard_data.rb +16 -1
  335. data/lib/talon_one/models/loyalty_ledger_entry_expiry_date_change.rb +238 -0
  336. data/lib/talon_one/models/loyalty_program.rb +1 -1
  337. data/lib/talon_one/models/loyalty_program_balance.rb +0 -10
  338. data/lib/talon_one/models/loyalty_program_transaction.rb +16 -1
  339. data/lib/talon_one/models/loyalty_tier.rb +1 -1
  340. data/lib/talon_one/models/model_return.rb +1 -1
  341. data/lib/talon_one/models/multiple_audiences_item.rb +1 -1
  342. data/lib/talon_one/models/new_coupon_creation_job.rb +5 -5
  343. data/lib/talon_one/models/new_coupons.rb +5 -5
  344. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +5 -5
  345. data/lib/talon_one/models/new_loyalty_program.rb +1 -1
  346. data/lib/talon_one/models/new_message_test.rb +28 -43
  347. data/lib/talon_one/models/new_price_adjustment.rb +297 -0
  348. data/lib/talon_one/models/new_price_type.rb +270 -0
  349. data/lib/talon_one/models/new_secondary_deployment.rb +242 -0
  350. data/lib/talon_one/models/new_webhook.rb +29 -4
  351. data/lib/talon_one/models/pending_active_points_data.rb +308 -0
  352. data/lib/talon_one/models/pending_active_points_notification.rb +277 -0
  353. data/lib/talon_one/models/pending_points_notification_policy.rb +2 -0
  354. data/lib/talon_one/models/picklist.rb +1 -1
  355. data/lib/talon_one/models/price_detail.rb +247 -0
  356. data/lib/talon_one/models/price_type.rb +347 -0
  357. data/lib/talon_one/models/price_type_reference_detail.rb +286 -0
  358. data/lib/talon_one/models/price_type_references.rb +224 -0
  359. data/lib/talon_one/models/referral.rb +1 -1
  360. data/lib/talon_one/models/revision_activation_request.rb +224 -0
  361. data/lib/talon_one/models/role.rb +1 -1
  362. data/lib/talon_one/models/role_v2.rb +1 -1
  363. data/lib/talon_one/models/role_v2_roles_group.rb +14 -4
  364. data/lib/talon_one/models/ruleset.rb +1 -1
  365. data/lib/talon_one/models/saml_connection.rb +1 -1
  366. data/lib/talon_one/models/scim_base_group.rb +220 -0
  367. data/lib/talon_one/models/scim_group.rb +235 -0
  368. data/lib/talon_one/models/scim_group_member.rb +218 -0
  369. data/lib/talon_one/models/scim_groups_list_response.rb +236 -0
  370. data/lib/talon_one/models/secondary_deployment.rb +367 -0
  371. data/lib/talon_one/models/set_loyalty_points_expiry_date_effect_props.rb +255 -0
  372. data/lib/talon_one/models/store.rb +1 -1
  373. data/lib/talon_one/models/strikethrough_changed_item.rb +13 -1
  374. data/lib/talon_one/models/strikethrough_effect.rb +46 -4
  375. data/lib/talon_one/models/strikethrough_labeling_notification.rb +19 -4
  376. data/lib/talon_one/models/template_def.rb +1 -1
  377. data/lib/talon_one/models/tier_downgrade_data.rb +328 -0
  378. data/lib/talon_one/models/tier_downgrade_notification.rb +277 -0
  379. data/lib/talon_one/models/tier_downgrade_notification_policy.rb +2 -0
  380. data/lib/talon_one/models/tier_upgrade_data.rb +353 -0
  381. data/lib/talon_one/models/tier_upgrade_notification.rb +277 -0
  382. data/lib/talon_one/models/tier_upgrade_notification_policy.rb +2 -0
  383. data/lib/talon_one/models/tier_will_downgrade_data.rb +328 -0
  384. data/lib/talon_one/models/tier_will_downgrade_notification.rb +277 -0
  385. data/lib/talon_one/models/tier_will_downgrade_notification_policy.rb +2 -0
  386. data/lib/talon_one/models/update_achievement.rb +17 -7
  387. data/lib/talon_one/models/update_coupon.rb +5 -5
  388. data/lib/talon_one/models/update_coupon_batch.rb +5 -5
  389. data/lib/talon_one/models/update_coupons_data.rb +296 -0
  390. data/lib/talon_one/models/update_loyalty_program.rb +1 -1
  391. data/lib/talon_one/models/update_price_type.rb +239 -0
  392. data/lib/talon_one/models/user.rb +1 -1
  393. data/lib/talon_one/models/webhook.rb +30 -5
  394. data/lib/talon_one/models/webhook_authentication.rb +365 -0
  395. data/lib/talon_one/models/webhook_authentication_base.rb +274 -0
  396. data/lib/talon_one/models/webhook_authentication_data_basic.rb +227 -0
  397. data/lib/talon_one/models/webhook_authentication_data_custom.rb +213 -0
  398. data/lib/talon_one/models/webhook_authentication_webhook_ref.rb +258 -0
  399. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +27 -2
  400. data/lib/talon_one/version.rb +1 -1
  401. data/lib/talon_one.rb +73 -4
  402. data/spec/api/integration_api_spec.rb +26 -4
  403. data/spec/api/management_api_spec.rb +179 -51
  404. data/spec/models/account_limits_spec.rb +12 -0
  405. data/spec/models/achievement_base_spec.rb +7 -1
  406. data/spec/models/achievement_progress_with_definition_spec.rb +7 -1
  407. data/spec/models/achievement_spec.rb +7 -1
  408. data/spec/models/achievement_status_entry_spec.rb +7 -1
  409. data/spec/models/add_price_adjustment_catalog_action_spec.rb +47 -0
  410. data/spec/models/added_deducted_points_balances_notification_policy_spec.rb +51 -0
  411. data/spec/models/added_deducted_points_notification_spec.rb +125 -0
  412. data/spec/models/analytics_sku_spec.rb +12 -0
  413. data/spec/models/async_coupons_data_spec.rb +65 -0
  414. data/spec/models/audience_reference_spec.rb +53 -0
  415. data/spec/models/base_notification_spec.rb +1 -1
  416. data/spec/models/best_prior_price_metadata_spec.rb +47 -0
  417. data/spec/models/best_prior_price_request_spec.rb +65 -0
  418. data/spec/models/best_prior_price_request_target_spec.rb +51 -0
  419. data/spec/models/best_prior_price_spec.rb +71 -0
  420. data/spec/models/binding_spec.rb +24 -0
  421. data/spec/models/campaign_collection_edited_notification_item_spec.rb +59 -0
  422. data/spec/models/campaign_collection_edited_notification_spec.rb +3 -3
  423. data/spec/models/campaign_created_notification_item_spec.rb +59 -0
  424. data/spec/models/campaign_created_notification_spec.rb +3 -3
  425. data/spec/models/campaign_deactivation_request_spec.rb +41 -0
  426. data/spec/models/campaign_deleted_notification_item_spec.rb +53 -0
  427. data/spec/models/campaign_deleted_notification_spec.rb +8 -2
  428. data/spec/models/campaign_edited_notification_item_spec.rb +59 -0
  429. data/spec/models/campaign_edited_notification_spec.rb +3 -3
  430. data/spec/models/campaign_evaluation_tree_changed_message_spec.rb +53 -0
  431. data/spec/models/campaign_notification_base_spec.rb +47 -0
  432. data/spec/models/campaign_notification_generic_spec.rb +53 -0
  433. data/spec/models/campaign_notification_item_base_spec.rb +41 -0
  434. data/spec/models/campaign_ruleset_changed_notification_item_spec.rb +59 -0
  435. data/spec/models/campaign_ruleset_changed_notification_spec.rb +3 -3
  436. data/spec/models/campaign_state_changed_notification_item_spec.rb +65 -0
  437. data/spec/models/campaign_state_changed_notification_spec.rb +3 -9
  438. data/spec/models/card_added_deducted_points_balances_notification_policy_spec.rb +51 -0
  439. data/spec/models/card_added_deducted_points_notification_spec.rb +137 -0
  440. data/spec/models/card_ledger_points_entry_integration_api_spec.rb +6 -0
  441. data/spec/models/card_ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  442. data/spec/models/card_ledger_transaction_log_entry_spec.rb +6 -0
  443. data/spec/models/cart_item_spec.rb +30 -0
  444. data/spec/models/catalog_action_spec.rb +1 -1
  445. data/spec/models/catalogs_strikethrough_notification_policy_spec.rb +6 -0
  446. data/spec/models/coupon_entity_spec.rb +47 -0
  447. data/spec/models/coupons_notification_data_spec.rb +71 -0
  448. data/spec/models/create_achievement_spec.rb +7 -1
  449. data/spec/models/create_coupon_data_spec.rb +77 -0
  450. data/spec/models/customer_profile_entity_spec.rb +47 -0
  451. data/spec/models/delete_coupons_data_spec.rb +83 -0
  452. data/spec/models/effect_entity_spec.rb +18 -0
  453. data/spec/models/effect_spec.rb +18 -0
  454. data/spec/models/environment_spec.rb +6 -0
  455. data/spec/models/expiring_card_points_data_spec.rb +77 -0
  456. data/spec/models/expiring_card_points_notification_spec.rb +57 -0
  457. data/spec/models/expiring_coupons_data_spec.rb +95 -0
  458. data/spec/models/expiring_coupons_notification_spec.rb +57 -0
  459. data/spec/models/expiring_points_data_spec.rb +65 -0
  460. data/spec/models/expiring_points_notification_spec.rb +57 -0
  461. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +59 -0
  462. data/spec/models/extended_coupon_spec.rb +173 -0
  463. data/spec/models/generate_audit_log_summary_spec.rb +41 -0
  464. data/spec/models/generate_campaign_description_spec.rb +6 -0
  465. data/spec/models/generate_coupon_failure_detailed_summary_spec.rb +65 -0
  466. data/spec/models/generate_coupon_failure_summary_spec.rb +47 -0
  467. data/spec/models/generate_user_session_summary_spec.rb +47 -0
  468. data/spec/models/inline_response20042_spec.rb +6 -0
  469. data/spec/models/inline_response20044_spec.rb +0 -6
  470. data/spec/models/inline_response20045_spec.rb +6 -0
  471. data/spec/models/inline_response20046_spec.rb +0 -6
  472. data/spec/models/inline_response20047_spec.rb +0 -12
  473. data/spec/models/inline_response20050_spec.rb +47 -0
  474. data/spec/models/inline_response20051_spec.rb +47 -0
  475. data/spec/models/integration_customer_profile_audience_request_item_spec.rb +57 -0
  476. data/spec/models/integration_customer_profile_audience_request_spec.rb +41 -0
  477. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  478. data/spec/models/jwt_spec.rb +47 -0
  479. data/spec/models/label_target_audience_spec.rb +51 -0
  480. data/spec/models/label_target_none_spec.rb +45 -0
  481. data/spec/models/ledger_points_entry_integration_api_spec.rb +6 -0
  482. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  483. data/spec/models/loyalty_dashboard_data_spec.rb +6 -0
  484. data/spec/models/loyalty_ledger_entry_expiry_date_change_spec.rb +53 -0
  485. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  486. data/spec/models/new_message_test_spec.rb +10 -14
  487. data/spec/models/new_price_adjustment_spec.rb +77 -0
  488. data/spec/models/new_price_type_spec.rb +59 -0
  489. data/spec/models/new_secondary_deployment_spec.rb +41 -0
  490. data/spec/models/new_webhook_spec.rb +12 -0
  491. data/spec/models/pending_active_points_data_spec.rb +77 -0
  492. data/spec/models/pending_active_points_notification_spec.rb +57 -0
  493. data/spec/models/price_detail_spec.rb +65 -0
  494. data/spec/models/price_type_reference_detail_spec.rb +63 -0
  495. data/spec/models/price_type_references_spec.rb +47 -0
  496. data/spec/models/price_type_spec.rb +89 -0
  497. data/spec/models/role_v2_roles_group_spec.rb +6 -0
  498. data/spec/models/scim_base_group_spec.rb +47 -0
  499. data/spec/models/scim_group_member_spec.rb +47 -0
  500. data/spec/models/scim_group_spec.rb +53 -0
  501. data/spec/models/scim_groups_list_response_spec.rb +53 -0
  502. data/spec/models/secondary_deployment_spec.rb +87 -0
  503. data/spec/models/set_loyalty_points_expiry_date_effect_props_spec.rb +59 -0
  504. data/spec/models/strikethrough_changed_item_spec.rb +6 -0
  505. data/spec/models/strikethrough_effect_spec.rb +24 -0
  506. data/spec/models/strikethrough_labeling_notification_spec.rb +6 -0
  507. data/spec/models/tier_downgrade_data_spec.rb +83 -0
  508. data/spec/models/tier_downgrade_notification_spec.rb +57 -0
  509. data/spec/models/tier_upgrade_data_spec.rb +95 -0
  510. data/spec/models/tier_upgrade_notification_spec.rb +57 -0
  511. data/spec/models/tier_will_downgrade_data_spec.rb +83 -0
  512. data/spec/models/tier_will_downgrade_notification_spec.rb +57 -0
  513. data/spec/models/update_achievement_spec.rb +7 -1
  514. data/spec/models/update_coupons_data_spec.rb +77 -0
  515. data/spec/models/update_price_type_spec.rb +53 -0
  516. data/spec/models/webhook_authentication_base_spec.rb +57 -0
  517. data/spec/models/webhook_authentication_data_basic_spec.rb +47 -0
  518. data/spec/models/webhook_authentication_data_custom_spec.rb +41 -0
  519. data/spec/models/webhook_authentication_spec.rb +93 -0
  520. data/spec/models/webhook_authentication_webhook_ref_spec.rb +53 -0
  521. data/spec/models/webhook_spec.rb +12 -0
  522. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +12 -0
  523. metadata +305 -3
  524. data/.github/dependabot.yml +0 -10
@@ -0,0 +1,478 @@
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 AddedDeductedPointsNotification
17
+ # The integration ID of the customer profile to whom points were added or deducted.
18
+ attr_accessor :profile_integration_id
19
+
20
+ # The ID of the loyalty program.
21
+ attr_accessor :loyalty_program_id
22
+
23
+ # The ID of the subledger within the loyalty program where these points were added.
24
+ attr_accessor :subledger_id
25
+
26
+ # The amount of added or deducted loyalty points.
27
+ attr_accessor :amount
28
+
29
+ # The reason for the points addition or deduction.
30
+ attr_accessor :reason
31
+
32
+ # The notification source, that is, it indicates whether the points were added or deducted via one of the following routes: - [The Campaign Manager](/docs/product/getting-started) - [Management API](/management-api#tag/Loyalty) - [Rule Engine](/docs/product/applications/evaluation-order-for-rules-and-filters)
33
+ attr_accessor :type_of_change
34
+
35
+ # The name of the employee who added or deducted points.
36
+ attr_accessor :employee_name
37
+
38
+ # The ID of the employee who added or deducted points.
39
+ attr_accessor :user_id
40
+
41
+ # The action (addition or deduction) made with loyalty points.
42
+ attr_accessor :operation
43
+
44
+ # The start date for loyalty points.
45
+ attr_accessor :start_date
46
+
47
+ # The expiration date for loyalty points.
48
+ attr_accessor :expiry_date
49
+
50
+ # The integration ID of the session through which the points were earned or lost.
51
+ attr_accessor :session_integration_id
52
+
53
+ # The type of notification.
54
+ attr_accessor :notification_type
55
+
56
+ class EnumAttributeValidator
57
+ attr_reader :datatype
58
+ attr_reader :allowable_values
59
+
60
+ def initialize(datatype, allowable_values)
61
+ @allowable_values = allowable_values.map do |value|
62
+ case datatype.to_s
63
+ when /Integer/i
64
+ value.to_i
65
+ when /Float/i
66
+ value.to_f
67
+ else
68
+ value
69
+ end
70
+ end
71
+ end
72
+
73
+ def valid?(value)
74
+ !value || allowable_values.include?(value)
75
+ end
76
+ end
77
+
78
+ # Attribute mapping from ruby-style variable name to JSON key.
79
+ def self.attribute_map
80
+ {
81
+ :'profile_integration_id' => :'ProfileIntegrationID',
82
+ :'loyalty_program_id' => :'LoyaltyProgramID',
83
+ :'subledger_id' => :'SubledgerID',
84
+ :'amount' => :'Amount',
85
+ :'reason' => :'Reason',
86
+ :'type_of_change' => :'TypeOfChange',
87
+ :'employee_name' => :'EmployeeName',
88
+ :'user_id' => :'UserID',
89
+ :'operation' => :'Operation',
90
+ :'start_date' => :'StartDate',
91
+ :'expiry_date' => :'ExpiryDate',
92
+ :'session_integration_id' => :'SessionIntegrationID',
93
+ :'notification_type' => :'NotificationType'
94
+ }
95
+ end
96
+
97
+ # Attribute type mapping.
98
+ def self.openapi_types
99
+ {
100
+ :'profile_integration_id' => :'String',
101
+ :'loyalty_program_id' => :'Integer',
102
+ :'subledger_id' => :'String',
103
+ :'amount' => :'Float',
104
+ :'reason' => :'String',
105
+ :'type_of_change' => :'String',
106
+ :'employee_name' => :'String',
107
+ :'user_id' => :'Integer',
108
+ :'operation' => :'String',
109
+ :'start_date' => :'DateTime',
110
+ :'expiry_date' => :'DateTime',
111
+ :'session_integration_id' => :'String',
112
+ :'notification_type' => :'String'
113
+ }
114
+ end
115
+
116
+ # List of attributes with nullable: true
117
+ def self.openapi_nullable
118
+ Set.new([
119
+ ])
120
+ end
121
+
122
+ # Initializes the object
123
+ # @param [Hash] attributes Model attributes in the form of hash
124
+ def initialize(attributes = {})
125
+ if (!attributes.is_a?(Hash))
126
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::AddedDeductedPointsNotification` initialize method"
127
+ end
128
+
129
+ # check to see if the attribute exists and convert string to symbol for hash key
130
+ attributes = attributes.each_with_object({}) { |(k, v), h|
131
+ if (!self.class.attribute_map.key?(k.to_sym))
132
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::AddedDeductedPointsNotification`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
133
+ end
134
+ h[k.to_sym] = v
135
+ }
136
+
137
+ if attributes.key?(:'profile_integration_id')
138
+ self.profile_integration_id = attributes[:'profile_integration_id']
139
+ end
140
+
141
+ if attributes.key?(:'loyalty_program_id')
142
+ self.loyalty_program_id = attributes[:'loyalty_program_id']
143
+ end
144
+
145
+ if attributes.key?(:'subledger_id')
146
+ self.subledger_id = attributes[:'subledger_id']
147
+ end
148
+
149
+ if attributes.key?(:'amount')
150
+ self.amount = attributes[:'amount']
151
+ end
152
+
153
+ if attributes.key?(:'reason')
154
+ self.reason = attributes[:'reason']
155
+ end
156
+
157
+ if attributes.key?(:'type_of_change')
158
+ self.type_of_change = attributes[:'type_of_change']
159
+ end
160
+
161
+ if attributes.key?(:'employee_name')
162
+ self.employee_name = attributes[:'employee_name']
163
+ end
164
+
165
+ if attributes.key?(:'user_id')
166
+ self.user_id = attributes[:'user_id']
167
+ end
168
+
169
+ if attributes.key?(:'operation')
170
+ self.operation = attributes[:'operation']
171
+ end
172
+
173
+ if attributes.key?(:'start_date')
174
+ self.start_date = attributes[:'start_date']
175
+ end
176
+
177
+ if attributes.key?(:'expiry_date')
178
+ self.expiry_date = attributes[:'expiry_date']
179
+ end
180
+
181
+ if attributes.key?(:'session_integration_id')
182
+ self.session_integration_id = attributes[:'session_integration_id']
183
+ end
184
+
185
+ if attributes.key?(:'notification_type')
186
+ self.notification_type = attributes[:'notification_type']
187
+ end
188
+ end
189
+
190
+ # Show invalid properties with the reasons. Usually used together with valid?
191
+ # @return Array for valid properties with the reasons
192
+ def list_invalid_properties
193
+ invalid_properties = Array.new
194
+ if @profile_integration_id.nil?
195
+ invalid_properties.push('invalid value for "profile_integration_id", profile_integration_id cannot be nil.')
196
+ end
197
+
198
+ if @loyalty_program_id.nil?
199
+ invalid_properties.push('invalid value for "loyalty_program_id", loyalty_program_id cannot be nil.')
200
+ end
201
+
202
+ if @loyalty_program_id < 1
203
+ invalid_properties.push('invalid value for "loyalty_program_id", must be greater than or equal to 1.')
204
+ end
205
+
206
+ if @subledger_id.nil?
207
+ invalid_properties.push('invalid value for "subledger_id", subledger_id cannot be nil.')
208
+ end
209
+
210
+ if @amount.nil?
211
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
212
+ end
213
+
214
+ if @reason.nil?
215
+ invalid_properties.push('invalid value for "reason", reason cannot be nil.')
216
+ end
217
+
218
+ if @type_of_change.nil?
219
+ invalid_properties.push('invalid value for "type_of_change", type_of_change cannot be nil.')
220
+ end
221
+
222
+ if @employee_name.nil?
223
+ invalid_properties.push('invalid value for "employee_name", employee_name cannot be nil.')
224
+ end
225
+
226
+ if @user_id.nil?
227
+ invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
228
+ end
229
+
230
+ if @user_id < 1
231
+ invalid_properties.push('invalid value for "user_id", must be greater than or equal to 1.')
232
+ end
233
+
234
+ if @operation.nil?
235
+ invalid_properties.push('invalid value for "operation", operation cannot be nil.')
236
+ end
237
+
238
+ if @session_integration_id.nil?
239
+ invalid_properties.push('invalid value for "session_integration_id", session_integration_id cannot be nil.')
240
+ end
241
+
242
+ if @notification_type.nil?
243
+ invalid_properties.push('invalid value for "notification_type", notification_type cannot be nil.')
244
+ end
245
+
246
+ invalid_properties
247
+ end
248
+
249
+ # Check to see if the all the properties in the model are valid
250
+ # @return true if the model is valid
251
+ def valid?
252
+ return false if @profile_integration_id.nil?
253
+ return false if @loyalty_program_id.nil?
254
+ return false if @loyalty_program_id < 1
255
+ return false if @subledger_id.nil?
256
+ return false if @amount.nil?
257
+ return false if @reason.nil?
258
+ return false if @type_of_change.nil?
259
+ type_of_change_validator = EnumAttributeValidator.new('String', ["campaign_manager", "rule_engine", "management_api"])
260
+ return false unless type_of_change_validator.valid?(@type_of_change)
261
+ return false if @employee_name.nil?
262
+ return false if @user_id.nil?
263
+ return false if @user_id < 1
264
+ return false if @operation.nil?
265
+ operation_validator = EnumAttributeValidator.new('String', ["addition", "deduction"])
266
+ return false unless operation_validator.valid?(@operation)
267
+ return false if @session_integration_id.nil?
268
+ return false if @notification_type.nil?
269
+ notification_type_validator = EnumAttributeValidator.new('String', ["LoyaltyPointsDeducted", "LoyaltyPointsAdded"])
270
+ return false unless notification_type_validator.valid?(@notification_type)
271
+ true
272
+ end
273
+
274
+ # Custom attribute writer method with validation
275
+ # @param [Object] loyalty_program_id Value to be assigned
276
+ def loyalty_program_id=(loyalty_program_id)
277
+ if loyalty_program_id.nil?
278
+ fail ArgumentError, 'loyalty_program_id cannot be nil'
279
+ end
280
+
281
+ if loyalty_program_id < 1
282
+ fail ArgumentError, 'invalid value for "loyalty_program_id", must be greater than or equal to 1.'
283
+ end
284
+
285
+ @loyalty_program_id = loyalty_program_id
286
+ end
287
+
288
+ # Custom attribute writer method checking allowed values (enum).
289
+ # @param [Object] type_of_change Object to be assigned
290
+ def type_of_change=(type_of_change)
291
+ validator = EnumAttributeValidator.new('String', ["campaign_manager", "rule_engine", "management_api"])
292
+ unless validator.valid?(type_of_change)
293
+ fail ArgumentError, "invalid value for \"type_of_change\", must be one of #{validator.allowable_values}."
294
+ end
295
+ @type_of_change = type_of_change
296
+ end
297
+
298
+ # Custom attribute writer method with validation
299
+ # @param [Object] user_id Value to be assigned
300
+ def user_id=(user_id)
301
+ if user_id.nil?
302
+ fail ArgumentError, 'user_id cannot be nil'
303
+ end
304
+
305
+ if user_id < 1
306
+ fail ArgumentError, 'invalid value for "user_id", must be greater than or equal to 1.'
307
+ end
308
+
309
+ @user_id = user_id
310
+ end
311
+
312
+ # Custom attribute writer method checking allowed values (enum).
313
+ # @param [Object] operation Object to be assigned
314
+ def operation=(operation)
315
+ validator = EnumAttributeValidator.new('String', ["addition", "deduction"])
316
+ unless validator.valid?(operation)
317
+ fail ArgumentError, "invalid value for \"operation\", must be one of #{validator.allowable_values}."
318
+ end
319
+ @operation = operation
320
+ end
321
+
322
+ # Custom attribute writer method checking allowed values (enum).
323
+ # @param [Object] notification_type Object to be assigned
324
+ def notification_type=(notification_type)
325
+ validator = EnumAttributeValidator.new('String', ["LoyaltyPointsDeducted", "LoyaltyPointsAdded"])
326
+ unless validator.valid?(notification_type)
327
+ fail ArgumentError, "invalid value for \"notification_type\", must be one of #{validator.allowable_values}."
328
+ end
329
+ @notification_type = notification_type
330
+ end
331
+
332
+ # Checks equality by comparing each attribute.
333
+ # @param [Object] Object to be compared
334
+ def ==(o)
335
+ return true if self.equal?(o)
336
+ self.class == o.class &&
337
+ profile_integration_id == o.profile_integration_id &&
338
+ loyalty_program_id == o.loyalty_program_id &&
339
+ subledger_id == o.subledger_id &&
340
+ amount == o.amount &&
341
+ reason == o.reason &&
342
+ type_of_change == o.type_of_change &&
343
+ employee_name == o.employee_name &&
344
+ user_id == o.user_id &&
345
+ operation == o.operation &&
346
+ start_date == o.start_date &&
347
+ expiry_date == o.expiry_date &&
348
+ session_integration_id == o.session_integration_id &&
349
+ notification_type == o.notification_type
350
+ end
351
+
352
+ # @see the `==` method
353
+ # @param [Object] Object to be compared
354
+ def eql?(o)
355
+ self == o
356
+ end
357
+
358
+ # Calculates hash code according to all attributes.
359
+ # @return [Integer] Hash code
360
+ def hash
361
+ [profile_integration_id, loyalty_program_id, subledger_id, amount, reason, type_of_change, employee_name, user_id, operation, start_date, expiry_date, session_integration_id, notification_type].hash
362
+ end
363
+
364
+ # Builds the object from hash
365
+ # @param [Hash] attributes Model attributes in the form of hash
366
+ # @return [Object] Returns the model itself
367
+ def self.build_from_hash(attributes)
368
+ new.build_from_hash(attributes)
369
+ end
370
+
371
+ # Builds the object from hash
372
+ # @param [Hash] attributes Model attributes in the form of hash
373
+ # @return [Object] Returns the model itself
374
+ def build_from_hash(attributes)
375
+ return nil unless attributes.is_a?(Hash)
376
+ self.class.openapi_types.each_pair do |key, type|
377
+ if type =~ /\AArray<(.*)>/i
378
+ # check to ensure the input is an array given that the attribute
379
+ # is documented as an array but the input is not
380
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
381
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
382
+ end
383
+ elsif !attributes[self.class.attribute_map[key]].nil?
384
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
385
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
386
+ end
387
+
388
+ self
389
+ end
390
+
391
+ # Deserializes the data based on type
392
+ # @param string type Data type
393
+ # @param string value Value to be deserialized
394
+ # @return [Object] Deserialized data
395
+ def _deserialize(type, value)
396
+ case type.to_sym
397
+ when :DateTime
398
+ DateTime.parse(value)
399
+ when :Date
400
+ Date.parse(value)
401
+ when :String
402
+ value.to_s
403
+ when :Integer
404
+ value.to_i
405
+ when :Float
406
+ value.to_f
407
+ when :Boolean
408
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
409
+ true
410
+ else
411
+ false
412
+ end
413
+ when :Object
414
+ # generic object (usually a Hash), return directly
415
+ value
416
+ when /\AArray<(?<inner_type>.+)>\z/
417
+ inner_type = Regexp.last_match[:inner_type]
418
+ value.map { |v| _deserialize(inner_type, v) }
419
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
420
+ k_type = Regexp.last_match[:k_type]
421
+ v_type = Regexp.last_match[:v_type]
422
+ {}.tap do |hash|
423
+ value.each do |k, v|
424
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
425
+ end
426
+ end
427
+ else # model
428
+ TalonOne.const_get(type).build_from_hash(value)
429
+ end
430
+ end
431
+
432
+ # Returns the string representation of the object
433
+ # @return [String] String presentation of the object
434
+ def to_s
435
+ to_hash.to_s
436
+ end
437
+
438
+ # to_body is an alias to to_hash (backward compatibility)
439
+ # @return [Hash] Returns the object in the form of hash
440
+ def to_body
441
+ to_hash
442
+ end
443
+
444
+ # Returns the object in the form of hash
445
+ # @return [Hash] Returns the object in the form of hash
446
+ def to_hash
447
+ hash = {}
448
+ self.class.attribute_map.each_pair do |attr, param|
449
+ value = self.send(attr)
450
+ if value.nil?
451
+ is_nullable = self.class.openapi_nullable.include?(attr)
452
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
453
+ end
454
+
455
+ hash[param] = _to_hash(value)
456
+ end
457
+ hash
458
+ end
459
+
460
+ # Outputs non-array value in the form of hash
461
+ # For object, use to_hash. Otherwise, just return the value
462
+ # @param [Object] value Any valid value
463
+ # @return [Hash] Returns the value in the form of hash
464
+ def _to_hash(value)
465
+ if value.is_a?(Array)
466
+ value.compact.map { |v| _to_hash(v) }
467
+ elsif value.is_a?(Hash)
468
+ {}.tap do |hash|
469
+ value.each { |k, v| hash[k] = _to_hash(v) }
470
+ end
471
+ elsif value.respond_to? :to_hash
472
+ value.to_hash
473
+ else
474
+ value
475
+ end
476
+ end
477
+ end
478
+ end
@@ -14,15 +14,21 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class AnalyticsSKU
17
- # The ID of the SKU linked to the application.
17
+ # The ID of the SKU linked to the Application.
18
18
  attr_accessor :id
19
19
 
20
- # The SKU linked to the application.
20
+ # The SKU linked to the Application.
21
21
  attr_accessor :sku
22
22
 
23
23
  # Values in UTC for the date the SKU linked to the product was last updated.
24
24
  attr_accessor :last_updated
25
25
 
26
+ # The ID of the catalog that contains the SKU.
27
+ attr_accessor :catalog_id
28
+
29
+ # The ID of the product that the SKU belongs to.
30
+ attr_accessor :product_id
31
+
26
32
  attr_accessor :units_sold
27
33
 
28
34
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -31,6 +37,8 @@ module TalonOne
31
37
  :'id' => :'id',
32
38
  :'sku' => :'sku',
33
39
  :'last_updated' => :'lastUpdated',
40
+ :'catalog_id' => :'catalogId',
41
+ :'product_id' => :'productId',
34
42
  :'units_sold' => :'unitsSold'
35
43
  }
36
44
  end
@@ -41,6 +49,8 @@ module TalonOne
41
49
  :'id' => :'Integer',
42
50
  :'sku' => :'String',
43
51
  :'last_updated' => :'DateTime',
52
+ :'catalog_id' => :'Integer',
53
+ :'product_id' => :'Integer',
44
54
  :'units_sold' => :'AnalyticsDataPointWithTrend'
45
55
  }
46
56
  end
@@ -78,6 +88,14 @@ module TalonOne
78
88
  self.last_updated = attributes[:'last_updated']
79
89
  end
80
90
 
91
+ if attributes.key?(:'catalog_id')
92
+ self.catalog_id = attributes[:'catalog_id']
93
+ end
94
+
95
+ if attributes.key?(:'product_id')
96
+ self.product_id = attributes[:'product_id']
97
+ end
98
+
81
99
  if attributes.key?(:'units_sold')
82
100
  self.units_sold = attributes[:'units_sold']
83
101
  end
@@ -114,6 +132,8 @@ module TalonOne
114
132
  id == o.id &&
115
133
  sku == o.sku &&
116
134
  last_updated == o.last_updated &&
135
+ catalog_id == o.catalog_id &&
136
+ product_id == o.product_id &&
117
137
  units_sold == o.units_sold
118
138
  end
119
139
 
@@ -126,7 +146,7 @@ module TalonOne
126
146
  # Calculates hash code according to all attributes.
127
147
  # @return [Integer] Hash code
128
148
  def hash
129
- [id, sku, last_updated, units_sold].hash
149
+ [id, sku, last_updated, catalog_id, product_id, units_sold].hash
130
150
  end
131
151
 
132
152
  # Builds the object from hash
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class Application
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 ApplicationCIF
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 ApplicationCIFExpression
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 ApplicationCustomer
17
- # Internal ID of this entity.
17
+ # The internal ID of the customer profile.
18
18
  attr_accessor :id
19
19
 
20
20
  # The time this entity was created.
@@ -29,13 +29,13 @@ module TalonOne
29
29
  # The ID of the Talon.One account that owns this profile.
30
30
  attr_accessor :account_id
31
31
 
32
- # The total amount of closed sessions by a customer. A closed session is a successful purchase.
32
+ # The total number of closed sessions. Does not include closed sessions that have been cancelled or reopened. See the [docs](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states).
33
33
  attr_accessor :closed_sessions
34
34
 
35
35
  # The total amount of money spent by the customer **before** discounts are applied. The total sales amount excludes the following: - Cancelled or reopened sessions. - Returned items.
36
36
  attr_accessor :total_sales
37
37
 
38
- # **DEPRECATED** A list of loyalty programs joined by the customer.
38
+ # **DEPRECATED. Always returns `null`.** A list of loyalty programs joined by the customer.
39
39
  attr_accessor :loyalty_memberships
40
40
 
41
41
  # The audiences the customer belongs to.
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class ApplicationEvent
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 ApplicationSession
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.