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
@@ -30,6 +30,9 @@ module TalonOne
30
30
  # Total of expired points for this loyalty program.
31
31
  attr_accessor :total_expired_points
32
32
 
33
+ # Total of negative points for this loyalty program.
34
+ attr_accessor :total_negative_points
35
+
33
36
  # Number of loyalty program members.
34
37
  attr_accessor :total_members
35
38
 
@@ -48,6 +51,7 @@ module TalonOne
48
51
  :'total_pending_points' => :'totalPendingPoints',
49
52
  :'total_spent_points' => :'totalSpentPoints',
50
53
  :'total_expired_points' => :'totalExpiredPoints',
54
+ :'total_negative_points' => :'totalNegativePoints',
51
55
  :'total_members' => :'totalMembers',
52
56
  :'new_members' => :'newMembers',
53
57
  :'spent_points' => :'spentPoints',
@@ -63,6 +67,7 @@ module TalonOne
63
67
  :'total_pending_points' => :'Float',
64
68
  :'total_spent_points' => :'Float',
65
69
  :'total_expired_points' => :'Float',
70
+ :'total_negative_points' => :'Float',
66
71
  :'total_members' => :'Float',
67
72
  :'new_members' => :'Float',
68
73
  :'spent_points' => :'LoyaltyDashboardPointsBreakdown',
@@ -111,6 +116,10 @@ module TalonOne
111
116
  self.total_expired_points = attributes[:'total_expired_points']
112
117
  end
113
118
 
119
+ if attributes.key?(:'total_negative_points')
120
+ self.total_negative_points = attributes[:'total_negative_points']
121
+ end
122
+
114
123
  if attributes.key?(:'total_members')
115
124
  self.total_members = attributes[:'total_members']
116
125
  end
@@ -152,6 +161,10 @@ module TalonOne
152
161
  invalid_properties.push('invalid value for "total_expired_points", total_expired_points cannot be nil.')
153
162
  end
154
163
 
164
+ if @total_negative_points.nil?
165
+ invalid_properties.push('invalid value for "total_negative_points", total_negative_points cannot be nil.')
166
+ end
167
+
155
168
  if @total_members.nil?
156
169
  invalid_properties.push('invalid value for "total_members", total_members cannot be nil.')
157
170
  end
@@ -179,6 +192,7 @@ module TalonOne
179
192
  return false if @total_pending_points.nil?
180
193
  return false if @total_spent_points.nil?
181
194
  return false if @total_expired_points.nil?
195
+ return false if @total_negative_points.nil?
182
196
  return false if @total_members.nil?
183
197
  return false if @new_members.nil?
184
198
  return false if @spent_points.nil?
@@ -196,6 +210,7 @@ module TalonOne
196
210
  total_pending_points == o.total_pending_points &&
197
211
  total_spent_points == o.total_spent_points &&
198
212
  total_expired_points == o.total_expired_points &&
213
+ total_negative_points == o.total_negative_points &&
199
214
  total_members == o.total_members &&
200
215
  new_members == o.new_members &&
201
216
  spent_points == o.spent_points &&
@@ -211,7 +226,7 @@ module TalonOne
211
226
  # Calculates hash code according to all attributes.
212
227
  # @return [Integer] Hash code
213
228
  def hash
214
- [date, total_active_points, total_pending_points, total_spent_points, total_expired_points, total_members, new_members, spent_points, earned_points].hash
229
+ [date, total_active_points, total_pending_points, total_spent_points, total_expired_points, total_negative_points, total_members, new_members, spent_points, earned_points].hash
215
230
  end
216
231
 
217
232
  # Builds the object from hash
