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
@@ -13,29 +13,31 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module TalonOne
16
- # A notification regarding a campaign whose ruleset was changed.
17
16
  class CampaignRulesetChangedNotification
18
- attr_accessor :campaign
17
+ # The type of the notification
18
+ attr_accessor :notification_type
19
19
 
20
- attr_accessor :old_ruleset
20
+ # The total size of the result set.
21
+ attr_accessor :total_result_size
21
22
 
22
- attr_accessor :ruleset
23
+ # A list of campaign notification data.
24
+ attr_accessor :data
23
25
 
24
26
  # Attribute mapping from ruby-style variable name to JSON key.
25
27
  def self.attribute_map
26
28
  {
27
- :'campaign' => :'campaign',
28
- :'old_ruleset' => :'oldRuleset',
29
- :'ruleset' => :'ruleset'
29
+ :'notification_type' => :'NotificationType',
30
+ :'total_result_size' => :'TotalResultSize',
31
+ :'data' => :'Data'
30
32
  }
31
33
  end
32
34
 
33
35
  # Attribute type mapping.
34
36
  def self.openapi_types
35
37
  {
36
- :'campaign' => :'Campaign',
37
- :'old_ruleset' => :'Ruleset',
38
- :'ruleset' => :'Ruleset'
38
+ :'notification_type' => :'String',
39
+ :'total_result_size' => :'Integer',
40
+ :'data' => :'Array<CampaignRulesetChangedNotificationItem>'
39
41
  }
40
42
  end
41
43
 
@@ -60,16 +62,18 @@ module TalonOne
60
62
  h[k.to_sym] = v
61
63
  }
62
64
 
63
- if attributes.key?(:'campaign')
64
- self.campaign = attributes[:'campaign']
65
+ if attributes.key?(:'notification_type')
66
+ self.notification_type = attributes[:'notification_type']
65
67
  end
66
68
 
67
- if attributes.key?(:'old_ruleset')
68
- self.old_ruleset = attributes[:'old_ruleset']
69
+ if attributes.key?(:'total_result_size')
70
+ self.total_result_size = attributes[:'total_result_size']
69
71
  end
70
72
 
71
- if attributes.key?(:'ruleset')
72
- self.ruleset = attributes[:'ruleset']
73
+ if attributes.key?(:'data')
74
+ if (value = attributes[:'data']).is_a?(Array)
75
+ self.data = value
76
+ end
73
77
  end
74
78
  end
75
79
 
@@ -77,8 +81,12 @@ module TalonOne
77
81
  # @return Array for valid properties with the reasons
78
82
  def list_invalid_properties
79
83
  invalid_properties = Array.new
80
- if @campaign.nil?
81
- invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
84
+ if @notification_type.nil?
85
+ invalid_properties.push('invalid value for "notification_type", notification_type cannot be nil.')
86
+ end
87
+
88
+ if @total_result_size.nil?
89
+ invalid_properties.push('invalid value for "total_result_size", total_result_size cannot be nil.')
82
90
  end
83
91
 
84
92
  invalid_properties
@@ -87,7 +95,8 @@ module TalonOne
87
95
  # Check to see if the all the properties in the model are valid
88
96
  # @return true if the model is valid
89
97
  def valid?
90
- return false if @campaign.nil?
98
+ return false if @notification_type.nil?
99
+ return false if @total_result_size.nil?
91
100
  true
92
101
  end
93
102
 
@@ -96,9 +105,9 @@ module TalonOne
96
105
  def ==(o)
97
106
  return true if self.equal?(o)
98
107
  self.class == o.class &&
99
- campaign == o.campaign &&
100
- old_ruleset == o.old_ruleset &&
101
- ruleset == o.ruleset
108
+ notification_type == o.notification_type &&
109
+ total_result_size == o.total_result_size &&
110
+ data == o.data
102
111
  end
103
112
 
104
113
  # @see the `==` method
@@ -110,7 +119,7 @@ module TalonOne
110
119
  # Calculates hash code according to all attributes.
111
120
  # @return [Integer] Hash code
112
121
  def hash
113
- [campaign, old_ruleset, ruleset].hash
122
+ [notification_type, total_result_size, data].hash
114
123
  end
115
124
 
116
125
  # Builds the object from hash
