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
@@ -15,6 +15,9 @@ require 'date'
15
15
  module TalonOne
16
16
  # Log entry for a given loyalty card transaction.
17
17
  class CardLedgerTransactionLogEntryIntegrationAPI
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, customer_session_id, type, name, start_date, expiry_date, subledger_id, amount, id, ruleset_id, rule_name].hash
417
+ [transaction_uuid, created, program_id, card_identifier, customer_session_id, type, name, start_date, expiry_date, subledger_id, amount, id, ruleset_id, rule_name].hash
403
418
  end
404
419
 
405
420
  # Builds the object from hash
@@ -20,11 +20,15 @@ module TalonOne
20
20
  # The number of days in advance that strikethrough pricing updates should be sent.
21
21
  attr_accessor :ahead_of_days_trigger
22
22
 
23
+ # The required size of each batch of data.
24
+ attr_accessor :batch_size
25
+
23
26
  # Attribute mapping from ruby-style variable name to JSON key.
24
27
  def self.attribute_map
25
28
  {
26
29
  :'name' => :'name',
27
- :'ahead_of_days_trigger' => :'aheadOfDaysTrigger'
30
+ :'ahead_of_days_trigger' => :'aheadOfDaysTrigger',
31
+ :'batch_size' => :'batchSize'
28
32
  }
29
33
  end
30
34
 
@@ -32,7 +36,8 @@ module TalonOne
32
36
  def self.openapi_types
33
37
  {
34
38
  :'name' => :'String',
35
- :'ahead_of_days_trigger' => :'Integer'
39
+ :'ahead_of_days_trigger' => :'Integer',
40
+ :'batch_size' => :'Integer'
36
41
  }
37
42
  end
38
43
 
@@ -64,6 +69,12 @@ module TalonOne
64
69
  if attributes.key?(:'ahead_of_days_trigger')
65
70
  self.ahead_of_days_trigger = attributes[:'ahead_of_days_trigger']
66
71
  end
72
+
73
+ if attributes.key?(:'batch_size')
74
+ self.batch_size = attributes[:'batch_size']
75
+ else
76
+ self.batch_size = 1000
77
+ end
67
78
  end
68
79
 
69
80
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -133,7 +144,8 @@ module TalonOne
133
144
  return true if self.equal?(o)
134
145
  self.class == o.class &&
135
146
  name == o.name &&
136
- ahead_of_days_trigger == o.ahead_of_days_trigger
147
+ ahead_of_days_trigger == o.ahead_of_days_trigger &&
148
+ batch_size == o.batch_size
137
149
  end
138
150
 
139
151
  # @see the `==` method
@@ -145,7 +157,7 @@ module TalonOne
145
157
  # Calculates hash code according to all attributes.
146
158
  # @return [Integer] Hash code
147
159
  def hash
148
- [name, ahead_of_days_trigger].hash
160
+ [name, ahead_of_days_trigger, batch_size].hash
149
161
  end
150
162
 
151
163
  # Builds the object from hash