@@ -0,0 +1,238 @@
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
+ # The properties specific to effects for changing the expiry dates of loyalty ledger entries.
17
+ class LoyaltyLedgerEntryExpiryDateChange
18
+ # The identifier of the transaction affected by the extension or update.
19
+ attr_accessor :transaction_uuid
20
+
21
+ # Expiry date of the transactions before applying the extension or update.
22
+ attr_accessor :previous_expiry_date
23
+
24
+ # Expiry date of the transaction after applying the extension or update.
25
+ attr_accessor :new_expiry_date
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'transaction_uuid' => :'transactionUUID',
31
+ :'previous_expiry_date' => :'previousExpiryDate',
32
+ :'new_expiry_date' => :'newExpiryDate'
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'transaction_uuid' => :'String',
40
+ :'previous_expiry_date' => :'DateTime',
41
+ :'new_expiry_date' => :'DateTime'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::LoyaltyLedgerEntryExpiryDateChange` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::LoyaltyLedgerEntryExpiryDateChange`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'transaction_uuid')
67
+ self.transaction_uuid = attributes[:'transaction_uuid']
68
+ end
69
+
70
+ if attributes.key?(:'previous_expiry_date')
71
+ self.previous_expiry_date = attributes[:'previous_expiry_date']
72
+ end
73
+
74
+ if attributes.key?(:'new_expiry_date')
75
+ self.new_expiry_date = attributes[:'new_expiry_date']
76
+ end
77
+ end
78
+
79
+ # Show invalid properties with the reasons. Usually used together with valid?
80
+ # @return Array for valid properties with the reasons
81
+ def list_invalid_properties
82
+ invalid_properties = Array.new
83
+ if @transaction_uuid.nil?
84
+ invalid_properties.push('invalid value for "transaction_uuid", transaction_uuid cannot be nil.')
85
+ end
86
+
87
+ if @new_expiry_date.nil?
88
+ invalid_properties.push('invalid value for "new_expiry_date", new_expiry_date cannot be nil.')
89
+ end
90
+
91
+ invalid_properties
92
+ end
93
+
94
+ # Check to see if the all the properties in the model are valid
95
+ # @return true if the model is valid
96
+ def valid?
97
+ return false if @transaction_uuid.nil?
98
+ return false if @new_expiry_date.nil?
99
+ true
100
+ end
101
+
102
+ # Checks equality by comparing each attribute.
103
+ # @param [Object] Object to be compared
104
+ def ==(o)
105
+ return true if self.equal?(o)
106
+ self.class == o.class &&
107
+ transaction_uuid == o.transaction_uuid &&
108
+ previous_expiry_date == o.previous_expiry_date &&
109
+ new_expiry_date == o.new_expiry_date
110
+ end
111
+
112
+ # @see the `==` method
113
+ # @param [Object] Object to be compared
114
+ def eql?(o)
115
+ self == o
116
+ end
117
+
118
+ # Calculates hash code according to all attributes.
119
+ # @return [Integer] Hash code
120
+ def hash
121
+ [transaction_uuid, previous_expiry_date, new_expiry_date].hash
122
+ end
123
+
124
+ # Builds the object from hash
125
+ # @param [Hash] attributes Model attributes in the form of hash
126
+ # @return [Object] Returns the model itself
127
+ def self.build_from_hash(attributes)
128
+ new.build_from_hash(attributes)
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 build_from_hash(attributes)
135
+ return nil unless attributes.is_a?(Hash)
136
+ self.class.openapi_types.each_pair do |key, type|
137
+ if type =~ /\AArray<(.*)>/i
138
+ # check to ensure the input is an array given that the attribute
139
+ # is documented as an array but the input is not
140
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
141
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
142
+ end
143
+ elsif !attributes[self.class.attribute_map[key]].nil?
144
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
145
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
146
+ end
147
+
148
+ self
149
+ end
150
+
151
+ # Deserializes the data based on type
152
+ # @param string type Data type
153
+ # @param string value Value to be deserialized
154
+ # @return [Object] Deserialized data
155
+ def _deserialize(type, value)
156
+ case type.to_sym
157
+ when :DateTime
158
+ DateTime.parse(value)
159
+ when :Date
160
+ Date.parse(value)
161
+ when :String
162
+ value.to_s
163
+ when :Integer
164
+ value.to_i
165
+ when :Float
166
+ value.to_f
167
+ when :Boolean
168
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
169
+ true
170
+ else
171
+ false
172
+ end
173
+ when :Object
174
+ # generic object (usually a Hash), return directly
175
+ value
176
+ when /\AArray<(?<inner_type>.+)>\z/
177
+ inner_type = Regexp.last_match[:inner_type]
178
+ value.map { |v| _deserialize(inner_type, v) }
179
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
180
+ k_type = Regexp.last_match[:k_type]
181
+ v_type = Regexp.last_match[:v_type]
182
+ {}.tap do |hash|
183
+ value.each do |k, v|
184
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
185
+ end
186
+ end
187
+ else # model
188
+ TalonOne.const_get(type).build_from_hash(value)
189
+ end
190
+ end
191
+
192
+ # Returns the string representation of the object
193
+ # @return [String] String presentation of the object
194
+ def to_s
195
+ to_hash.to_s
196
+ end
197
+
198
+ # to_body is an alias to to_hash (backward compatibility)
199
+ # @return [Hash] Returns the object in the form of hash
200
+ def to_body
201
+ to_hash
202
+ end
203
+
204
+ # Returns the object in the form of hash
205
+ # @return [Hash] Returns the object in the form of hash
206
+ def to_hash
207
+ hash = {}
208
+ self.class.attribute_map.each_pair do |attr, param|
209
+ value = self.send(attr)
210
+ if value.nil?
211
+ is_nullable = self.class.openapi_nullable.include?(attr)
212
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
213
+ end
214
+
215
+ hash[param] = _to_hash(value)
216
+ end
217
+ hash
218
+ end
219
+
220
+ # Outputs non-array value in the form of hash
221
+ # For object, use to_hash. Otherwise, just return the value
222
+ # @param [Object] value Any valid value
223
+ # @return [Hash] Returns the value in the form of hash
224
+ def _to_hash(value)
225
+ if value.is_a?(Array)
226
+ value.compact.map { |v| _to_hash(v) }
227
+ elsif value.is_a?(Hash)
228
+ {}.tap do |hash|
229
+ value.each { |k, v| hash[k] = _to_hash(v) }
230
+ end
231
+ elsif value.respond_to? :to_hash
232
+ value.to_hash
233
+ else
234
+ value
235
+ end
236
+ end
237
+ end
238
+ end
@@ -33,7 +33,7 @@ module TalonOne
33
33
  # The default duration after which new loyalty points should expire. Can be 'unlimited' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month.