@@ -0,0 +1,245 @@
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
+ # A notification regarding a campaign whose ruleset was changed.
17
+ class CampaignRulesetChangedNotificationItem
18
+ # The type of the event. Can be one of the following: ['campaign_state_changed', 'campaign_ruleset_changed', 'campaign_edited', 'campaign_created', 'campaign_deleted']
19
+ attr_accessor :event
20
+
21
+ attr_accessor :campaign
22
+
23
+ attr_accessor :old_ruleset
24
+
25
+ attr_accessor :ruleset
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'event' => :'Event',
31
+ :'campaign' => :'campaign',
32
+ :'old_ruleset' => :'oldRuleset',
33
+ :'ruleset' => :'ruleset'
34
+ }
35
+ end
36
+
37
+ # Attribute type mapping.
38
+ def self.openapi_types
39
+ {
40
+ :'event' => :'String',
41
+ :'campaign' => :'Campaign',
42
+ :'old_ruleset' => :'Ruleset',
43
+ :'ruleset' => :'Ruleset'
44
+ }
45
+ end
46
+
47
+ # List of attributes with nullable: true
48
+ def self.openapi_nullable
49
+ Set.new([
50
+ ])
51
+ end
52
+
53
+ # Initializes the object
54
+ # @param [Hash] attributes Model attributes in the form of hash
55
+ def initialize(attributes = {})
56
+ if (!attributes.is_a?(Hash))
57
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::CampaignRulesetChangedNotificationItem` initialize method"
58
+ end
59
+
60
+ # check to see if the attribute exists and convert string to symbol for hash key
61
+ attributes = attributes.each_with_object({}) { |(k, v), h|
62
+ if (!self.class.attribute_map.key?(k.to_sym))
63
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::CampaignRulesetChangedNotificationItem`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
64
+ end
65
+ h[k.to_sym] = v
66
+ }
67
+
68
+ if attributes.key?(:'event')
69
+ self.event = attributes[:'event']
70
+ end
71
+
72
+ if attributes.key?(:'campaign')
73
+ self.campaign = attributes[:'campaign']
74
+ end
75
+
76
+ if attributes.key?(:'old_ruleset')
77
+ self.old_ruleset = attributes[:'old_ruleset']
78
+ end
79
+
80
+ if attributes.key?(:'ruleset')
81
+ self.ruleset = attributes[:'ruleset']
82
+ end
83
+ end
84
+
85
+ # Show invalid properties with the reasons. Usually used together with valid?
86
+ # @return Array for valid properties with the reasons
87
+ def list_invalid_properties
88
+ invalid_properties = Array.new
89
+ if @event.nil?
90
+ invalid_properties.push('invalid value for "event", event cannot be nil.')
91
+ end
92
+
93
+ if @campaign.nil?
94
+ invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
95
+ end
96
+
97
+ invalid_properties
98
+ end
99
+
100
+ # Check to see if the all the properties in the model are valid
101
+ # @return true if the model is valid
102
+ def valid?
103
+ return false if @event.nil?
104
+ return false if @campaign.nil?
105
+ true
106
+ end
107
+
108
+ # Checks equality by comparing each attribute.
109
+ # @param [Object] Object to be compared
110
+ def ==(o)
111
+ return true if self.equal?(o)
112
+ self.class == o.class &&
113
+ event == o.event &&
114
+ campaign == o.campaign &&
115
+ old_ruleset == o.old_ruleset &&
116
+ ruleset == o.ruleset
117
+ end
118
+
119
+ # @see the `==` method
120
+ # @param [Object] Object to be compared
121
+ def eql?(o)
122
+ self == o
123
+ end
124
+
125
+ # Calculates hash code according to all attributes.
126
+ # @return [Integer] Hash code
127
+ def hash
128
+ [event, campaign, old_ruleset, ruleset].hash
129
+ end
130
+
131
+ # Builds the object from hash
132
+ # @param [Hash] attributes Model attributes in the form of hash
133
+ # @return [Object] Returns the model itself
134
+ def self.build_from_hash(attributes)
135
+ new.build_from_hash(attributes)
136
+ end
137
+
138
+ # Builds the object from hash
139
+ # @param [Hash] attributes Model attributes in the form of hash
140
+ # @return [Object] Returns the model itself
141
+ def build_from_hash(attributes)
142
+ return nil unless attributes.is_a?(Hash)
143
+ self.class.openapi_types.each_pair do |key, type|
144
+ if type =~ /\AArray<(.*)>/i
145
+ # check to ensure the input is an array given that the attribute
146
+ # is documented as an array but the input is not
147
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
148
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
149
+ end
150
+ elsif !attributes[self.class.attribute_map[key]].nil?
151
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
152
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
153
+ end
154
+
155
+ self
156
+ end
157
+
158
+ # Deserializes the data based on type
159
+ # @param string type Data type
160
+ # @param string value Value to be deserialized
161
+ # @return [Object] Deserialized data
162
+ def _deserialize(type, value)
163
+ case type.to_sym
164
+ when :DateTime
165
+ DateTime.parse(value)
166
+ when :Date
167
+ Date.parse(value)
168
+ when :String
169
+ value.to_s
170
+ when :Integer
171
+ value.to_i
172
+ when :Float
173
+ value.to_f
174
+ when :Boolean
175
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
176
+ true
177
+ else
178
+ false
179
+ end
180
+ when :Object
181
+ # generic object (usually a Hash), return directly
182
+ value
183
+ when /\AArray<(?<inner_type>.+)>\z/
184
+ inner_type = Regexp.last_match[:inner_type]
185
+ value.map { |v| _deserialize(inner_type, v) }
186
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
187
+ k_type = Regexp.last_match[:k_type]
188
+ v_type = Regexp.last_match[:v_type]
189
+ {}.tap do |hash|
190
+ value.each do |k, v|
191
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
192
+ end
193
+ end
194
+ else # model
195
+ TalonOne.const_get(type).build_from_hash(value)
196
+ end
197
+ end
198
+
199
+ # Returns the string representation of the object
200
+ # @return [String] String presentation of the object
201
+ def to_s
202
+ to_hash.to_s
203
+ end
204
+
205
+ # to_body is an alias to to_hash (backward compatibility)
206
+ # @return [Hash] Returns the object in the form of hash
207
+ def to_body
208
+ to_hash
209
+ end
210
+
211
+ # Returns the object in the form of hash
212
+ # @return [Hash] Returns the object in the form of hash
213
+ def to_hash
214
+ hash = {}
215
+ self.class.attribute_map.each_pair do |attr, param|
216
+ value = self.send(attr)
217
+ if value.nil?
218
+ is_nullable = self.class.openapi_nullable.include?(attr)
219
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
220
+ end
221
+
222
+ hash[param] = _to_hash(value)
223
+ end
224
+ hash
225
+ end
226
+
227
+ # Outputs non-array value in the form of hash
228
+ # For object, use to_hash. Otherwise, just return the value
229
+ # @param [Object] value Any valid value
230
+ # @return [Hash] Returns the value in the form of hash
231
+ def _to_hash(value)
232
+ if value.is_a?(Array)
233
+ value.compact.map { |v| _to_hash(v) }
234
+ elsif value.is_a?(Hash)
235
+ {}.tap do |hash|
236
+ value.each { |k, v| hash[k] = _to_hash(v) }
237
+ end
238
+ elsif value.respond_to? :to_hash
239
+ value.to_hash
240
+ else
241
+ value
242
+ end
243
+ end
244
+ end
245
+ end
@@ -13,35 +13,31 @@ OpenAPI Generator version: 4.3.1
13
13
  require 'date'
