talon_one 10.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 (339) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autorelease.yml +123 -0
  3. data/README.md +55 -11
  4. data/docker-compose.yml +2 -2
  5. data/docs/AccountLimits.md +5 -1
  6. data/docs/Achievement.md +2 -0
  7. data/docs/AchievementBase.md +3 -1
  8. data/docs/AchievementProgressWithDefinition.md +3 -1
  9. data/docs/AchievementStatusEntry.md +2 -0
  10. data/docs/AddLoyaltyPoints.md +1 -1
  11. data/docs/AddedDeductedPointsNotification.md +41 -0
  12. data/docs/AnalyticsSKU.md +6 -2
  13. data/docs/ApplicationCustomer.md +1 -1
  14. data/docs/AsyncCouponsData.md +25 -0
  15. data/docs/AudienceCustomer.md +1 -1
  16. data/docs/AudienceReference.md +21 -0
  17. data/docs/BaseLoyaltyProgram.md +1 -1
  18. data/docs/BestPriorPrice.md +27 -0
  19. data/docs/BestPriorPriceMetadata.md +19 -0
  20. data/docs/BestPriorPriceRequest.md +25 -0
  21. data/docs/BestPriorPriceRequestTarget.md +19 -0
  22. data/docs/CampaignCollectionEditedNotification.md +6 -6
  23. data/docs/CampaignCollectionEditedNotificationItem.md +23 -0
  24. data/docs/CampaignCreatedNotification.md +6 -6
  25. data/docs/CampaignCreatedNotificationItem.md +23 -0
  26. data/docs/CampaignDeletedNotification.md +6 -4
  27. data/docs/CampaignDeletedNotificationItem.md +21 -0
  28. data/docs/CampaignEditedNotification.md +6 -6
  29. data/docs/CampaignEditedNotificationItem.md +23 -0
  30. data/docs/CampaignEvaluationTreeChangedMessage.md +21 -0
  31. data/docs/CampaignNotificationBase.md +19 -0
  32. data/docs/CampaignNotificationGeneric.md +21 -0
  33. data/docs/CampaignNotificationItemBase.md +17 -0
  34. data/docs/CampaignNotificationPolicy.md +1 -1
  35. data/docs/CampaignRulesetChangedNotification.md +6 -6
  36. data/docs/CampaignRulesetChangedNotificationItem.md +23 -0
  37. data/docs/CampaignStateChangedNotification.md +6 -8
  38. data/docs/CampaignStateChangedNotificationItem.md +25 -0
  39. data/docs/CardAddedDeductedPointsNotification.md +45 -0
  40. data/docs/CardExpiringPointsNotificationPolicy.md +1 -1
  41. data/docs/CardLedgerPointsEntryIntegrationAPI.md +2 -0
  42. data/docs/CardLedgerTransactionLogEntry.md +3 -1
  43. data/docs/CardLedgerTransactionLogEntryIntegrationAPI.md +3 -1
  44. data/docs/CatalogsStrikethroughNotificationPolicy.md +3 -1
  45. data/docs/CouponsNotificationData.md +27 -0
  46. data/docs/CouponsNotificationPolicy.md +1 -1
  47. data/docs/CreateAchievement.md +3 -1
  48. data/docs/CreateCouponData.md +29 -0
  49. data/docs/CustomerProfile.md +1 -1
  50. data/docs/DeleteCouponsData.md +31 -0
  51. data/docs/Effect.md +1 -1
  52. data/docs/ExpiringCardPointsData.md +29 -0
  53. data/docs/ExpiringCardPointsNotification.md +21 -0
  54. data/docs/ExpiringCouponsData.md +35 -0
  55. data/docs/ExpiringCouponsNotification.md +21 -0
  56. data/docs/ExpiringCouponsNotificationPolicy.md +1 -1
  57. data/docs/ExpiringPointsData.md +25 -0
  58. data/docs/ExpiringPointsNotification.md +21 -0
  59. data/docs/ExpiringPointsNotificationPolicy.md +1 -1
  60. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +2 -4
  61. data/docs/ExtendedCoupon.md +61 -0
  62. data/docs/GenerateAuditLogSummary.md +17 -0
  63. data/docs/GenerateCampaignDescription.md +3 -1
  64. data/docs/GenerateCouponFailureDetailedSummary.md +25 -0
  65. data/docs/GenerateCouponFailureSummary.md +19 -0
  66. data/docs/GenerateUserSessionSummary.md +19 -0
  67. data/docs/GetIntegrationCouponRequest.md +1 -1
  68. data/docs/InlineResponse20040.md +1 -1
  69. data/docs/InlineResponse20041.md +1 -1
  70. data/docs/InlineResponse20042.md +4 -2
  71. data/docs/InlineResponse20043.md +1 -1
  72. data/docs/InlineResponse20044.md +2 -4
  73. data/docs/InlineResponse20045.md +5 -3
  74. data/docs/InlineResponse20046.md +2 -4
  75. data/docs/InlineResponse20047.md +2 -6
  76. data/docs/InlineResponse20048.md +4 -2
  77. data/docs/InlineResponse20049.md +4 -2
  78. data/docs/IntegrationApi.md +88 -3
  79. data/docs/JWT.md +19 -0
  80. data/docs/LabelTargetAudience.md +19 -0
  81. data/docs/LabelTargetNone.md +17 -0
  82. data/docs/LedgerPointsEntryIntegrationAPI.md +2 -0
  83. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +3 -1
  84. data/docs/LoyaltyDashboardData.md +2 -0
  85. data/docs/LoyaltyLedgerEntryExpiryDateChange.md +21 -0
  86. data/docs/LoyaltyProgram.md +1 -1
  87. data/docs/LoyaltyProgramTransaction.md +2 -0
  88. data/docs/ManagementApi.md +1083 -366
  89. data/docs/NewLoyaltyProgram.md +1 -1
  90. data/docs/NewMessageTest.md +6 -6
  91. data/docs/NewPriceAdjustment.md +3 -1
  92. data/docs/NewPriceType.md +4 -4
  93. data/docs/NewSecondaryDeployment.md +17 -0
  94. data/docs/NewWebhook.md +3 -1
  95. data/docs/PendingActivePointsData.md +29 -0
  96. data/docs/PendingActivePointsNotification.md +21 -0
  97. data/docs/PendingPointsNotificationPolicy.md +1 -1
  98. data/docs/PriceDetail.md +2 -0
  99. data/docs/PriceType.md +4 -4
  100. data/docs/PriceTypeReferenceDetail.md +23 -0
  101. data/docs/PriceTypeReferences.md +19 -0
  102. data/docs/RoleV2RolesGroup.md +3 -1
  103. data/docs/SecondaryDeployment.md +31 -0
  104. data/docs/SetLoyaltyPointsExpiryDateEffectProps.md +23 -0
  105. data/docs/StrikethroughChangedItem.md +2 -0
  106. data/docs/StrikethroughEffect.md +9 -1
  107. data/docs/StrikethroughLabelingNotification.md +3 -1
  108. data/docs/TierDowngradeData.md +31 -0
  109. data/docs/TierDowngradeNotification.md +21 -0
  110. data/docs/TierDowngradeNotificationPolicy.md +1 -1
  111. data/docs/TierUpgradeData.md +35 -0
  112. data/docs/TierUpgradeNotification.md +21 -0
  113. data/docs/TierUpgradeNotificationPolicy.md +1 -1
  114. data/docs/TierWillDowngradeData.md +31 -0
  115. data/docs/TierWillDowngradeNotification.md +21 -0
  116. data/docs/TierWillDowngradeNotificationPolicy.md +1 -1
  117. data/docs/UpdateAchievement.md +3 -1
  118. data/docs/UpdateCouponsData.md +29 -0
  119. data/docs/UpdateLoyaltyProgram.md +1 -1
  120. data/docs/UpdatePriceType.md +21 -0
  121. data/docs/Webhook.md +3 -1
  122. data/docs/WebhookWithOutgoingIntegrationDetails.md +2 -0
  123. data/lib/talon_one/api/integration_api.rb +104 -2
  124. data/lib/talon_one/api/management_api.rb +226 -400
  125. data/lib/talon_one/models/account_limits.rb +34 -4
  126. data/lib/talon_one/models/achievement.rb +11 -1
  127. data/lib/talon_one/models/achievement_base.rb +14 -4
  128. data/lib/talon_one/models/achievement_progress_with_definition.rb +14 -4
  129. data/lib/talon_one/models/achievement_status_entry.rb +11 -1
  130. data/lib/talon_one/models/add_loyalty_points.rb +1 -10
  131. data/lib/talon_one/models/added_deducted_points_notification.rb +478 -0
  132. data/lib/talon_one/models/analytics_sku.rb +23 -3
  133. data/lib/talon_one/models/application_customer.rb +1 -1
  134. data/lib/talon_one/models/async_coupons_data.rb +272 -0
  135. data/lib/talon_one/models/audience_customer.rb +1 -1
  136. data/lib/talon_one/models/audience_reference.rb +256 -0
  137. data/lib/talon_one/models/base_loyalty_program.rb +1 -1
  138. data/lib/talon_one/models/best_prior_price.rb +285 -0
  139. data/lib/talon_one/models/best_prior_price_metadata.rb +219 -0
  140. data/lib/talon_one/models/best_prior_price_request.rb +268 -0
  141. data/lib/talon_one/models/best_prior_price_request_target.rb +257 -0
  142. data/lib/talon_one/models/campaign_collection_edited_notification.rb +30 -26
  143. data/lib/talon_one/models/campaign_collection_edited_notification_item.rb +250 -0
  144. data/lib/talon_one/models/campaign_created_notification.rb +30 -26
  145. data/lib/talon_one/models/campaign_created_notification_item.rb +250 -0
  146. data/lib/talon_one/models/campaign_deleted_notification.rb +33 -21
  147. data/lib/talon_one/models/campaign_deleted_notification_item.rb +242 -0
  148. data/lib/talon_one/models/campaign_edited_notification.rb +30 -26
  149. data/lib/talon_one/models/campaign_edited_notification_item.rb +250 -0
  150. data/lib/talon_one/models/campaign_evaluation_tree_changed_message.rb +239 -0
  151. data/lib/talon_one/models/campaign_notification_base.rb +227 -0
  152. data/lib/talon_one/models/campaign_notification_generic.rb +244 -0
  153. data/lib/talon_one/models/campaign_notification_item_base.rb +212 -0
  154. data/lib/talon_one/models/campaign_notification_policy.rb +2 -0
  155. data/lib/talon_one/models/campaign_ruleset_changed_notification.rb +32 -23
  156. data/lib/talon_one/models/campaign_ruleset_changed_notification_item.rb +245 -0
  157. data/lib/talon_one/models/campaign_state_changed_notification.rb +30 -42
  158. data/lib/talon_one/models/campaign_state_changed_notification_item.rb +266 -0
  159. data/lib/talon_one/models/card_added_deducted_points_notification.rb +510 -0
  160. data/lib/talon_one/models/card_expiring_points_notification_policy.rb +2 -0
  161. data/lib/talon_one/models/card_ledger_points_entry_integration_api.rb +16 -1
  162. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +16 -1
  163. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +16 -1
  164. data/lib/talon_one/models/catalogs_strikethrough_notification_policy.rb +16 -4
  165. data/lib/talon_one/models/coupons_notification_data.rb +278 -0
  166. data/lib/talon_one/models/coupons_notification_policy.rb +2 -0
  167. data/lib/talon_one/models/create_achievement.rb +14 -4
  168. data/lib/talon_one/models/create_coupon_data.rb +288 -0
  169. data/lib/talon_one/models/customer_profile.rb +1 -1
  170. data/lib/talon_one/models/deduct_loyalty_points.rb +0 -9
  171. data/lib/talon_one/models/delete_coupons_data.rb +310 -0
  172. data/lib/talon_one/models/effect.rb +0 -1
  173. data/lib/talon_one/models/expiring_card_points_data.rb +342 -0
  174. data/lib/talon_one/models/expiring_card_points_notification.rb +277 -0
  175. data/lib/talon_one/models/expiring_coupons_data.rb +369 -0
  176. data/lib/talon_one/models/expiring_coupons_notification.rb +277 -0
  177. data/lib/talon_one/models/expiring_coupons_notification_policy.rb +2 -0
  178. data/lib/talon_one/models/expiring_points_data.rb +291 -0
  179. data/lib/talon_one/models/expiring_points_notification.rb +277 -0
  180. data/lib/talon_one/models/expiring_points_notification_policy.rb +2 -0
  181. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +9 -24
  182. data/lib/talon_one/models/extended_coupon.rb +578 -0
  183. data/lib/talon_one/models/generate_audit_log_summary.rb +212 -0
  184. data/lib/talon_one/models/generate_campaign_description.rb +16 -1
  185. data/lib/talon_one/models/generate_coupon_failure_detailed_summary.rb +286 -0
  186. data/lib/talon_one/models/generate_coupon_failure_summary.rb +222 -0
  187. data/lib/talon_one/models/generate_user_session_summary.rb +227 -0
  188. data/lib/talon_one/models/get_integration_coupon_request.rb +2 -0
  189. data/lib/talon_one/models/inline_response20040.rb +1 -1
  190. data/lib/talon_one/models/inline_response20041.rb +1 -1
  191. data/lib/talon_one/models/inline_response20042.rb +11 -7
  192. data/lib/talon_one/models/inline_response20043.rb +1 -1
  193. data/lib/talon_one/models/inline_response20044.rb +7 -11
  194. data/lib/talon_one/models/inline_response20045.rb +11 -7
  195. data/lib/talon_one/models/inline_response20046.rb +2 -21
  196. data/lib/talon_one/models/inline_response20047.rb +2 -25
  197. data/lib/talon_one/models/inline_response20048.rb +16 -2
  198. data/lib/talon_one/models/inline_response20049.rb +21 -2
  199. data/lib/talon_one/models/jwt.rb +228 -0
  200. data/lib/talon_one/models/label_target_audience.rb +260 -0
  201. data/lib/talon_one/models/label_target_none.rb +246 -0
  202. data/lib/talon_one/models/ledger_points_entry_integration_api.rb +16 -1
  203. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +17 -2
  204. data/lib/talon_one/models/loyalty_dashboard_data.rb +16 -1
  205. data/lib/talon_one/models/loyalty_ledger_entry_expiry_date_change.rb +238 -0
  206. data/lib/talon_one/models/loyalty_program.rb +1 -1
  207. data/lib/talon_one/models/loyalty_program_transaction.rb +16 -1
  208. data/lib/talon_one/models/new_loyalty_program.rb +1 -1
  209. data/lib/talon_one/models/new_message_test.rb +28 -43
  210. data/lib/talon_one/models/new_price_adjustment.rb +33 -4
  211. data/lib/talon_one/models/new_price_type.rb +3 -3
  212. data/lib/talon_one/models/new_secondary_deployment.rb +242 -0
  213. data/lib/talon_one/models/new_webhook.rb +14 -4
  214. data/lib/talon_one/models/pending_active_points_data.rb +308 -0
  215. data/lib/talon_one/models/pending_active_points_notification.rb +277 -0
  216. data/lib/talon_one/models/pending_points_notification_policy.rb +2 -0
  217. data/lib/talon_one/models/price_detail.rb +11 -1
  218. data/lib/talon_one/models/price_type.rb +3 -3
  219. data/lib/talon_one/models/price_type_reference_detail.rb +286 -0
  220. data/lib/talon_one/models/price_type_references.rb +224 -0
  221. data/lib/talon_one/models/role_v2_roles_group.rb +14 -4
  222. data/lib/talon_one/models/secondary_deployment.rb +367 -0
  223. data/lib/talon_one/models/set_loyalty_points_expiry_date_effect_props.rb +255 -0
  224. data/lib/talon_one/models/strikethrough_changed_item.rb +13 -1
  225. data/lib/talon_one/models/strikethrough_effect.rb +46 -4
  226. data/lib/talon_one/models/strikethrough_labeling_notification.rb +19 -4
  227. data/lib/talon_one/models/tier_downgrade_data.rb +328 -0
  228. data/lib/talon_one/models/tier_downgrade_notification.rb +277 -0
  229. data/lib/talon_one/models/tier_downgrade_notification_policy.rb +2 -0
  230. data/lib/talon_one/models/tier_upgrade_data.rb +353 -0
  231. data/lib/talon_one/models/tier_upgrade_notification.rb +277 -0
  232. data/lib/talon_one/models/tier_upgrade_notification_policy.rb +2 -0
  233. data/lib/talon_one/models/tier_will_downgrade_data.rb +328 -0
  234. data/lib/talon_one/models/tier_will_downgrade_notification.rb +277 -0
  235. data/lib/talon_one/models/tier_will_downgrade_notification_policy.rb +2 -0
  236. data/lib/talon_one/models/update_achievement.rb +14 -4
  237. data/lib/talon_one/models/update_coupons_data.rb +296 -0
  238. data/lib/talon_one/models/update_loyalty_program.rb +1 -1
  239. data/lib/talon_one/models/update_price_type.rb +239 -0
  240. data/lib/talon_one/models/webhook.rb +14 -4
  241. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +11 -1
  242. data/lib/talon_one/version.rb +1 -1
  243. data/lib/talon_one.rb +51 -6
  244. data/spec/api/integration_api_spec.rb +23 -1
  245. data/spec/api/management_api_spec.rb +18 -54
  246. data/spec/models/account_limits_spec.rb +12 -0
  247. data/spec/models/achievement_base_spec.rb +6 -0
  248. data/spec/models/achievement_progress_with_definition_spec.rb +6 -0
  249. data/spec/models/achievement_spec.rb +6 -0
  250. data/spec/models/achievement_status_entry_spec.rb +6 -0
  251. data/spec/models/added_deducted_points_notification_spec.rb +125 -0
  252. data/spec/models/analytics_sku_spec.rb +12 -0
  253. data/spec/models/async_coupons_data_spec.rb +65 -0
  254. data/spec/models/audience_reference_spec.rb +53 -0
  255. data/spec/models/best_prior_price_metadata_spec.rb +47 -0
  256. data/spec/models/best_prior_price_request_spec.rb +65 -0
  257. data/spec/models/best_prior_price_request_target_spec.rb +51 -0
  258. data/spec/models/best_prior_price_spec.rb +71 -0
  259. data/spec/models/campaign_collection_edited_notification_item_spec.rb +59 -0
  260. data/spec/models/campaign_collection_edited_notification_spec.rb +3 -3
  261. data/spec/models/campaign_created_notification_item_spec.rb +59 -0
  262. data/spec/models/campaign_created_notification_spec.rb +3 -3
  263. data/spec/models/campaign_deleted_notification_item_spec.rb +53 -0
  264. data/spec/models/campaign_deleted_notification_spec.rb +8 -2
  265. data/spec/models/campaign_edited_notification_item_spec.rb +59 -0
  266. data/spec/models/campaign_edited_notification_spec.rb +3 -3
  267. data/spec/models/campaign_evaluation_tree_changed_message_spec.rb +53 -0
  268. data/spec/models/campaign_notification_base_spec.rb +47 -0
  269. data/spec/models/campaign_notification_generic_spec.rb +53 -0
  270. data/spec/models/campaign_notification_item_base_spec.rb +41 -0
  271. data/spec/models/campaign_ruleset_changed_notification_item_spec.rb +59 -0
  272. data/spec/models/campaign_ruleset_changed_notification_spec.rb +3 -3
  273. data/spec/models/campaign_state_changed_notification_item_spec.rb +65 -0
  274. data/spec/models/campaign_state_changed_notification_spec.rb +3 -9
  275. data/spec/models/card_added_deducted_points_notification_spec.rb +137 -0
  276. data/spec/models/card_ledger_points_entry_integration_api_spec.rb +6 -0
  277. data/spec/models/card_ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  278. data/spec/models/card_ledger_transaction_log_entry_spec.rb +6 -0
  279. data/spec/models/catalogs_strikethrough_notification_policy_spec.rb +6 -0
  280. data/spec/models/coupons_notification_data_spec.rb +71 -0
  281. data/spec/models/create_achievement_spec.rb +6 -0
  282. data/spec/models/create_coupon_data_spec.rb +77 -0
  283. data/spec/models/delete_coupons_data_spec.rb +83 -0
  284. data/spec/models/expiring_card_points_data_spec.rb +77 -0
  285. data/spec/models/expiring_card_points_notification_spec.rb +57 -0
  286. data/spec/models/expiring_coupons_data_spec.rb +95 -0
  287. data/spec/models/expiring_coupons_notification_spec.rb +57 -0
  288. data/spec/models/expiring_points_data_spec.rb +65 -0
  289. data/spec/models/expiring_points_notification_spec.rb +57 -0
  290. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +1 -7
  291. data/spec/models/extended_coupon_spec.rb +173 -0
  292. data/spec/models/generate_audit_log_summary_spec.rb +41 -0
  293. data/spec/models/generate_campaign_description_spec.rb +6 -0
  294. data/spec/models/generate_coupon_failure_detailed_summary_spec.rb +65 -0
  295. data/spec/models/generate_coupon_failure_summary_spec.rb +47 -0
  296. data/spec/models/generate_user_session_summary_spec.rb +47 -0
  297. data/spec/models/inline_response20042_spec.rb +6 -0
  298. data/spec/models/inline_response20044_spec.rb +0 -6
  299. data/spec/models/inline_response20045_spec.rb +6 -0
  300. data/spec/models/inline_response20046_spec.rb +0 -6
  301. data/spec/models/inline_response20047_spec.rb +0 -12
  302. data/spec/models/inline_response20048_spec.rb +6 -0
  303. data/spec/models/inline_response20049_spec.rb +6 -0
  304. data/spec/models/jwt_spec.rb +47 -0
  305. data/spec/models/label_target_audience_spec.rb +51 -0
  306. data/spec/models/label_target_none_spec.rb +45 -0
  307. data/spec/models/ledger_points_entry_integration_api_spec.rb +6 -0
  308. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  309. data/spec/models/loyalty_dashboard_data_spec.rb +6 -0
  310. data/spec/models/loyalty_ledger_entry_expiry_date_change_spec.rb +53 -0
  311. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  312. data/spec/models/new_message_test_spec.rb +10 -14
  313. data/spec/models/new_price_adjustment_spec.rb +6 -0
  314. data/spec/models/new_secondary_deployment_spec.rb +41 -0
  315. data/spec/models/new_webhook_spec.rb +6 -0
  316. data/spec/models/pending_active_points_data_spec.rb +77 -0
  317. data/spec/models/pending_active_points_notification_spec.rb +57 -0
  318. data/spec/models/price_detail_spec.rb +6 -0
  319. data/spec/models/price_type_reference_detail_spec.rb +63 -0
  320. data/spec/models/price_type_references_spec.rb +47 -0
  321. data/spec/models/role_v2_roles_group_spec.rb +6 -0
  322. data/spec/models/secondary_deployment_spec.rb +87 -0
  323. data/spec/models/set_loyalty_points_expiry_date_effect_props_spec.rb +59 -0
  324. data/spec/models/strikethrough_changed_item_spec.rb +6 -0
  325. data/spec/models/strikethrough_effect_spec.rb +24 -0
  326. data/spec/models/strikethrough_labeling_notification_spec.rb +6 -0
  327. data/spec/models/tier_downgrade_data_spec.rb +83 -0
  328. data/spec/models/tier_downgrade_notification_spec.rb +57 -0
  329. data/spec/models/tier_upgrade_data_spec.rb +95 -0
  330. data/spec/models/tier_upgrade_notification_spec.rb +57 -0
  331. data/spec/models/tier_will_downgrade_data_spec.rb +83 -0
  332. data/spec/models/tier_will_downgrade_notification_spec.rb +57 -0
  333. data/spec/models/update_achievement_spec.rb +6 -0
  334. data/spec/models/update_coupons_data_spec.rb +77 -0
  335. data/spec/models/update_price_type_spec.rb +53 -0
  336. data/spec/models/webhook_spec.rb +6 -0
  337. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  338. metadata +206 -2
  339. data/.github/dependabot.yml +0 -10