@@ -0,0 +1,278 @@
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 CouponsNotificationData
17
+ # The type of change that occurred.
18
+ attr_accessor :type_of_change
19
+
20
+ # The operation performed.
21
+ attr_accessor :operation
22
+
23
+ # The name of the employee associated with the operation.
24
+ attr_accessor :employee_name
25
+
26
+ # A list of extended coupon data.
27
+ attr_accessor :data
28
+
29
+ attr_accessor :total_result_size
30
+
31
+ # The type of the notification
32
+ attr_accessor :notification_type
33
+
34
+ # Attribute mapping from ruby-style variable name to JSON key.
35
+ def self.attribute_map
36
+ {
37
+ :'type_of_change' => :'TypeOfChange',
38
+ :'operation' => :'Operation',
39
+ :'employee_name' => :'EmployeeName',
40
+ :'data' => :'data',
41
+ :'total_result_size' => :'totalResultSize',
42
+ :'notification_type' => :'NotificationType'
43
+ }
44
+ end
45
+
46
+ # Attribute type mapping.
47
+ def self.openapi_types
48
+ {
49
+ :'type_of_change' => :'String',
50
+ :'operation' => :'String',
51
+ :'employee_name' => :'String',
52
+ :'data' => :'Array<ExtendedCoupon>',
53
+ :'total_result_size' => :'Integer',
54
+ :'notification_type' => :'String'
55
+ }
56
+ end
57
+
58
+ # List of attributes with nullable: true
59
+ def self.openapi_nullable
60
+ Set.new([
61
+ ])
62
+ end
63
+
64
+ # Initializes the object
65
+ # @param [Hash] attributes Model attributes in the form of hash
66
+ def initialize(attributes = {})
67
+ if (!attributes.is_a?(Hash))
68
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::CouponsNotificationData` initialize method"
69
+ end
70
+
71
+ # check to see if the attribute exists and convert string to symbol for hash key
72
+ attributes = attributes.each_with_object({}) { |(k, v), h|
73
+ if (!self.class.attribute_map.key?(k.to_sym))
74
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::CouponsNotificationData`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
75
+ end
76
+ h[k.to_sym] = v
77
+ }
78
+
79
+ if attributes.key?(:'type_of_change')
80
+ self.type_of_change = attributes[:'type_of_change']
81
+ end
82
+
83
+ if attributes.key?(:'operation')
84
+ self.operation = attributes[:'operation']
85
+ end
86
+
87
+ if attributes.key?(:'employee_name')
88
+ self.employee_name = attributes[:'employee_name']
89
+ end
90
+
91
+ if attributes.key?(:'data')
92
+ if (value = attributes[:'data']).is_a?(Array)
93
+ self.data = value
94
+ end
95
+ end
96
+
97
+ if attributes.key?(:'total_result_size')
98
+ self.total_result_size = attributes[:'total_result_size']
99
+ end
100
+
101
+ if attributes.key?(:'notification_type')
102
+ self.notification_type = attributes[:'notification_type']
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ invalid_properties = Array.new
110
+ if @type_of_change.nil?
111
+ invalid_properties.push('invalid value for "type_of_change", type_of_change cannot be nil.')
112
+ end
113
+
114
+ if @operation.nil?
115
+ invalid_properties.push('invalid value for "operation", operation cannot be nil.')
116
+ end
117
+
118
+ if @employee_name.nil?
119
+ invalid_properties.push('invalid value for "employee_name", employee_name cannot be nil.')
120
+ end
121
+
122
+ if @notification_type.nil?
123
+ invalid_properties.push('invalid value for "notification_type", notification_type cannot be nil.')
124
+ end
125
+
126
+ invalid_properties
127
+ end
128
+
129
+ # Check to see if the all the properties in the model are valid
130
+ # @return true if the model is valid
131
+ def valid?
132
+ return false if @type_of_change.nil?
133
+ return false if @operation.nil?
134
+ return false if @employee_name.nil?
135
+ return false if @notification_type.nil?
136
+ true
137
+ end
138
+
139
+ # Checks equality by comparing each attribute.
140
+ # @param [Object] Object to be compared
141
+ def ==(o)
142
+ return true if self.equal?(o)
143
+ self.class == o.class &&
144
+ type_of_change == o.type_of_change &&
145
+ operation == o.operation &&
146
+ employee_name == o.employee_name &&
147
+ data == o.data &&
148
+ total_result_size == o.total_result_size &&
149
+ notification_type == o.notification_type
150
+ end
151
+
152
+ # @see the `==` method
153
+ # @param [Object] Object to be compared
154
+ def eql?(o)
155
+ self == o
156
+ end
157
+
158
+ # Calculates hash code according to all attributes.
159
+ # @return [Integer] Hash code
160
+ def hash
161
+ [type_of_change, operation, employee_name, data, total_result_size, notification_type].hash
162
+ end
163
+
164
+ # Builds the object from hash
165
+ # @param [Hash] attributes Model attributes in the form of hash
166
+ # @return [Object] Returns the model itself
167
+ def self.build_from_hash(attributes)
168
+ new.build_from_hash(attributes)
169
+ end
170
+
171
+ # Builds the object from hash
172
+ # @param [Hash] attributes Model attributes in the form of hash
173
+ # @return [Object] Returns the model itself
174
+ def build_from_hash(attributes)
175
+ return nil unless attributes.is_a?(Hash)
176
+ self.class.openapi_types.each_pair do |key, type|
177
+ if type =~ /\AArray<(.*)>/i
178
+ # check to ensure the input is an array given that the attribute
179
+ # is documented as an array but the input is not
180
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
181
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
182
+ end
183
+ elsif !attributes[self.class.attribute_map[key]].nil?
184
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
185
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
186
+ end
187
+
188
+ self
189
+ end
190
+
191
+ # Deserializes the data based on type
192
+ # @param string type Data type
193
+ # @param string value Value to be deserialized
194
+ # @return [Object] Deserialized data
195
+ def _deserialize(type, value)
196
+ case type.to_sym
197
+ when :DateTime
198
+ DateTime.parse(value)
199
+ when :Date
200
+ Date.parse(value)
201
+ when :String
202
+ value.to_s
203
+ when :Integer
204
+ value.to_i
205
+ when :Float
206
+ value.to_f
207
+ when :Boolean
208
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
209
+ true
210
+ else
211
+ false
212
+ end
213
+ when :Object
214
+ # generic object (usually a Hash), return directly
215
+ value
216
+ when /\AArray<(?<inner_type>.+)>\z/
217
+ inner_type = Regexp.last_match[:inner_type]
218
+ value.map { |v| _deserialize(inner_type, v) }
219
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
220
+ k_type = Regexp.last_match[:k_type]
221
+ v_type = Regexp.last_match[:v_type]
222
+ {}.tap do |hash|
223
+ value.each do |k, v|
224
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
225
+ end
226
+ end
227
+ else # model
228
+ TalonOne.const_get(type).build_from_hash(value)
229
+ end
230
+ end
231
+
232
+ # Returns the string representation of the object
233
+ # @return [String] String presentation of the object
234
+ def to_s
235
+ to_hash.to_s
236
+ end
237
+
238
+ # to_body is an alias to to_hash (backward compatibility)
239
+ # @return [Hash] Returns the object in the form of hash
240
+ def to_body
241
+ to_hash
242
+ end
243
+
244
+ # Returns the object in the form of hash
245
+ # @return [Hash] Returns the object in the form of hash
246
+ def to_hash
247
+ hash = {}
248
+ self.class.attribute_map.each_pair do |attr, param|
249
+ value = self.send(attr)
250
+ if value.nil?
251
+ is_nullable = self.class.openapi_nullable.include?(attr)
252
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
253
+ end
254
+
255
+ hash[param] = _to_hash(value)
256
+ end
257
+ hash
258
+ end
259
+
260
+ # Outputs non-array value in the form of hash
261
+ # For object, use to_hash. Otherwise, just return the value
262
+ # @param [Object] value Any valid value
263
+ # @return [Hash] Returns the value in the form of hash
264
+ def _to_hash(value)
265
+ if value.is_a?(Array)
266
+ value.compact.map { |v| _to_hash(v) }
267
+ elsif value.is_a?(Hash)
268
+ {}.tap do |hash|
269
+ value.each { |k, v| hash[k] = _to_hash(v) }
270
+ end
271
+ elsif value.respond_to? :to_hash
272
+ value.to_hash
273
+ else
274
+ value
275
+ end
276
+ end
277
+ end
278
+ end
@@ -115,6 +115,8 @@ module TalonOne
115
115
 