14
14
 
15
15
  module TalonOne
16
- # A notification regarding a campaign whose state changed.
17
16
  class CampaignStateChangedNotification
18
- attr_accessor :campaign
17
+ # The type of the notification
18
+ attr_accessor :notification_type
19
19
 
20
- # The campaign's old state. Can be one of the following: ['running', 'disabled', 'scheduled', 'expired', 'archived']
21
- attr_accessor :old_state
20
+ # The total size of the result set.
21
+ attr_accessor :total_result_size
22
22
 
23
- # The campaign's new state. Can be one of the following: ['running', 'disabled', 'scheduled', 'expired', 'archived']
24
- attr_accessor :new_state
25
-
26
- attr_accessor :ruleset
23
+ # A list of campaign notification data.
24
+ attr_accessor :data
27
25
 
28
26
  # Attribute mapping from ruby-style variable name to JSON key.
29
27
  def self.attribute_map
30
28
  {
31
- :'campaign' => :'campaign',
32
- :'old_state' => :'oldState',
33
- :'new_state' => :'newState',
34
- :'ruleset' => :'ruleset'
29
+ :'notification_type' => :'NotificationType',
30
+ :'total_result_size' => :'TotalResultSize',
31
+ :'data' => :'Data'
35
32
  }
36
33
  end