@@ -0,0 +1,510 @@
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 CardAddedDeductedPointsNotification
17
+ # The integration ID of the customer profile to whom points were added or deducted.
18
+ attr_accessor :profile_integration_i_ds
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 or deducted.
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
+ # Loyalty card identification number.
57
+ attr_accessor :card_identifier
58
+
59
+ # The max amount of user profiles with whom a card can be shared. This can be set to `0` for no limit.
60
+ attr_accessor :users_per_card_limit
61
+
62
+ class EnumAttributeValidator
63
+ attr_reader :datatype
64
+ attr_reader :allowable_values
65
+
66
+ def initialize(datatype, allowable_values)
67
+ @allowable_values = allowable_values.map do |value|
68
+ case datatype.to_s
69
+ when /Integer/i
70
+ value.to_i
71
+ when /Float/i
72
+ value.to_f
73
+ else
74
+ value
75
+ end
76
+ end
77
+ end
78
+
79
+ def valid?(value)
80
+ !value || allowable_values.include?(value)
81
+ end
82
+ end
83
+
84
+ # Attribute mapping from ruby-style variable name to JSON key.
85
+ def self.attribute_map
86
+ {
87
+ :'profile_integration_i_ds' => :'ProfileIntegrationIDs',
88
+ :'loyalty_program_id' => :'LoyaltyProgramID',
89
+ :'subledger_id' => :'SubledgerID',
90
+ :'amount' => :'Amount',
91
+ :'reason' => :'Reason',
92
+ :'type_of_change' => :'TypeOfChange',
93
+ :'employee_name' => :'EmployeeName',
94
+ :'user_id' => :'UserID',
95
+ :'operation' => :'Operation',
96
+ :'start_date' => :'StartDate',
97
+ :'expiry_date' => :'ExpiryDate',
98
+ :'session_integration_id' => :'SessionIntegrationID',
99
+ :'notification_type' => :'NotificationType',
100
+ :'card_identifier' => :'CardIdentifier',
101
+ :'users_per_card_limit' => :'UsersPerCardLimit'
102
+ }
103
+ end
104
+
105
+ # Attribute type mapping.
106
+ def self.openapi_types
107
+ {
108
+ :'profile_integration_i_ds' => :'Array<String>',
109
+ :'loyalty_program_id' => :'Integer',
110
+ :'subledger_id' => :'String',
111
+ :'amount' => :'Float',
112
+ :'reason' => :'String',
113
+ :'type_of_change' => :'String',
114
+ :'employee_name' => :'String',
115
+ :'user_id' => :'Integer',
116
+ :'operation' => :'String',
117
+ :'start_date' => :'DateTime',
118
+ :'expiry_date' => :'DateTime',
119
+ :'session_integration_id' => :'String',
120
+ :'notification_type' => :'String',
121
+ :'card_identifier' => :'String',
122
+ :'users_per_card_limit' => :'Integer'
123
+ }
124
+ end
125
+
126
+ # List of attributes with nullable: true
127
+ def self.openapi_nullable
128
+ Set.new([
129
+ ])
130
+ end
131
+
132
+ # Initializes the object
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ def initialize(attributes = {})
135
+ if (!attributes.is_a?(Hash))
136
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::CardAddedDeductedPointsNotification` initialize method"
137
+ end
138
+
139
+ # check to see if the attribute exists and convert string to symbol for hash key
140
+ attributes = attributes.each_with_object({}) { |(k, v), h|
141
+ if (!self.class.attribute_map.key?(k.to_sym))
142
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::CardAddedDeductedPointsNotification`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
143
+ end
144
+ h[k.to_sym] = v
145
+ }
146
+
147
+ if attributes.key?(:'profile_integration_i_ds')
148
+ if (value = attributes[:'profile_integration_i_ds']).is_a?(Array)
149
+ self.profile_integration_i_ds = value
150
+ end
151
+ end
152
+
153
+ if attributes.key?(:'loyalty_program_id')
154
+ self.loyalty_program_id = attributes[:'loyalty_program_id']
155
+ end
156
+
157
+ if attributes.key?(:'subledger_id')
158
+ self.subledger_id = attributes[:'subledger_id']
159
+ end
160
+
161
+ if attributes.key?(:'amount')
162
+ self.amount = attributes[:'amount']
163
+ end
164
+
165
+ if attributes.key?(:'reason')
166
+ self.reason = attributes[:'reason']
167
+ end
168
+
169
+ if attributes.key?(:'type_of_change')
170
+ self.type_of_change = attributes[:'type_of_change']
171
+ end
172
+
173
+ if attributes.key?(:'employee_name')
174
+ self.employee_name = attributes[:'employee_name']
175
+ end
176
+
177
+ if attributes.key?(:'user_id')
178
+ self.user_id = attributes[:'user_id']
179
+ end
180
+
181
+ if attributes.key?(:'operation')
182
+ self.operation = attributes[:'operation']
183
+ end
184
+
185
+ if attributes.key?(:'start_date')
186
+ self.start_date = attributes[:'start_date']
187
+ end
188
+
189
+ if attributes.key?(:'expiry_date')
190
+ self.expiry_date = attributes[:'expiry_date']
191
+ end
192
+
193
+ if attributes.key?(:'session_integration_id')
194
+ self.session_integration_id = attributes[:'session_integration_id']
195
+ end
196
+
197
+ if attributes.key?(:'notification_type')
198
+ self.notification_type = attributes[:'notification_type']
199
+ end
200
+
201
+ if attributes.key?(:'card_identifier')
202
+ self.card_identifier = attributes[:'card_identifier']
203
+ end
204
+
205
+ if attributes.key?(:'users_per_card_limit')
206
+ self.users_per_card_limit = attributes[:'users_per_card_limit']
207
+ end
208
+ end
209
+
210
+ # Show invalid properties with the reasons. Usually used together with valid?
211
+ # @return Array for valid properties with the reasons
212
+ def list_invalid_properties
213
+ invalid_properties = Array.new
214
+ if @profile_integration_i_ds.nil?
215
+ invalid_properties.push('invalid value for "profile_integration_i_ds", profile_integration_i_ds cannot be nil.')
216
+ end
217
+
218
+ if @loyalty_program_id.nil?
219
+ invalid_properties.push('invalid value for "loyalty_program_id", loyalty_program_id cannot be nil.')
220
+ end
221
+
222
+ if @loyalty_program_id < 1
223
+ invalid_properties.push('invalid value for "loyalty_program_id", must be greater than or equal to 1.')
224
+ end
225
+
226
+ if @subledger_id.nil?
227
+ invalid_properties.push('invalid value for "subledger_id", subledger_id cannot be nil.')
228
+ end
229
+
230
+ if @amount.nil?
231
+ invalid_properties.push('invalid value for "amount", amount cannot be nil.')
232
+ end
233
+
234
+ if @reason.nil?
235
+ invalid_properties.push('invalid value for "reason", reason cannot be nil.')
236
+ end
237
+
238
+ if @type_of_change.nil?
239
+ invalid_properties.push('invalid value for "type_of_change", type_of_change cannot be nil.')
240
+ end
241
+
242
+ if @employee_name.nil?
243
+ invalid_properties.push('invalid value for "employee_name", employee_name cannot be nil.')
244
+ end
245
+
246
+ if @user_id.nil?
247
+ invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
248
+ end
249
+
250
+ if @user_id < 1
251
+ invalid_properties.push('invalid value for "user_id", must be greater than or equal to 1.')
252
+ end
253
+
254
+ if @operation.nil?
255
+ invalid_properties.push('invalid value for "operation", operation cannot be nil.')
256
+ end
257
+
258
+ if @session_integration_id.nil?
259
+ invalid_properties.push('invalid value for "session_integration_id", session_integration_id cannot be nil.')
260
+ end
261
+
262
+ if @notification_type.nil?
263
+ invalid_properties.push('invalid value for "notification_type", notification_type cannot be nil.')
264
+ end
265
+
266
+ if @card_identifier.nil?
267
+ invalid_properties.push('invalid value for "card_identifier", card_identifier cannot be nil.')
268
+ end
269
+
270
+ if @users_per_card_limit.nil?
271
+ invalid_properties.push('invalid value for "users_per_card_limit", users_per_card_limit cannot be nil.')
272
+ end
273
+
274
+ invalid_properties
275
+ end
276
+
277
+ # Check to see if the all the properties in the model are valid
278
+ # @return true if the model is valid
279
+ def valid?
280
+ return false if @profile_integration_i_ds.nil?
281
+ return false if @loyalty_program_id.nil?
282
+ return false if @loyalty_program_id < 1
283
+ return false if @subledger_id.nil?
284
+ return false if @amount.nil?
285
+ return false if @reason.nil?
286
+ return false if @type_of_change.nil?
287
+ type_of_change_validator = EnumAttributeValidator.new('String', ["campaign_manager", "rule_engine", "management_api"])
288
+ return false unless type_of_change_validator.valid?(@type_of_change)
289
+ return false if @employee_name.nil?
290
+ return false if @user_id.nil?
291
+ return false if @user_id < 1
292
+ return false if @operation.nil?
293
+ operation_validator = EnumAttributeValidator.new('String', ["addition", "deduction"])
294
+ return false unless operation_validator.valid?(@operation)
295
+ return false if @session_integration_id.nil?
296
+ return false if @notification_type.nil?
297
+ notification_type_validator = EnumAttributeValidator.new('String', ["LoyaltyCardPointsDeducted", "LoyaltyCardPointsAdded"])
298
+ return false unless notification_type_validator.valid?(@notification_type)
299
+ return false if @card_identifier.nil?
300
+ return false if @users_per_card_limit.nil?
301
+ true
302
+ end
303
+
304
+ # Custom attribute writer method with validation
305
+ # @param [Object] loyalty_program_id Value to be assigned
306
+ def loyalty_program_id=(loyalty_program_id)
307
+ if loyalty_program_id.nil?
308
+ fail ArgumentError, 'loyalty_program_id cannot be nil'
309
+ end
310
+
311
+ if loyalty_program_id < 1
312
+ fail ArgumentError, 'invalid value for "loyalty_program_id", must be greater than or equal to 1.'
313
+ end
314
+
315
+ @loyalty_program_id = loyalty_program_id
316
+ end
317
+
318
+ # Custom attribute writer method checking allowed values (enum).
319
+ # @param [Object] type_of_change Object to be assigned
320
+ def type_of_change=(type_of_change)
321
+ validator = EnumAttributeValidator.new('String', ["campaign_manager", "rule_engine", "management_api"])
322
+ unless validator.valid?(type_of_change)
323
+ fail ArgumentError, "invalid value for \"type_of_change\", must be one of #{validator.allowable_values}."
324
+ end
325
+ @type_of_change = type_of_change
326
+ end
327
+
328
+ # Custom attribute writer method with validation
329
+ # @param [Object] user_id Value to be assigned
330
+ def user_id=(user_id)
331
+ if user_id.nil?
332
+ fail ArgumentError, 'user_id cannot be nil'
333
+ end
334
+
335
+ if user_id < 1
336
+ fail ArgumentError, 'invalid value for "user_id", must be greater than or equal to 1.'
337
+ end
338
+
339
+ @user_id = user_id
340
+ end
341
+
342
+ # Custom attribute writer method checking allowed values (enum).
343
+ # @param [Object] operation Object to be assigned
344
+ def operation=(operation)
345
+ validator = EnumAttributeValidator.new('String', ["addition", "deduction"])
346
+ unless validator.valid?(operation)
347
+ fail ArgumentError, "invalid value for \"operation\", must be one of #{validator.allowable_values}."
348
+ end
349
+ @operation = operation
350
+ end
351
+
352
+ # Custom attribute writer method checking allowed values (enum).
353
+ # @param [Object] notification_type Object to be assigned
354
+ def notification_type=(notification_type)
355
+ validator = EnumAttributeValidator.new('String', ["LoyaltyCardPointsDeducted", "LoyaltyCardPointsAdded"])
356
+ unless validator.valid?(notification_type)
357
+ fail ArgumentError, "invalid value for \"notification_type\", must be one of #{validator.allowable_values}."
358
+ end
359
+ @notification_type = notification_type
360
+ end
361
+
362
+ # Checks equality by comparing each attribute.
363
+ # @param [Object] Object to be compared
364
+ def ==(o)
365
+ return true if self.equal?(o)
366
+ self.class == o.class &&
367
+ profile_integration_i_ds == o.profile_integration_i_ds &&
368
+ loyalty_program_id == o.loyalty_program_id &&
369
+ subledger_id == o.subledger_id &&
370
+ amount == o.amount &&
371
+ reason == o.reason &&
372
+ type_of_change == o.type_of_change &&
373
+ employee_name == o.employee_name &&
374
+ user_id == o.user_id &&
375
+ operation == o.operation &&
376
+ start_date == o.start_date &&
377
+ expiry_date == o.expiry_date &&
378
+ session_integration_id == o.session_integration_id &&
379
+ notification_type == o.notification_type &&
380
+ card_identifier == o.card_identifier &&
381
+ users_per_card_limit == o.users_per_card_limit
382
+ end
383
+
384
+ # @see the `==` method
385
+ # @param [Object] Object to be compared
386
+ def eql?(o)
387
+ self == o
388
+ end
389
+
390
+ # Calculates hash code according to all attributes.
391
+ # @return [Integer] Hash code
392
+ def hash
393
+ [profile_integration_i_ds, loyalty_program_id, subledger_id, amount, reason, type_of_change, employee_name, user_id, operation, start_date, expiry_date, session_integration_id, notification_type, card_identifier, users_per_card_limit].hash
394
+ end
395
+
396
+ # Builds the object from hash
397
+ # @param [Hash] attributes Model attributes in the form of hash
398
+ # @return [Object] Returns the model itself
399
+ def self.build_from_hash(attributes)
400
+ new.build_from_hash(attributes)
401
+ end
402
+
403
+ # Builds the object from hash
404
+ # @param [Hash] attributes Model attributes in the form of hash
405
+ # @return [Object] Returns the model itself
406
+ def build_from_hash(attributes)
407
+ return nil unless attributes.is_a?(Hash)
408
+ self.class.openapi_types.each_pair do |key, type|
409
+ if type =~ /\AArray<(.*)>/i
410
+ # check to ensure the input is an array given that the attribute
411
+ # is documented as an array but the input is not
412
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
413
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
414
+ end
415
+ elsif !attributes[self.class.attribute_map[key]].nil?
416
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
417
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
418
+ end
419
+
420
+ self
421
+ end
422
+
423
+ # Deserializes the data based on type
424
+ # @param string type Data type
425
+ # @param string value Value to be deserialized
426
+ # @return [Object] Deserialized data
427
+ def _deserialize(type, value)
428
+ case type.to_sym
429
+ when :DateTime
430
+ DateTime.parse(value)
431
+ when :Date
432
+ Date.parse(value)
433
+ when :String
434
+ value.to_s
435
+ when :Integer
436
+ value.to_i
437
+ when :Float
438
+ value.to_f
439
+ when :Boolean
440
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
441
+ true
442
+ else
443
+ false
444
+ end
445
+ when :Object
446
+ # generic object (usually a Hash), return directly
447
+ value
448
+ when /\AArray<(?<inner_type>.+)>\z/
449
+ inner_type = Regexp.last_match[:inner_type]
450
+ value.map { |v| _deserialize(inner_type, v) }
451
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
452
+ k_type = Regexp.last_match[:k_type]
453
+ v_type = Regexp.last_match[:v_type]
454
+ {}.tap do |hash|
455
+ value.each do |k, v|
456
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
457
+ end
458
+ end
459
+ else # model
460
+ TalonOne.const_get(type).build_from_hash(value)
461
+ end
462
+ end
463
+
464
+ # Returns the string representation of the object
465
+ # @return [String] String presentation of the object
466
+ def to_s
467
+ to_hash.to_s
468
+ end
469
+
470
+ # to_body is an alias to to_hash (backward compatibility)
471
+ # @return [Hash] Returns the object in the form of hash
472
+ def to_body
473
+ to_hash
474
+ end
475
+
476
+ # Returns the object in the form of hash
477
+ # @return [Hash] Returns the object in the form of hash
478
+ def to_hash
479
+ hash = {}
480
+ self.class.attribute_map.each_pair do |attr, param|
481
+ value = self.send(attr)
482
+ if value.nil?
483
+ is_nullable = self.class.openapi_nullable.include?(attr)
484
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
485
+ end
486
+
487
+ hash[param] = _to_hash(value)
488
+ end
489
+ hash
490
+ end
491
+
492
+ # Outputs non-array value in the form of hash
493
+ # For object, use to_hash. Otherwise, just return the value
494
+ # @param [Object] value Any valid value
495
+ # @return [Hash] Returns the value in the form of hash
496
+ def _to_hash(value)
497
+ if value.is_a?(Array)
498
+ value.compact.map { |v| _to_hash(v) }
499
+ elsif value.is_a?(Hash)
500
+ {}.tap do |hash|
501
+ value.each { |k, v| hash[k] = _to_hash(v) }
502
+ end
503
+ elsif value.respond_to? :to_hash
504
+ value.to_hash
505
+ else
506
+ value
507
+ end
508
+ end
509
+ end
510
+ end
@@ -84,6 +84,8 @@ module TalonOne
84
84
 
