talon_one 9.0.0 → 11.0.0

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