116
116
  if attributes.key?(:'batch_size')
117
117
  self.batch_size = attributes[:'batch_size']
118
+ else
119
+ self.batch_size = 1000
118
120
  end
119
121
  end
120
122
 
@@ -43,6 +43,9 @@ module TalonOne
43
43
  # The achievement's end date. If defined, customers cannot participate in the achievement after this date. **Note:** It must be an RFC3339 timestamp string.
44
44
  attr_accessor :end_date
45
45
 
46
+ # When `true`, customer progress can be rolled back in completed achievements.
47
+ attr_accessor :allow_rollback_after_completion
48
+
46
49
  class EnumAttributeValidator
47
50
  attr_reader :datatype
48
51
  attr_reader :allowable_values
@@ -77,7 +80,8 @@ module TalonOne
77
80
  :'recurrence_policy' => :'recurrencePolicy',
78
81
  :'activation_policy' => :'activationPolicy',
79
82
  :'fixed_start_date' => :'fixedStartDate',
80
- :'end_date' => :'endDate'
83
+ :'end_date' => :'endDate',
84
+ :'allow_rollback_after_completion' => :'allowRollbackAfterCompletion'
81
85
  }
82
86
  end
83
87
 
@@ -93,7 +97,8 @@ module TalonOne
93
97
  :'recurrence_policy' => :'String',
94
98
  :'activation_policy' => :'String',
95
99
  :'fixed_start_date' => :'DateTime',
96
- :'end_date' => :'DateTime'
100
+ :'end_date' => :'DateTime',
101
+ :'allow_rollback_after_completion' => :'Boolean'
97
102
  }
98
103
  end
99
104
 
@@ -157,6 +162,10 @@ module TalonOne
157
162
  if attributes.key?(:'end_date')
158
163
  self.end_date = attributes[:'end_date']
159
164
  end
165
+
166
+ if attributes.key?(:'allow_rollback_after_completion')
167
+ self.allow_rollback_after_completion = attributes[:'allow_rollback_after_completion']
168
+ end
160
169
  end
161
170
 
162
171
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -269,7 +278,8 @@ module TalonOne
269
278
  recurrence_policy == o.recurrence_policy &&
270
279
  activation_policy == o.activation_policy &&
271
280
  fixed_start_date == o.fixed_start_date &&
272
- end_date == o.end_date
281
+ end_date == o.end_date &&
282
+ allow_rollback_after_completion == o.allow_rollback_after_completion
273
283
  end
274
284
 
275
285
  # @see the `==` method
@@ -281,7 +291,7 @@ module TalonOne
281
291
  # Calculates hash code according to all attributes.
282
292
  # @return [Integer] Hash code
283
293
  def hash
284
- [name, title, description, target, period, period_end_override, recurrence_policy, activation_policy, fixed_start_date, end_date].hash
294
+ [name, title, description, target, period, period_end_override, recurrence_policy, activation_policy, fixed_start_date, end_date, allow_rollback_after_completion].hash
285
295
  end
286
296
 
287
297
  # Builds the object from hash