34
34
  attr_accessor :default_validity
35
35
 
36
- # The default duration of the pending time after which points should be valid. Can be 'immediate' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month.
36
+ # The default duration of the pending time after which points should be valid. Accepted values: 'immediate', 'on_action' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month.
37
37
  attr_accessor :default_pending
38
38
 
39
39
  # Indicates if this program supports subledgers inside the program.
@@ -17,6 +17,9 @@ module TalonOne
17
17
  # ID of the loyalty ledger transaction.
18
18
  attr_accessor :id
19
19
 
20
+ # Unique identifier of the transaction in the UUID format.
21
+ attr_accessor :transaction_uuid
22
+
20
23
  # ID of the loyalty program.
21
24
  attr_accessor :program_id
22
25
 
@@ -96,6 +99,7 @@ module TalonOne
96
99
  def self.attribute_map
97
100
  {
98
101
  :'id' => :'id',
102
+ :'transaction_uuid' => :'transactionUUID',
99
103
  :'program_id' => :'programId',
100
104
  :'campaign_id' => :'campaignId',
101
105
  :'created' => :'created',
@@ -121,6 +125,7 @@ module TalonOne
121
125
  def self.openapi_types
122
126
  {
123
127
  :'id' => :'Integer',
128
+ :'transaction_uuid' => :'String',
124
129
  :'program_id' => :'Integer',
125
130
  :'campaign_id' => :'Integer',
126
131
  :'created' => :'DateTime',
@@ -167,6 +172,10 @@ module TalonOne
167
172
  self.id = attributes[:'id']
168
173
  end
169
174
 
175
+ if attributes.key?(:'transaction_uuid')
176
+ self.transaction_uuid = attributes[:'transaction_uuid']
177
+ end
178
+
170
179
  if attributes.key?(:'program_id')
171
180
  self.program_id = attributes[:'program_id']
172
181
  end
@@ -248,6 +257,10 @@ module TalonOne
248
257
  invalid_properties.push('invalid value for "id", id cannot be nil.')
249
258
  end
250
259
 
260
+ if @transaction_uuid.nil?
261
+ invalid_properties.push('invalid value for "transaction_uuid", transaction_uuid cannot be nil.')
262
+ end
263
+
251
264
  if @program_id.nil?
252
265
  invalid_properties.push('invalid value for "program_id", program_id cannot be nil.')
253
266
  end
@@ -320,6 +333,7 @@ module TalonOne
320
333
  # @return true if the model is valid
321
334
  def valid?
322
335
  return false if @id.nil?
336
+ return false if @transaction_uuid.nil?
323
337
  return false if @program_id.nil?
324
338
  return false if @created.nil?
325
339
  return false if @type.nil?
@@ -434,6 +448,7 @@ module TalonOne
434
448
  return true if self.equal?(o)
435
449
  self.class == o.class &&
436
450
  id == o.id &&
451
+ transaction_uuid == o.transaction_uuid &&
437
452
  program_id == o.program_id &&
438
453
  campaign_id == o.campaign_id &&
439
454
  created == o.created &&
@@ -463,7 +478,7 @@ module TalonOne
463
478
  # Calculates hash code according to all attributes.
464
479
  # @return [Integer] Hash code
465
480
  def hash
466
- [id, program_id, campaign_id, created, type, amount, name, start_date, expiry_date, customer_profile_id, card_identifier, subledger_id, customer_session_id, import_id, user_id, user_email, ruleset_id, rule_name, flags].hash
481
+ [id, transaction_uuid, program_id, campaign_id, created, type, amount, name, start_date, expiry_date, customer_profile_id, card_identifier, subledger_id, customer_session_id, import_id, user_id, user_email, ruleset_id, rule_name, flags].hash
467
482
  end
468
483
 
469
484
  # Builds the object from hash
@@ -27,7 +27,7 @@ module TalonOne
27
27
  # The default duration after which new loyalty points should expire. Can be 'unlimited' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month.
28
28
  attr_accessor :default_validity
29
29
 
30
- # The default duration of the pending time after which points should be valid. Can be 'immediate' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month.
30
+ # The default duration of the pending time after which points should be valid. Accepted values: 'immediate', 'on_action' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month.
31
31
  attr_accessor :default_pending
32
32
 
33
33
  # Indicates if this program supports subledgers inside the program.
@@ -14,12 +14,6 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class NewMessageTest
17
- # The message type.
18
- attr_accessor :type
19
-
20
- # Array of query parameters.
21
- attr_accessor :_query_params
22
-
23
17
  # List of API HTTP headers for the given message.
24
18
  attr_accessor :headers
25
19
 
@@ -32,6 +26,12 @@ module TalonOne
32
26
  # API payload of this message.
33
27
  attr_accessor :payload
34
28
 
29
+ # Array of template argument definitions.
30
+ attr_accessor :params
31
+
32
+ # The IDs of the Applications in which this webhook is available. An empty array means the webhook is available in `All Applications`.
33
+ attr_accessor :application_ids
34
+
35
35
  class EnumAttributeValidator
36
36
  attr_reader :datatype
37
37
  attr_reader :allowable_values
@@ -57,24 +57,24 @@ module TalonOne
57
57
  # Attribute mapping from ruby-style variable name to JSON key.
58
58
  def self.attribute_map
59
59
  {
60
- :'type' => :'type',
61
- :'_query_params' => :'queryParams',
62
60
  :'headers' => :'headers',
63
61
  :'verb' => :'verb',
64
62
  :'url' => :'url',
65
- :'payload' => :'payload'
63
+ :'payload' => :'payload',
64
+ :'params' => :'params',
65
+ :'application_ids' => :'applicationIds'
66
66
  }
67
67
  end
68
68
 
69
69
  # Attribute type mapping.
70
70
  def self.openapi_types
71
71
  {
72
- :'type' => :'String',
73
- :'_query_params' => :'Hash<String, String>',
74
72
  :'headers' => :'Hash<String, String>',
75
73
  :'verb' => :'String',
76
74
  :'url' => :'String',
77
- :'payload' => :'String'
75
+ :'payload' => :'String',
76
+ :'params' => :'Array<TemplateArgDef>',
77
+ :'application_ids' => :'Array<Integer>'
78
78
  }
79
79
  end
80
80
 
@@ -99,16 +99,6 @@ module TalonOne
99
99
  h[k.to_sym] = v
100
100
  }
101
101
 
102
- if attributes.key?(:'type')
103
- self.type = attributes[:'type']
104
- end
105
-
106
- if attributes.key?(:'_query_params')
107
- if (value = attributes[:'_query_params']).is_a?(Hash)
108
- self._query_params = value
109
- end
110
- end
111
-
112
102
  if attributes.key?(:'headers')
113
103
  if (value = attributes[:'headers']).is_a?(Hash)
114
104
  self.headers = value
@@ -126,16 +116,24 @@ module TalonOne
126
116
  if attributes.key?(:'payload')
127
117
  self.payload = attributes[:'payload']
128
118
  end
119
+
120
+ if attributes.key?(:'params')
121
+ if (value = attributes[:'params']).is_a?(Array)
122
+ self.params = value
123
+ end
124
+ end
125
+
126
+ if attributes.key?(:'application_ids')
127
+ if (value = attributes[:'application_ids']).is_a?(Array)
128
+ self.application_ids = value
129
+ end
130
+ end
129
131
  end
130
132
 
131
133
  # Show invalid properties with the reasons. Usually used together with valid?
132
134
  # @return Array for valid properties with the reasons
133
135
  def list_invalid_properties
134
136
  invalid_properties = Array.new
135
- if @type.nil?
136
- invalid_properties.push('invalid value for "type", type cannot be nil.')
137
- end
138
-
139
137
  if @verb.nil?
140
138
  invalid_properties.push('invalid value for "verb", verb cannot be nil.')
141
139
  end
@@ -150,9 +148,6 @@ module TalonOne
150
148
  # Check to see if the all the properties in the model are valid
151
149
  # @return true if the model is valid
152
150
  def valid?
153
- return false if @type.nil?
154
- type_validator = EnumAttributeValidator.new('String', ["campaign", "loyalty_added_deducted_points", "card_added_deducted_points", "loyalty_added_deducted_points_balances", "loyalty_card_added_deducted_points_balances", "coupon", "expiring_coupons", "expiring_points", "pending_to_active_points", "strikethrough_pricing", "tier_downgrade", "tier_upgrade", "tier_will_downgrade", "card_expiring_points", "rule_engine_webhook"])
155
- return false unless type_validator.valid?(@type)
156
151
  return false if @verb.nil?
157
152
  verb_validator = EnumAttributeValidator.new('String', ["POST", "PUT", "GET", "DELETE", "PATCH"])
158
153
  return false unless verb_validator.valid?(@verb)
@@ -160,16 +155,6 @@ module TalonOne
160
155
  true
161
156
  end
162
157
 
163
- # Custom attribute writer method checking allowed values (enum).
164
- # @param [Object] type Object to be assigned
165
- def type=(type)
166
- validator = EnumAttributeValidator.new('String', ["campaign", "loyalty_added_deducted_points", "card_added_deducted_points", "loyalty_added_deducted_points_balances", "loyalty_card_added_deducted_points_balances", "coupon", "expiring_coupons", "expiring_points", "pending_to_active_points", "strikethrough_pricing", "tier_downgrade", "tier_upgrade", "tier_will_downgrade", "card_expiring_points", "rule_engine_webhook"])
167
- unless validator.valid?(type)
168
- fail ArgumentError, "invalid value for \"type\", must be one of #{validator.allowable_values}."
169
- end
170
- @type = type
171
- end
172
-
173
158
  # Custom attribute writer method checking allowed values (enum).
174
159
  # @param [Object] verb Object to be assigned
175
160
  def verb=(verb)
@@ -185,12 +170,12 @@ module TalonOne
185
170
  def ==(o)
186
171
  return true if self.equal?(o)
187
172
  self.class == o.class &&
188
- type == o.type &&
189
- _query_params == o._query_params &&
190
173
  headers == o.headers &&
191
174
  verb == o.verb &&
192
175
  url == o.url &&
193
- payload == o.payload
176
+ payload == o.payload &&
177
+ params == o.params &&
178
+ application_ids == o.application_ids
194
179
  end
195
180
 
196
181
  # @see the `==` method
@@ -202,7 +187,7 @@ module TalonOne
202
187
  # Calculates hash code according to all attributes.
203
188
  # @return [Integer] Hash code
204
189
  def hash
205
- [type, _query_params, headers, verb, url, payload].hash
190
+ [headers, verb, url, payload, params, application_ids].hash
206
191
  end
207
192
 
208
193
  # Builds the object from hash
@@ -32,6 +32,9 @@ module TalonOne
32
32
  # The date and time until which the price adjustment is effective.
33
33
  attr_accessor :effective_until
34
34
 
35
+ # Identifier of the context of this price adjustment (e.g. summer sale).
36
+ attr_accessor :context_id
37
+
35
38
  # Attribute mapping from ruby-style variable name to JSON key.
36
39
  def self.attribute_map
37
40
  {
@@ -40,7 +43,8 @@ module TalonOne
40
43
  :'reference_id' => :'referenceId',
41
44
  :'calculated_at' => :'calculatedAt',
42
45
  :'effective_from' => :'effectiveFrom',
43
- :'effective_until' => :'effectiveUntil'
46
+ :'effective_until' => :'effectiveUntil',
47
+ :'context_id' => :'contextId'
44
48
  }
45
49
  end
46
50
 
@@ -52,7 +56,8 @@ module TalonOne
52
56
  :'reference_id' => :'String',
53
57
  :'calculated_at' => :'DateTime',
54
58
  :'effective_from' => :'DateTime',
55
- :'effective_until' => :'DateTime'
59
+ :'effective_until' => :'DateTime',
60
+ :'context_id' => :'String'
56
61
  }