85
85
  if attributes.key?(:'batch_size')
86
86
  self.batch_size = attributes[:'batch_size']
87
+ else
88
+ self.batch_size = 1000
87
89
  end
88
90
  end
89
91
 
@@ -18,6 +18,9 @@ module TalonOne
18
18
  # ID of the transaction that adds loyalty points.
19
19
  attr_accessor :id
20
20
 
21
+ # Unique identifier of the transaction in the UUID format.
22
+ attr_accessor :transaction_uuid
23
+
21
24
  # Date and time the loyalty card points were added.
22
25
  attr_accessor :created
23
26
 
@@ -49,6 +52,7 @@ module TalonOne
49
52
  def self.attribute_map
50
53
  {
51
54
  :'id' => :'id',
55
+ :'transaction_uuid' => :'transactionUUID',
52
56
  :'created' => :'created',
53
57
  :'program_id' => :'programId',
54
58
  :'customer_profile_id' => :'customerProfileID',
@@ -65,6 +69,7 @@ module TalonOne
65
69
  def self.openapi_types
66
70
  {
67
71
  :'id' => :'Integer',
72
+ :'transaction_uuid' => :'String',
68
73
  :'created' => :'DateTime',
69
74
  :'program_id' => :'Integer',
70
75
  :'customer_profile_id' => :'String',
@@ -102,6 +107,10 @@ module TalonOne
102
107
  self.id = attributes[:'id']
103
108
  end
104
109
 
110
+ if attributes.key?(:'transaction_uuid')
111
+ self.transaction_uuid = attributes[:'transaction_uuid']
112
+ end
113
+
105
114
  if attributes.key?(:'created')
106
115
  self.created = attributes[:'created']
107
116
  end
@@ -147,6 +156,10 @@ module TalonOne
147
156
  invalid_properties.push('invalid value for "id", id cannot be nil.')
148
157
  end
149
158
 
159
+ if @transaction_uuid.nil?
160
+ invalid_properties.push('invalid value for "transaction_uuid", transaction_uuid cannot be nil.')
161
+ end
162
+
150
163
  if @created.nil?
151
164
  invalid_properties.push('invalid value for "created", created cannot be nil.')
152
165
  end
@@ -198,6 +211,7 @@ module TalonOne
198
211
  # @return true if the model is valid
199
212
  def valid?
200
213
  return false if @id.nil?
214
+ return false if @transaction_uuid.nil?
201
215
  return false if @created.nil?
202
216
  return false if @program_id.nil?
203
217
  return false if !@customer_session_id.nil? && @customer_session_id.to_s.length > 255
@@ -270,6 +284,7 @@ module TalonOne
270
284
  return true if self.equal?(o)
271
285
  self.class == o.class &&
272
286
  id == o.id &&
287
+ transaction_uuid == o.transaction_uuid &&
273
288
  created == o.created &&
274
289
  program_id == o.program_id &&
275
290
  customer_profile_id == o.customer_profile_id &&
@@ -290,7 +305,7 @@ module TalonOne
290
305
  # Calculates hash code according to all attributes.
291
306
  # @return [Integer] Hash code
292
307
  def hash
293
- [id, created, program_id, customer_profile_id, customer_session_id, name, start_date, expiry_date, subledger_id, amount].hash
308
+ [id, transaction_uuid, created, program_id, customer_profile_id, customer_session_id, name, start_date, expiry_date, subledger_id, amount].hash
294
309
  end
295
310
 
296
311
  # Builds the object from hash
@@ -15,6 +15,9 @@ require 'date'
15
15
  module TalonOne
16
16
  # Log entry for a given loyalty card transaction.
17
17
  class CardLedgerTransactionLogEntry
18
+ # Unique identifier of the transaction in the UUID format.
19
+ attr_accessor :transaction_uuid
20
+
18
21
  # Date and time the loyalty card transaction occurred.
19
22
  attr_accessor :created
20
23
 
@@ -79,6 +82,7 @@ module TalonOne
79
82
  # Attribute mapping from ruby-style variable name to JSON key.
80
83
  def self.attribute_map
81
84
  {
85
+ :'transaction_uuid' => :'transactionUUID',
82
86
  :'created' => :'created',
83
87
  :'program_id' => :'programId',
84
88
  :'card_identifier' => :'cardIdentifier',
@@ -98,6 +102,7 @@ module TalonOne
98
102
  # Attribute type mapping.
99
103
  def self.openapi_types
100
104
  {
105
+ :'transaction_uuid' => :'String',
101
106
  :'created' => :'DateTime',
102
107
  :'program_id' => :'Integer',
103
108
  :'card_identifier' => :'String',
@@ -135,6 +140,10 @@ module TalonOne
135
140
  h[k.to_sym] = v
136
141
  }
137
142
 
143
+ if attributes.key?(:'transaction_uuid')
144
+ self.transaction_uuid = attributes[:'transaction_uuid']
145
+ end
146
+
138
147
  if attributes.key?(:'created')
139
148
  self.created = attributes[:'created']
140
149
  end
@@ -192,6 +201,10 @@ module TalonOne
192
201
  # @return Array for valid properties with the reasons
193
202
  def list_invalid_properties
194
203
  invalid_properties = Array.new
204
+ if @transaction_uuid.nil?
205
+ invalid_properties.push('invalid value for "transaction_uuid", transaction_uuid cannot be nil.')
206
+ end
207
+
195
208
  if @created.nil?
196
209
  invalid_properties.push('invalid value for "created", created cannot be nil.')
197
210
  end
@@ -267,6 +280,7 @@ module TalonOne
267
280
  # Check to see if the all the properties in the model are valid
268
281
  # @return true if the model is valid
269
282
  def valid?
283
+ return false if @transaction_uuid.nil?
270
284
  return false if @created.nil?
271
285
  return false if @program_id.nil?
272
286
  return false if @card_identifier.nil?
@@ -375,6 +389,7 @@ module TalonOne
375
389
  def ==(o)
376
390
  return true if self.equal?(o)
377
391
  self.class == o.class &&
392
+ transaction_uuid == o.transaction_uuid &&
378
393
  created == o.created &&
379
394
  program_id == o.program_id &&
380
395
  card_identifier == o.card_identifier &&
@@ -399,7 +414,7 @@ module TalonOne
399
414
  # Calculates hash code according to all attributes.
400
415
  # @return [Integer] Hash code
401
416
  def hash
402
- [created, program_id, card_identifier, application_id, session_id, customer_session_id, type, name, start_date, expiry_date, subledger_id, amount, id].hash
417
+ [transaction_uuid, created, program_id, card_identifier, application_id, session_id, customer_session_id, type, name, start_date, expiry_date, subledger_id, amount, id].hash
403
418
  end
404
419
 
405
420
  # Builds the object from hash