37
34
 
38
35
  # Attribute type mapping.
39
36
  def self.openapi_types
40
37
  {
41
- :'campaign' => :'Campaign',
42
- :'old_state' => :'String',
43
- :'new_state' => :'String',
44
- :'ruleset' => :'Ruleset'
38
+ :'notification_type' => :'String',
39
+ :'total_result_size' => :'Integer',
40
+ :'data' => :'Array<CampaignStateChangedNotificationItem>'
45
41
  }
46
42
  end
47
43
 
@@ -66,20 +62,18 @@ module TalonOne
66
62
  h[k.to_sym] = v
67
63
  }
68
64
 
69
- if attributes.key?(:'campaign')
70
- self.campaign = attributes[:'campaign']
71
- end
72
-
73
- if attributes.key?(:'old_state')
74
- self.old_state = attributes[:'old_state']
65
+ if attributes.key?(:'notification_type')
66
+ self.notification_type = attributes[:'notification_type']
75
67
  end
76
68
 
77
- if attributes.key?(:'new_state')
78
- self.new_state = attributes[:'new_state']
69
+ if attributes.key?(:'total_result_size')
70
+ self.total_result_size = attributes[:'total_result_size']
79
71
  end
80
72
 
81
- if attributes.key?(:'ruleset')
82
- self.ruleset = attributes[:'ruleset']
73
+ if attributes.key?(:'data')
74
+ if (value = attributes[:'data']).is_a?(Array)
75
+ self.data = value
76
+ end
83
77
  end
84
78
  end
85
79
 
@@ -87,16 +81,12 @@ module TalonOne
87
81
  # @return Array for valid properties with the reasons
88
82
  def list_invalid_properties
89
83
  invalid_properties = Array.new
90
- if @campaign.nil?
91
- invalid_properties.push('invalid value for "campaign", campaign cannot be nil.')
92
- end
93
-
94
- if @old_state.nil?
95
- invalid_properties.push('invalid value for "old_state", old_state cannot be nil.')
84
+ if @notification_type.nil?
85
+ invalid_properties.push('invalid value for "notification_type", notification_type cannot be nil.')
96
86
  end
97
87
 
98
- if @new_state.nil?
99
- invalid_properties.push('invalid value for "new_state", new_state cannot be nil.')
88
+ if @total_result_size.nil?
89
+ invalid_properties.push('invalid value for "total_result_size", total_result_size cannot be nil.')
100
90
  end
101
91
 
102
92
  invalid_properties
@@ -105,9 +95,8 @@ module TalonOne
105
95
  # Check to see if the all the properties in the model are valid
106
96
  # @return true if the model is valid
107
97
  def valid?
108
- return false if @campaign.nil?
109
- return false if @old_state.nil?
110
- return false if @new_state.nil?
98
+ return false if @notification_type.nil?
99
+ return false if @total_result_size.nil?
111
100
  true
112
101
  end
113
102
 
@@ -116,10 +105,9 @@ module TalonOne
116
105
  def ==(o)
117
106
  return true if self.equal?(o)
118
107
  self.class == o.class &&
119
- campaign == o.campaign &&
120
- old_state == o.old_state &&
121
- new_state == o.new_state &&
122
- ruleset == o.ruleset
108
+ notification_type == o.notification_type &&
109
+ total_result_size == o.total_result_size &&
110
+ data == o.data
123
111
  end
124
112
 
125
113
  # @see the `==` method
@@ -131,7 +119,7 @@ module TalonOne
131
119
  # Calculates hash code according to all attributes.
132
120
  # @return [Integer] Hash code
133
121
  def hash
134
- [campaign, old_state, new_state, ruleset].hash
122
+ [notification_type, total_result_size, data].hash
135
123
  end
136
124
 
137
125
  # Builds the object from hash