57
62
  end
58
63
 
@@ -101,6 +106,10 @@ module TalonOne
101
106
  if attributes.key?(:'effective_until')
102
107
  self.effective_until = attributes[:'effective_until']
103
108
  end
109
+
110
+ if attributes.key?(:'context_id')
111
+ self.context_id = attributes[:'context_id']
112
+ end
104
113
  end
105
114
 
106
115
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -115,6 +124,10 @@ module TalonOne
115
124
  invalid_properties.push('invalid value for "reference_id", reference_id cannot be nil.')
116
125
  end
117
126
 
127
+ if @reference_id.to_s.length < 1
128
+ invalid_properties.push('invalid value for "reference_id", the character length must be great than or equal to 1.')
129
+ end
130
+
118
131
  invalid_properties
119
132
  end
120
133
 
@@ -123,9 +136,24 @@ module TalonOne
123
136
  def valid?
124
137
  return false if @price_type.nil?
125
138
  return false if @reference_id.nil?
139
+ return false if @reference_id.to_s.length < 1
126
140
  true
127
141
  end
128
142
 
143
+ # Custom attribute writer method with validation
144
+ # @param [Object] reference_id Value to be assigned
145
+ def reference_id=(reference_id)
146
+ if reference_id.nil?
147
+ fail ArgumentError, 'reference_id cannot be nil'
148
+ end
149
+
150
+ if reference_id.to_s.length < 1
151
+ fail ArgumentError, 'invalid value for "reference_id", the character length must be great than or equal to 1.'
152
+ end
153
+
154
+ @reference_id = reference_id
155
+ end
156
+
129
157
  # Checks equality by comparing each attribute.
130
158
  # @param [Object] Object to be compared
131
159
  def ==(o)
@@ -136,7 +164,8 @@ module TalonOne
136
164
  reference_id == o.reference_id &&
137
165
  calculated_at == o.calculated_at &&
138
166
  effective_from == o.effective_from &&
139
- effective_until == o.effective_until
167
+ effective_until == o.effective_until &&
168
+ context_id == o.context_id
140
169
  end
141
170
 
142
171
  # @see the `==` method
@@ -148,7 +177,7 @@ module TalonOne
148
177
  # Calculates hash code according to all attributes.
149
178
  # @return [Integer] Hash code
150
179
  def hash
151
- [price_type, price, reference_id, calculated_at, effective_from, effective_until].hash
180
+ [price_type, price, reference_id, calculated_at, effective_from, effective_until, context_id].hash
152
181
  end
153
182
 
154
183
  # Builds the object from hash
@@ -17,13 +17,13 @@ module TalonOne
17
17
  # The API name of the price type. This is an immutable value.
18
18
  attr_accessor :name
19
19
 
20
- # The title of the price type.
20
+ # The name displayed in the Campaign Manager for the price type.
21
21
  attr_accessor :title
22
22
 
23
- # The description of the price type.
23
+ # A description of the price type.
24
24
  attr_accessor :description
25
25
 
26
- # A list of the IDs of the audiences that are targeted by this price type.
26
+ # A list of the IDs of the audiences targeted by this price type.
27
27
  attr_accessor :targeted_audiences_ids
28
28
 
29
29
  # Attribute mapping from ruby-style variable name to JSON key.