talon_one 3.0.2 → 5.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (649) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +157 -51
  3. data/docs/AccountAnalytics.md +3 -1
  4. data/docs/AccountDashboardStatistic.md +0 -2
  5. data/docs/AccountDashboardStatisticCampaigns.md +4 -2
  6. data/docs/Achievement.md +39 -0
  7. data/docs/AchievementAdditionalProperties.md +23 -0
  8. data/docs/AchievementProgress.md +35 -0
  9. data/docs/ActivateUserRequest.md +17 -0
  10. data/docs/AddItemCatalogAction.md +3 -1
  11. data/docs/AddLoyaltyPoints.md +2 -2
  12. data/docs/AddLoyaltyPointsEffectProps.md +1 -1
  13. data/docs/AddToAudienceEffectProps.md +23 -0
  14. data/docs/AdditionalCampaignProperties.md +59 -0
  15. data/docs/Application.md +3 -5
  16. data/docs/ApplicationAPIKey.md +6 -2
  17. data/docs/ApplicationAnalyticsDataPoint.md +31 -0
  18. data/docs/ApplicationAnalyticsDataPointAvgItemsPerSession.md +19 -0
  19. data/docs/ApplicationAnalyticsDataPointAvgSessionValue.md +19 -0
  20. data/docs/ApplicationAnalyticsDataPointSessionsCount.md +19 -0
  21. data/docs/ApplicationAnalyticsDataPointTotalRevenue.md +19 -0
  22. data/docs/ApplicationCampaignAnalytics.md +45 -0
  23. data/docs/ApplicationCampaignAnalyticsAvgItemsPerSession.md +21 -0
  24. data/docs/ApplicationCampaignAnalyticsAvgSessionValue.md +21 -0
  25. data/docs/ApplicationCampaignAnalyticsCouponsCount.md +19 -0
  26. data/docs/ApplicationCampaignAnalyticsSessionsCount.md +21 -0
  27. data/docs/ApplicationCampaignAnalyticsTotalDiscounts.md +19 -0
  28. data/docs/ApplicationCampaignAnalyticsTotalRevenue.md +21 -0
  29. data/docs/ApplicationCustomer.md +2 -2
  30. data/docs/ApplicationEvent.md +4 -0
  31. data/docs/ApplicationNotification.md +1 -1
  32. data/docs/ApplicationSession.md +5 -3
  33. data/docs/ApplicationStoreEntity.md +17 -0
  34. data/docs/Audience.md +1 -1
  35. data/docs/AudienceAnalytics.md +1 -1
  36. data/docs/AudienceCustomer.md +2 -2
  37. data/docs/BaseCampaign.md +45 -0
  38. data/docs/BaseLoyaltyProgram.md +9 -1
  39. data/docs/BaseNotification.md +5 -1
  40. data/docs/BaseNotificationEntity.md +3 -1
  41. data/docs/BaseNotificationWebhook.md +3 -1
  42. data/docs/BulkOperationOnCampaigns.md +19 -0
  43. data/docs/Campaign.md +25 -17
  44. data/docs/CampaignBudget.md +21 -0
  45. data/docs/CampaignCopy.md +3 -1
  46. data/docs/CampaignCreatedNotification.md +2 -2
  47. data/docs/CampaignEvaluationGroup.md +31 -0
  48. data/docs/CampaignEvaluationPosition.md +21 -0
  49. data/docs/CampaignEvaluationTreeChangedNotification.md +21 -0
  50. data/docs/CampaignGroup.md +6 -6
  51. data/docs/CampaignNotificationPolicy.md +17 -0
  52. data/docs/CampaignSet.md +3 -5
  53. data/docs/CampaignSetBranchNode.md +13 -3
  54. data/docs/CampaignTemplate.md +2 -0
  55. data/docs/CardExpiringPointsNotificationPolicy.md +21 -0
  56. data/docs/CardExpiringPointsNotificationTrigger.md +19 -0
  57. data/docs/CardLedgerPointsEntryIntegrationAPI.md +35 -0
  58. data/docs/CartItem.md +4 -2
  59. data/docs/CatalogItem.md +3 -1
  60. data/docs/ChangeLoyaltyTierLevelEffectProps.md +27 -0
  61. data/docs/Coupon.md +5 -3
  62. data/docs/CouponCreationJob.md +1 -1
  63. data/docs/CouponsNotificationPolicy.md +3 -1
  64. data/docs/CreateAchievement.md +27 -0
  65. data/docs/CreateApplicationAPIKey.md +7 -3
  66. data/docs/CreateTemplateCampaign.md +6 -2
  67. data/docs/CustomEffectProps.md +1 -1
  68. data/docs/CustomerInventory.md +4 -2
  69. data/docs/CustomerProfile.md +2 -2
  70. data/docs/CustomerProfileAudienceRequestItem.md +1 -1
  71. data/docs/CustomerProfileIntegrationResponseV2.md +33 -0
  72. data/docs/CustomerSession.md +1 -1
  73. data/docs/CustomerSessionV2.md +8 -6
  74. data/docs/DeactivateUserRequest.md +17 -0
  75. data/docs/DeleteUserRequest.md +17 -0
  76. data/docs/Effect.md +2 -0
  77. data/docs/EffectEntity.md +3 -1
  78. data/docs/EmailEntity.md +1 -1
  79. data/docs/Environment.md +2 -0
  80. data/docs/Event.md +2 -0
  81. data/docs/EventV2.md +4 -2
  82. data/docs/ExpiringCouponsNotificationPolicy.md +21 -0
  83. data/docs/ExpiringCouponsNotificationTrigger.md +19 -0
  84. data/docs/ExpiringPointsNotificationPolicy.md +4 -2
  85. data/docs/FuncArgDef.md +1 -1
  86. data/docs/GetIntegrationCouponRequest.md +19 -0
  87. data/docs/IdentifiableEntity.md +17 -0
  88. data/docs/IncreaseAchievementProgressEffectProps.md +29 -0
  89. data/docs/InlineResponse20010.md +1 -1
  90. data/docs/InlineResponse20011.md +1 -1
  91. data/docs/InlineResponse20012.md +1 -1
  92. data/docs/InlineResponse20013.md +3 -3
  93. data/docs/InlineResponse20014.md +2 -2
  94. data/docs/InlineResponse20015.md +3 -5
  95. data/docs/InlineResponse20016.md +3 -3
  96. data/docs/InlineResponse20017.md +1 -1
  97. data/docs/InlineResponse20018.md +1 -1
  98. data/docs/InlineResponse20019.md +2 -2
  99. data/docs/InlineResponse20020.md +1 -1
  100. data/docs/InlineResponse20021.md +2 -4
  101. data/docs/InlineResponse20022.md +3 -3
  102. data/docs/InlineResponse20023.md +1 -1
  103. data/docs/InlineResponse20024.md +3 -1
  104. data/docs/InlineResponse20025.md +1 -1
  105. data/docs/InlineResponse20026.md +2 -2
  106. data/docs/InlineResponse20027.md +2 -2
  107. data/docs/InlineResponse20028.md +3 -3
  108. data/docs/InlineResponse20029.md +3 -5
  109. data/docs/InlineResponse2003.md +3 -3
  110. data/docs/InlineResponse20030.md +1 -1
  111. data/docs/InlineResponse20031.md +3 -3
  112. data/docs/InlineResponse20032.md +3 -3
  113. data/docs/InlineResponse20033.md +5 -3
  114. data/docs/InlineResponse20034.md +1 -1
  115. data/docs/InlineResponse20035.md +5 -3
  116. data/docs/InlineResponse20036.md +1 -1
  117. data/docs/InlineResponse20037.md +1 -1
  118. data/docs/InlineResponse20038.md +2 -4
  119. data/docs/InlineResponse20039.md +1 -1
  120. data/docs/InlineResponse2004.md +3 -3
  121. data/docs/InlineResponse20040.md +1 -1
  122. data/docs/InlineResponse20041.md +19 -0
  123. data/docs/InlineResponse20042.md +21 -0
  124. data/docs/InlineResponse20043.md +19 -0
  125. data/docs/InlineResponse20044.md +19 -0
  126. data/docs/InlineResponse20045.md +21 -0
  127. data/docs/InlineResponse20046.md +19 -0
  128. data/docs/InlineResponse20047.md +19 -0
  129. data/docs/InlineResponse2005.md +1 -1
  130. data/docs/InlineResponse2006.md +1 -1
  131. data/docs/InlineResponse2007.md +1 -1
  132. data/docs/InlineResponse2008.md +2 -2
  133. data/docs/InlineResponse2009.md +1 -1
  134. data/docs/IntegrationApi.md +209 -122
  135. data/docs/IntegrationCoupon.md +4 -2
  136. data/docs/IntegrationEvent.md +2 -0
  137. data/docs/IntegrationEventV2Request.md +4 -2
  138. data/docs/IntegrationRequest.md +1 -1
  139. data/docs/IntegrationStoreEntity.md +17 -0
  140. data/docs/InventoryCoupon.md +5 -3
  141. data/docs/LedgerPointsEntryIntegrationAPI.md +33 -0
  142. data/docs/LoginParams.md +1 -1
  143. data/docs/LoyaltyCardBalances.md +21 -0
  144. data/docs/LoyaltyCardProfileRegistration.md +1 -1
  145. data/docs/LoyaltyLedgerTransactions.md +1 -1
  146. data/docs/LoyaltyProgram.md +15 -1
  147. data/docs/LoyaltyProgramLedgers.md +2 -0
  148. data/docs/LoyaltyProgramSubledgers.md +19 -0
  149. data/docs/LoyaltyProgramTransaction.md +4 -2
  150. data/docs/ManagementApi.md +3460 -1649
  151. data/docs/MessageLogEntries.md +19 -0
  152. data/docs/MessageLogEntry.md +37 -0
  153. data/docs/MessageLogRequest.md +19 -0
  154. data/docs/MessageLogResponse.md +21 -0
  155. data/docs/NewAccountSignUp.md +1 -1
  156. data/docs/NewApplication.md +6 -10
  157. data/docs/NewApplicationAPIKey.md +6 -2
  158. data/docs/NewAudience.md +1 -1
  159. data/docs/NewBaseNotification.md +2 -0
  160. data/docs/NewCampaign.md +8 -2
  161. data/docs/NewCampaignEvaluationGroup.md +27 -0
  162. data/docs/NewCampaignGroup.md +6 -6
  163. data/docs/NewCampaignTemplate.md +3 -1
  164. data/docs/NewCoupons.md +4 -2
  165. data/docs/NewCustomerSession.md +1 -1
  166. data/docs/NewCustomerSessionV2.md +5 -3
  167. data/docs/NewEvent.md +2 -0
  168. data/docs/NewExternalInvitation.md +21 -0
  169. data/docs/NewInternalAudience.md +1 -1
  170. data/docs/NewInvitation.md +8 -6
  171. data/docs/NewInviteEmail.md +4 -4
  172. data/docs/NewLoyaltyProgram.md +8 -0
  173. data/docs/NewNotificationTest.md +29 -0
  174. data/docs/NewNotificationWebhook.md +3 -1
  175. data/docs/NewPicklist.md +1 -1
  176. data/docs/NewRoleV2.md +23 -0
  177. data/docs/NewStore.md +23 -0
  178. data/docs/NewUser.md +1 -1
  179. data/docs/NotificationActivation.md +17 -0
  180. data/docs/NotificationListItem.md +23 -0
  181. data/docs/NotificationTest.md +27 -0
  182. data/docs/OneTimeCode.md +23 -0
  183. data/docs/OutgoingIntegrationCleverTapPolicy.md +21 -0
  184. data/docs/OutgoingIntegrationConfiguration.md +1 -1
  185. data/docs/OutgoingIntegrationIterablePolicy.md +19 -0
  186. data/docs/OutgoingIntegrationMoEngagePolicy.md +23 -0
  187. data/docs/OutgoingIntegrationTemplate.md +33 -0
  188. data/docs/OutgoingIntegrationTemplateWithConfigurationDetails.md +35 -0
  189. data/docs/OutgoingIntegrationTemplates.md +17 -0
  190. data/docs/OutgoingIntegrationType.md +1 -1
  191. data/docs/PatchItemCatalogAction.md +2 -0
  192. data/docs/PendingPointsNotificationPolicy.md +19 -0
  193. data/docs/Picklist.md +1 -1
  194. data/docs/Product.md +17 -0
  195. data/docs/RemoveFromAudienceEffectProps.md +23 -0
  196. data/docs/ReturnedCartItem.md +1 -1
  197. data/docs/Role.md +1 -1
  198. data/docs/RoleAssign.md +2 -2
  199. data/docs/RoleV2.md +12 -6
  200. data/docs/RoleV2ApplicationDetails.md +6 -4
  201. data/docs/RoleV2Base.md +23 -0
  202. data/docs/RoleV2PermissionSet.md +3 -3
  203. data/docs/RoleV2Permissions.md +3 -3
  204. data/docs/RoleV2RolesGroup.md +21 -0
  205. data/docs/RollbackAddedLoyaltyPointsEffectProps.md +1 -1
  206. data/docs/RollbackDiscountEffectProps.md +1 -1
  207. data/docs/SSOConfig.md +17 -0
  208. data/docs/SamlConnectionInternal.md +19 -0
  209. data/docs/SamlLoginEndpoint.md +4 -2
  210. data/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +1 -1
  211. data/docs/SetDiscountPerItemEffectProps.md +6 -2
  212. data/docs/Store.md +33 -0
  213. data/docs/TemplateArgDef.md +1 -1
  214. data/docs/Tier.md +5 -1
  215. data/docs/TierDowngradeNotificationPolicy.md +19 -0
  216. data/docs/TierUpgradeNotificationPolicy.md +19 -0
  217. data/docs/TierWillDowngradeNotificationPolicy.md +21 -0
  218. data/docs/TierWillDowngradeNotificationTrigger.md +19 -0
  219. data/docs/TimePoint.md +27 -0
  220. data/docs/TrackEventV2Response.md +33 -0
  221. data/docs/TwoFAConfig.md +19 -0
  222. data/docs/UpdateAchievement.md +27 -0
  223. data/docs/UpdateApplication.md +4 -6
  224. data/docs/UpdateApplicationAPIKey.md +17 -0
  225. data/docs/UpdateCampaign.md +9 -3
  226. data/docs/UpdateCampaignEvaluationGroup.md +27 -0
  227. data/docs/UpdateCampaignGroup.md +6 -6
  228. data/docs/UpdateCampaignTemplate.md +3 -1
  229. data/docs/UpdateCoupon.md +4 -2
  230. data/docs/UpdateCouponBatch.md +2 -2
  231. data/docs/UpdateLoyaltyProgram.md +8 -0
  232. data/docs/UpdatePicklist.md +1 -1
  233. data/docs/UpdateStore.md +21 -0
  234. data/docs/UpdateUser.md +8 -6
  235. data/docs/User.md +19 -13
  236. data/docs/WebhookWithOutgoingIntegrationDetails.md +45 -0
  237. data/lib/talon_one/api/integration_api.rb +291 -144
  238. data/lib/talon_one/api/management_api.rb +3054 -1033
  239. data/lib/talon_one/models/account_additional_cost.rb +3 -3
  240. data/lib/talon_one/models/account_analytics.rb +19 -4
  241. data/lib/talon_one/models/account_dashboard_statistic.rb +1 -13
  242. data/lib/talon_one/models/account_dashboard_statistic_campaigns.rb +20 -5
  243. data/lib/talon_one/models/achievement.rb +406 -0
  244. data/lib/talon_one/models/achievement_additional_properties.rb +252 -0
  245. data/lib/talon_one/models/achievement_progress.rb +410 -0
  246. data/lib/talon_one/models/activate_user_request.rb +213 -0
  247. data/lib/talon_one/models/add_item_catalog_action.rb +12 -3
  248. data/lib/talon_one/models/add_loyalty_points.rb +2 -2
  249. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +1 -1
  250. data/lib/talon_one/models/add_to_audience_effect_props.rb +238 -0
  251. data/lib/talon_one/models/additional_campaign_properties.rb +463 -0
  252. data/lib/talon_one/models/application.rb +12 -50
  253. data/lib/talon_one/models/application_analytics_data_point.rb +273 -0
  254. data/lib/talon_one/models/application_analytics_data_point_avg_items_per_session.rb +216 -0
  255. data/lib/talon_one/models/application_analytics_data_point_avg_session_value.rb +216 -0
  256. data/lib/talon_one/models/application_analytics_data_point_sessions_count.rb +216 -0
  257. data/lib/talon_one/models/application_analytics_data_point_total_revenue.rb +216 -0
  258. data/lib/talon_one/models/application_api_key.rb +37 -5
  259. data/lib/talon_one/models/application_campaign_analytics.rb +379 -0
  260. data/lib/talon_one/models/application_campaign_analytics_avg_items_per_session.rb +225 -0
  261. data/lib/talon_one/models/application_campaign_analytics_avg_session_value.rb +225 -0
  262. data/lib/talon_one/models/application_campaign_analytics_coupons_count.rb +216 -0
  263. data/lib/talon_one/models/application_campaign_analytics_sessions_count.rb +225 -0
  264. data/lib/talon_one/models/application_campaign_analytics_total_discounts.rb +216 -0
  265. data/lib/talon_one/models/application_campaign_analytics_total_revenue.rb +225 -0
  266. data/lib/talon_one/models/application_customer.rb +2 -2
  267. data/lib/talon_one/models/application_event.rb +45 -1
  268. data/lib/talon_one/models/application_notification.rb +1 -1
  269. data/lib/talon_one/models/application_session.rb +51 -17
  270. data/lib/talon_one/models/application_store_entity.rb +207 -0
  271. data/lib/talon_one/models/attribute.rb +2 -2
  272. data/lib/talon_one/models/audience_analytics.rb +2 -2
  273. data/lib/talon_one/models/audience_customer.rb +2 -2
  274. data/lib/talon_one/models/base_campaign.rb +449 -0
  275. data/lib/talon_one/models/base_loyalty_program.rb +102 -4
  276. data/lib/talon_one/models/base_notification.rb +65 -4
  277. data/lib/talon_one/models/base_notification_entity.rb +16 -4
  278. data/lib/talon_one/models/base_notification_webhook.rb +16 -4
  279. data/lib/talon_one/models/bulk_operation_on_campaigns.rb +263 -0
  280. data/lib/talon_one/models/campaign.rb +105 -20
  281. data/lib/talon_one/models/campaign_budget.rb +280 -0
  282. data/lib/talon_one/models/campaign_copy.rb +14 -4
  283. data/lib/talon_one/models/campaign_created_notification.rb +10 -10
  284. data/lib/talon_one/models/campaign_evaluation_group.rb +378 -0
  285. data/lib/talon_one/models/campaign_evaluation_position.rb +243 -0
  286. data/lib/talon_one/models/campaign_evaluation_tree_changed_notification.rb +236 -0
  287. data/lib/talon_one/models/campaign_group.rb +4 -4
  288. data/lib/talon_one/models/campaign_notification_policy.rb +231 -0
  289. data/lib/talon_one/models/campaign_set.rb +16 -31
  290. data/lib/talon_one/models/campaign_set_branch_node.rb +100 -6
  291. data/lib/talon_one/models/campaign_template.rb +30 -1
  292. data/lib/talon_one/models/card_expiring_points_notification_policy.rb +259 -0
  293. data/lib/talon_one/models/card_expiring_points_notification_trigger.rb +280 -0
  294. data/lib/talon_one/models/card_ledger_points_entry_integration_api.rb +410 -0
  295. data/lib/talon_one/models/cart_item.rb +12 -3
  296. data/lib/talon_one/models/catalog_item.rb +13 -4
  297. data/lib/talon_one/models/change_loyalty_tier_level_effect_props.rb +278 -0
  298. data/lib/talon_one/models/coupon.rb +17 -7
  299. data/lib/talon_one/models/coupon_creation_job.rb +1 -1
  300. data/lib/talon_one/models/coupons_notification_policy.rb +16 -4
  301. data/lib/talon_one/models/create_achievement.rb +320 -0
  302. data/lib/talon_one/models/create_application_api_key.rb +40 -8
  303. data/lib/talon_one/models/create_template_campaign.rb +27 -5
  304. data/lib/talon_one/models/custom_effect_props.rb +1 -1
  305. data/lib/talon_one/models/customer_inventory.rb +16 -5
  306. data/lib/talon_one/models/customer_profile.rb +2 -2
  307. data/lib/talon_one/models/customer_profile_audience_request_item.rb +1 -1
  308. data/lib/talon_one/models/customer_profile_integration_response_v2.rb +307 -0
  309. data/lib/talon_one/models/customer_session.rb +1 -1
  310. data/lib/talon_one/models/customer_session_v2.rb +41 -7
  311. data/lib/talon_one/models/deactivate_user_request.rb +213 -0
  312. data/lib/talon_one/models/delete_user_request.rb +213 -0
  313. data/lib/talon_one/models/effect.rb +11 -1
  314. data/lib/talon_one/models/effect_entity.rb +14 -4
  315. data/lib/talon_one/models/email_entity.rb +1 -1
  316. data/lib/talon_one/models/environment.rb +13 -1
  317. data/lib/talon_one/models/event.rb +35 -1
  318. data/lib/talon_one/models/event_v2.rb +37 -3
  319. data/lib/talon_one/models/expiring_coupons_notification_policy.rb +259 -0
  320. data/lib/talon_one/models/expiring_coupons_notification_trigger.rb +280 -0
  321. data/lib/talon_one/models/expiring_points_notification_policy.rb +16 -4
  322. data/lib/talon_one/models/func_arg_def.rb +0 -5
  323. data/lib/talon_one/models/get_integration_coupon_request.rb +257 -0
  324. data/lib/talon_one/models/identifiable_entity.rb +212 -0
  325. data/lib/talon_one/models/increase_achievement_progress_effect_props.rb +298 -0
  326. data/lib/talon_one/models/inline_response20010.rb +1 -1
  327. data/lib/talon_one/models/inline_response20011.rb +1 -1
  328. data/lib/talon_one/models/inline_response20012.rb +1 -1
  329. data/lib/talon_one/models/inline_response20013.rb +11 -11
  330. data/lib/talon_one/models/inline_response20014.rb +1 -3
  331. data/lib/talon_one/models/inline_response20015.rb +7 -11
  332. data/lib/talon_one/models/inline_response20016.rb +3 -1
  333. data/lib/talon_one/models/inline_response20017.rb +1 -1
  334. data/lib/talon_one/models/inline_response20018.rb +1 -1
  335. data/lib/talon_one/models/inline_response20019.rb +10 -10
  336. data/lib/talon_one/models/inline_response20020.rb +1 -1
  337. data/lib/talon_one/models/inline_response20021.rb +7 -11
  338. data/lib/talon_one/models/inline_response20022.rb +10 -10
  339. data/lib/talon_one/models/inline_response20023.rb +1 -1
  340. data/lib/talon_one/models/inline_response20024.rb +10 -6
  341. data/lib/talon_one/models/inline_response20025.rb +1 -1
  342. data/lib/talon_one/models/inline_response20026.rb +6 -1
  343. data/lib/talon_one/models/inline_response20027.rb +1 -6
  344. data/lib/talon_one/models/inline_response20028.rb +11 -11
  345. data/lib/talon_one/models/inline_response20029.rb +7 -11
  346. data/lib/talon_one/models/inline_response2003.rb +11 -11
  347. data/lib/talon_one/models/inline_response20030.rb +1 -1
  348. data/lib/talon_one/models/inline_response20031.rb +8 -13
  349. data/lib/talon_one/models/inline_response20032.rb +8 -13
  350. data/lib/talon_one/models/inline_response20033.rb +11 -7
  351. data/lib/talon_one/models/inline_response20034.rb +1 -1
  352. data/lib/talon_one/models/inline_response20035.rb +11 -7
  353. data/lib/talon_one/models/inline_response20036.rb +1 -1
  354. data/lib/talon_one/models/inline_response20037.rb +1 -1
  355. data/lib/talon_one/models/inline_response20038.rb +7 -11
  356. data/lib/talon_one/models/inline_response20039.rb +1 -1
  357. data/lib/talon_one/models/inline_response2004.rb +11 -11
  358. data/lib/talon_one/models/inline_response20040.rb +1 -1
  359. data/lib/talon_one/models/inline_response20041.rb +227 -0
  360. data/lib/talon_one/models/inline_response20042.rb +231 -0
  361. data/lib/talon_one/models/inline_response20043.rb +227 -0
  362. data/lib/talon_one/models/inline_response20044.rb +227 -0
  363. data/lib/talon_one/models/inline_response20045.rb +231 -0
  364. data/lib/talon_one/models/inline_response20046.rb +222 -0
  365. data/lib/talon_one/models/inline_response20047.rb +227 -0
  366. data/lib/talon_one/models/inline_response2005.rb +1 -1
  367. data/lib/talon_one/models/inline_response2006.rb +1 -1
  368. data/lib/talon_one/models/inline_response2007.rb +1 -1
  369. data/lib/talon_one/models/inline_response2008.rb +10 -10
  370. data/lib/talon_one/models/inline_response2009.rb +1 -1
  371. data/lib/talon_one/models/integration_coupon.rb +14 -4
  372. data/lib/talon_one/models/integration_event.rb +35 -1
  373. data/lib/talon_one/models/integration_event_v2_request.rb +37 -3
  374. data/lib/talon_one/models/integration_request.rb +1 -1
  375. data/lib/talon_one/models/integration_store_entity.rb +231 -0
  376. data/lib/talon_one/models/inventory_coupon.rb +15 -5
  377. data/lib/talon_one/models/ledger_points_entry_integration_api.rb +400 -0
  378. data/lib/talon_one/models/login_params.rb +1 -1
  379. data/lib/talon_one/models/loyalty.rb +1 -1
  380. data/lib/talon_one/models/loyalty_card_balances.rb +231 -0
  381. data/lib/talon_one/models/loyalty_card_profile_registration.rb +1 -1
  382. data/lib/talon_one/models/loyalty_ledger_transactions.rb +1 -1
  383. data/lib/talon_one/models/loyalty_program.rb +136 -4
  384. data/lib/talon_one/models/loyalty_program_ledgers.rb +12 -2
  385. data/lib/talon_one/models/loyalty_program_subledgers.rb +230 -0
  386. data/lib/talon_one/models/loyalty_program_transaction.rb +13 -3
  387. data/lib/talon_one/models/message_log_entries.rb +241 -0
  388. data/lib/talon_one/models/message_log_entry.rb +385 -0
  389. data/lib/talon_one/models/message_log_request.rb +249 -0
  390. data/lib/talon_one/models/message_log_response.rb +264 -0
  391. data/lib/talon_one/models/new_account_sign_up.rb +1 -1
  392. data/lib/talon_one/models/new_additional_cost.rb +3 -3
  393. data/lib/talon_one/models/new_application.rb +2 -51
  394. data/lib/talon_one/models/new_application_api_key.rb +37 -5
  395. data/lib/talon_one/models/new_attribute.rb +2 -2
  396. data/lib/talon_one/models/new_base_notification.rb +13 -1
  397. data/lib/talon_one/models/new_campaign.rb +52 -5
  398. data/lib/talon_one/models/new_campaign_evaluation_group.rb +347 -0
  399. data/lib/talon_one/models/new_campaign_group.rb +4 -4
  400. data/lib/talon_one/models/new_campaign_template.rb +33 -4
  401. data/lib/talon_one/models/new_coupons.rb +16 -6
  402. data/lib/talon_one/models/new_customer_session.rb +1 -1
  403. data/lib/talon_one/models/new_customer_session_v2.rb +38 -4
  404. data/lib/talon_one/models/new_event.rb +35 -1
  405. data/lib/talon_one/models/new_external_invitation.rb +235 -0
  406. data/lib/talon_one/models/new_invitation.rb +24 -18
  407. data/lib/talon_one/models/new_invite_email.rb +2 -38
  408. data/lib/talon_one/models/new_loyalty_program.rb +99 -1
  409. data/lib/talon_one/models/new_notification_test.rb +327 -0
  410. data/lib/talon_one/models/new_notification_webhook.rb +16 -4
  411. data/lib/talon_one/models/new_picklist.rb +1 -1
  412. data/lib/talon_one/models/new_role_v2.rb +249 -0
  413. data/lib/talon_one/models/new_store.rb +309 -0
  414. data/lib/talon_one/models/new_user.rb +1 -1
  415. data/lib/talon_one/models/notification_activation.rb +212 -0
  416. data/lib/talon_one/models/notification_list_item.rb +257 -0
  417. data/lib/talon_one/models/notification_test.rb +227 -0
  418. data/lib/talon_one/models/one_time_code.rb +252 -0
  419. data/lib/talon_one/models/outgoing_integration_clever_tap_policy.rb +242 -0
  420. data/lib/talon_one/models/outgoing_integration_configuration.rb +1 -0
  421. data/lib/talon_one/models/outgoing_integration_iterable_policy.rb +227 -0
  422. data/lib/talon_one/models/outgoing_integration_mo_engage_policy.rb +257 -0
  423. data/lib/talon_one/models/outgoing_integration_template.rb +409 -0
  424. data/lib/talon_one/models/outgoing_integration_template_with_configuration_details.rb +425 -0
  425. data/lib/talon_one/models/outgoing_integration_templates.rb +209 -0
  426. data/lib/talon_one/models/patch_item_catalog_action.rb +11 -2
  427. data/lib/talon_one/models/pending_points_notification_policy.rb +243 -0
  428. data/lib/talon_one/models/picklist.rb +1 -1
  429. data/lib/talon_one/models/product.rb +232 -0
  430. data/lib/talon_one/models/remove_from_audience_effect_props.rb +238 -0
  431. data/lib/talon_one/models/returned_cart_item.rb +1 -1
  432. data/lib/talon_one/models/role.rb +1 -1
  433. data/lib/talon_one/models/role_assign.rb +2 -2
  434. data/lib/talon_one/models/role_v2.rb +63 -12
  435. data/lib/talon_one/models/role_v2_application_details.rb +17 -7
  436. data/lib/talon_one/models/role_v2_base.rb +238 -0
  437. data/lib/talon_one/models/role_v2_permission_set.rb +12 -11
  438. data/lib/talon_one/models/role_v2_permissions.rb +2 -2
  439. data/lib/talon_one/models/role_v2_roles_group.rb +233 -0
  440. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +1 -1
  441. data/lib/talon_one/models/rollback_discount_effect_props.rb +1 -1
  442. data/lib/talon_one/models/saml_connection_internal.rb +265 -0
  443. data/lib/talon_one/models/saml_login_endpoint.rb +17 -2
  444. data/lib/talon_one/models/set_discount_per_additional_cost_per_item_effect_props.rb +1 -1
  445. data/lib/talon_one/models/set_discount_per_item_effect_props.rb +25 -5
  446. data/lib/talon_one/models/sso_config.rb +212 -0
  447. data/lib/talon_one/models/store.rb +381 -0
  448. data/lib/talon_one/models/talang_attribute.rb +2 -2
  449. data/lib/talon_one/models/template_arg_def.rb +0 -5
  450. data/lib/talon_one/models/tier.rb +58 -4
  451. data/lib/talon_one/models/tier_downgrade_notification_policy.rb +243 -0
  452. data/lib/talon_one/models/tier_upgrade_notification_policy.rb +243 -0
  453. data/lib/talon_one/models/tier_will_downgrade_notification_policy.rb +259 -0
  454. data/lib/talon_one/models/tier_will_downgrade_notification_trigger.rb +261 -0
  455. data/lib/talon_one/models/time_point.rb +345 -0
  456. data/lib/talon_one/models/track_event_v2_response.rb +307 -0
  457. data/lib/talon_one/models/two_fa_config.rb +222 -0
  458. data/lib/talon_one/models/update_achievement.rb +291 -0
  459. data/lib/talon_one/models/update_application.rb +15 -53
  460. data/lib/talon_one/models/update_application_api_key.rb +212 -0
  461. data/lib/talon_one/models/update_campaign.rb +52 -6
  462. data/lib/talon_one/models/update_campaign_evaluation_group.rb +348 -0
  463. data/lib/talon_one/models/update_campaign_group.rb +4 -4
  464. data/lib/talon_one/models/update_campaign_template.rb +28 -4
  465. data/lib/talon_one/models/update_coupon.rb +16 -6
  466. data/lib/talon_one/models/update_coupon_batch.rb +2 -2
  467. data/lib/talon_one/models/update_loyalty_program.rb +99 -1
  468. data/lib/talon_one/models/update_picklist.rb +1 -1
  469. data/lib/talon_one/models/update_store.rb +265 -0
  470. data/lib/talon_one/models/update_user.rb +25 -14
  471. data/lib/talon_one/models/user.rb +73 -42
  472. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +449 -0
  473. data/lib/talon_one/version.rb +1 -1
  474. data/lib/talon_one.rb +89 -16
  475. data/spec/api/integration_api_spec.rb +77 -50
  476. data/spec/api/management_api_spec.rb +706 -312
  477. data/spec/models/account_analytics_spec.rb +6 -0
  478. data/spec/models/account_dashboard_statistic_campaigns_spec.rb +6 -0
  479. data/spec/models/account_dashboard_statistic_spec.rb +0 -6
  480. data/spec/models/achievement_additional_properties_spec.rb +59 -0
  481. data/spec/models/achievement_progress_spec.rb +99 -0
  482. data/spec/models/achievement_spec.rb +107 -0
  483. data/spec/models/activate_user_request_spec.rb +41 -0
  484. data/spec/models/add_item_catalog_action_spec.rb +6 -0
  485. data/spec/models/add_to_audience_effect_props_spec.rb +59 -0
  486. data/spec/models/additional_campaign_properties_spec.rb +171 -0
  487. data/spec/models/application_analytics_data_point_avg_items_per_session_spec.rb +47 -0
  488. data/spec/models/application_analytics_data_point_avg_session_value_spec.rb +47 -0
  489. data/spec/models/application_analytics_data_point_sessions_count_spec.rb +47 -0
  490. data/spec/models/application_analytics_data_point_spec.rb +83 -0
  491. data/spec/models/application_analytics_data_point_total_revenue_spec.rb +47 -0
  492. data/spec/models/application_api_key_spec.rb +17 -1
  493. data/spec/models/application_campaign_analytics_avg_items_per_session_spec.rb +53 -0
  494. data/spec/models/application_campaign_analytics_avg_session_value_spec.rb +53 -0
  495. data/spec/models/application_campaign_analytics_coupons_count_spec.rb +47 -0
  496. data/spec/models/application_campaign_analytics_sessions_count_spec.rb +53 -0
  497. data/spec/models/application_campaign_analytics_spec.rb +129 -0
  498. data/spec/models/application_campaign_analytics_total_discounts_spec.rb +47 -0
  499. data/spec/models/application_campaign_analytics_total_revenue_spec.rb +53 -0
  500. data/spec/models/application_event_spec.rb +12 -0
  501. data/spec/models/application_session_spec.rb +9 -3
  502. data/spec/models/application_spec.rb +6 -20
  503. data/spec/models/application_store_entity_spec.rb +41 -0
  504. data/spec/models/attribute_spec.rb +1 -1
  505. data/spec/models/base_campaign_spec.rb +137 -0
  506. data/spec/models/base_loyalty_program_spec.rb +36 -0
  507. data/spec/models/base_notification_entity_spec.rb +6 -0
  508. data/spec/models/base_notification_spec.rb +16 -0
  509. data/spec/models/base_notification_webhook_spec.rb +6 -0
  510. data/spec/models/bulk_operation_on_campaigns_spec.rb +51 -0
  511. data/spec/models/campaign_budget_spec.rb +53 -0
  512. data/spec/models/campaign_copy_spec.rb +6 -0
  513. data/spec/models/campaign_created_notification_spec.rb +1 -1
  514. data/spec/models/campaign_evaluation_group_spec.rb +91 -0
  515. data/spec/models/campaign_evaluation_position_spec.rb +53 -0
  516. data/spec/models/campaign_evaluation_tree_changed_notification_spec.rb +53 -0
  517. data/spec/models/campaign_notification_policy_spec.rb +41 -0
  518. data/spec/models/campaign_set_branch_node_spec.rb +38 -0
  519. data/spec/models/campaign_set_spec.rb +2 -8
  520. data/spec/models/campaign_spec.rb +33 -1
  521. data/spec/models/campaign_template_spec.rb +11 -1
  522. data/spec/models/card_expiring_points_notification_policy_spec.rb +53 -0
  523. data/spec/models/card_expiring_points_notification_trigger_spec.rb +51 -0
  524. data/spec/models/card_ledger_points_entry_integration_api_spec.rb +95 -0
  525. data/spec/models/cart_item_spec.rb +6 -0
  526. data/spec/models/catalog_item_spec.rb +6 -0
  527. data/spec/models/change_loyalty_tier_level_effect_props_spec.rb +71 -0
  528. data/spec/models/coupon_spec.rb +6 -0
  529. data/spec/models/coupons_notification_policy_spec.rb +6 -0
  530. data/spec/models/create_achievement_spec.rb +71 -0
  531. data/spec/models/create_application_api_key_spec.rb +17 -1
  532. data/spec/models/create_template_campaign_spec.rb +12 -0
  533. data/spec/models/customer_inventory_spec.rb +6 -0
  534. data/spec/models/customer_profile_integration_response_v2_spec.rb +89 -0
  535. data/spec/models/customer_session_v2_spec.rb +6 -0
  536. data/spec/models/deactivate_user_request_spec.rb +41 -0
  537. data/spec/models/delete_user_request_spec.rb +41 -0
  538. data/spec/models/effect_entity_spec.rb +6 -0
  539. data/spec/models/effect_spec.rb +6 -0
  540. data/spec/models/environment_spec.rb +6 -0
  541. data/spec/models/event_spec.rb +6 -0
  542. data/spec/models/event_v2_spec.rb +6 -0
  543. data/spec/models/expiring_coupons_notification_policy_spec.rb +53 -0
  544. data/spec/models/expiring_coupons_notification_trigger_spec.rb +51 -0
  545. data/spec/models/expiring_points_notification_policy_spec.rb +6 -0
  546. data/spec/models/get_integration_coupon_request_spec.rb +47 -0
  547. data/spec/models/identifiable_entity_spec.rb +41 -0
  548. data/spec/models/increase_achievement_progress_effect_props_spec.rb +77 -0
  549. data/spec/models/inline_response20013_spec.rb +1 -1
  550. data/spec/models/inline_response20015_spec.rb +0 -6
  551. data/spec/models/inline_response20019_spec.rb +1 -1
  552. data/spec/models/inline_response20021_spec.rb +0 -6
  553. data/spec/models/inline_response20022_spec.rb +2 -2
  554. data/spec/models/inline_response20024_spec.rb +6 -0
  555. data/spec/models/inline_response20028_spec.rb +1 -1
  556. data/spec/models/inline_response20029_spec.rb +0 -6
  557. data/spec/models/inline_response20031_spec.rb +1 -1
  558. data/spec/models/inline_response20032_spec.rb +1 -1
  559. data/spec/models/inline_response20033_spec.rb +6 -0
  560. data/spec/models/inline_response20035_spec.rb +6 -0
  561. data/spec/models/inline_response20038_spec.rb +0 -6
  562. data/spec/models/inline_response2003_spec.rb +1 -1
  563. data/spec/models/inline_response20041_spec.rb +47 -0
  564. data/spec/models/inline_response20042_spec.rb +53 -0
  565. data/spec/models/inline_response20043_spec.rb +47 -0
  566. data/spec/models/inline_response20044_spec.rb +47 -0
  567. data/spec/models/inline_response20045_spec.rb +53 -0
  568. data/spec/models/inline_response20046_spec.rb +47 -0
  569. data/spec/models/inline_response20047_spec.rb +47 -0
  570. data/spec/models/inline_response2004_spec.rb +1 -1
  571. data/spec/models/inline_response2008_spec.rb +1 -1
  572. data/spec/models/integration_coupon_spec.rb +6 -0
  573. data/spec/models/integration_event_spec.rb +6 -0
  574. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  575. data/spec/models/integration_store_entity_spec.rb +41 -0
  576. data/spec/models/inventory_coupon_spec.rb +6 -0
  577. data/spec/models/ledger_points_entry_integration_api_spec.rb +89 -0
  578. data/spec/models/loyalty_card_balances_spec.rb +53 -0
  579. data/spec/models/loyalty_program_ledgers_spec.rb +6 -0
  580. data/spec/models/loyalty_program_spec.rb +54 -0
  581. data/spec/models/loyalty_program_subledgers_spec.rb +47 -0
  582. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  583. data/spec/models/message_log_entries_spec.rb +47 -0
  584. data/spec/models/message_log_entry_spec.rb +105 -0
  585. data/spec/models/message_log_request_spec.rb +47 -0
  586. data/spec/models/message_log_response_spec.rb +53 -0
  587. data/spec/models/new_application_api_key_spec.rb +17 -1
  588. data/spec/models/new_application_spec.rb +0 -20
  589. data/spec/models/new_attribute_spec.rb +1 -1
  590. data/spec/models/new_base_notification_spec.rb +6 -0
  591. data/spec/models/new_campaign_evaluation_group_spec.rb +79 -0
  592. data/spec/models/new_campaign_spec.rb +23 -1
  593. data/spec/models/new_campaign_template_spec.rb +11 -1
  594. data/spec/models/new_coupons_spec.rb +6 -0
  595. data/spec/models/new_customer_session_v2_spec.rb +6 -0
  596. data/spec/models/new_event_spec.rb +6 -0
  597. data/spec/models/new_external_invitation_spec.rb +53 -0
  598. data/spec/models/new_invitation_spec.rb +7 -1
  599. data/spec/models/new_loyalty_program_spec.rb +36 -0
  600. data/spec/models/new_notification_test_spec.rb +79 -0
  601. data/spec/models/new_notification_webhook_spec.rb +6 -0
  602. data/spec/models/new_role_v2_spec.rb +59 -0
  603. data/spec/models/new_store_spec.rb +59 -0
  604. data/spec/models/notification_activation_spec.rb +41 -0
  605. data/spec/models/notification_list_item_spec.rb +59 -0
  606. data/spec/models/notification_test_spec.rb +47 -0
  607. data/spec/models/one_time_code_spec.rb +59 -0
  608. data/spec/models/outgoing_integration_clever_tap_policy_spec.rb +53 -0
  609. data/spec/models/outgoing_integration_iterable_policy_spec.rb +47 -0
  610. data/spec/models/outgoing_integration_mo_engage_policy_spec.rb +59 -0
  611. data/spec/models/outgoing_integration_template_spec.rb +87 -0
  612. data/spec/models/outgoing_integration_template_with_configuration_details_spec.rb +93 -0
  613. data/spec/models/outgoing_integration_templates_spec.rb +41 -0
  614. data/spec/models/patch_item_catalog_action_spec.rb +6 -0
  615. data/spec/models/pending_points_notification_policy_spec.rb +47 -0
  616. data/spec/models/product_spec.rb +41 -0
  617. data/spec/models/remove_from_audience_effect_props_spec.rb +59 -0
  618. data/spec/models/role_v2_application_details_spec.rb +6 -0
  619. data/spec/models/role_v2_base_spec.rb +59 -0
  620. data/spec/models/role_v2_permission_set_spec.rb +1 -1
  621. data/spec/models/role_v2_roles_group_spec.rb +53 -0
  622. data/spec/models/role_v2_spec.rb +21 -3
  623. data/spec/models/saml_connection_internal_spec.rb +47 -0
  624. data/spec/models/saml_login_endpoint_spec.rb +6 -0
  625. data/spec/models/set_discount_per_item_effect_props_spec.rb +12 -0
  626. data/spec/models/sso_config_spec.rb +41 -0
  627. data/spec/models/store_spec.rb +89 -0
  628. data/spec/models/talang_attribute_spec.rb +1 -1
  629. data/spec/models/tier_downgrade_notification_policy_spec.rb +47 -0
  630. data/spec/models/tier_spec.rb +16 -0
  631. data/spec/models/tier_upgrade_notification_policy_spec.rb +47 -0
  632. data/spec/models/tier_will_downgrade_notification_policy_spec.rb +53 -0
  633. data/spec/models/tier_will_downgrade_notification_trigger_spec.rb +51 -0
  634. data/spec/models/time_point_spec.rb +71 -0
  635. data/spec/models/track_event_v2_response_spec.rb +89 -0
  636. data/spec/models/two_fa_config_spec.rb +47 -0
  637. data/spec/models/update_achievement_spec.rb +71 -0
  638. data/spec/models/update_application_api_key_spec.rb +41 -0
  639. data/spec/models/update_application_spec.rb +6 -20
  640. data/spec/models/update_campaign_evaluation_group_spec.rb +79 -0
  641. data/spec/models/update_campaign_spec.rb +23 -1
  642. data/spec/models/update_campaign_template_spec.rb +11 -1
  643. data/spec/models/update_coupon_spec.rb +6 -0
  644. data/spec/models/update_loyalty_program_spec.rb +36 -0
  645. data/spec/models/update_store_spec.rb +53 -0
  646. data/spec/models/update_user_spec.rb +12 -6
  647. data/spec/models/user_spec.rb +23 -5
  648. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +123 -0
  649. metadata +716 -360
@@ -14,14 +14,14 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class InlineResponse2008
17
- attr_accessor :has_more
17
+ attr_accessor :total_result_size
18
18
 
19
19
  attr_accessor :data
20
20
 
21
21
  # Attribute mapping from ruby-style variable name to JSON key.
22
22
  def self.attribute_map
23
23
  {
24
- :'has_more' => :'hasMore',
24
+ :'total_result_size' => :'totalResultSize',
25
25
  :'data' => :'data'
26
26
  }
27
27
  end
@@ -29,7 +29,7 @@ module TalonOne
29
29
  # Attribute type mapping.
30
30
  def self.openapi_types
31
31
  {
32
- :'has_more' => :'Boolean',
32
+ :'total_result_size' => :'Integer',
33
33
  :'data' => :'Array<Coupon>'
34
34
  }
35
35
  end
@@ -55,8 +55,8 @@ module TalonOne
55
55
  h[k.to_sym] = v
56
56
  }
57
57
 
58
- if attributes.key?(:'has_more')
59
- self.has_more = attributes[:'has_more']
58
+ if attributes.key?(:'total_result_size')
59
+ self.total_result_size = attributes[:'total_result_size']
60
60
  end
61
61
 
62
62
  if attributes.key?(:'data')
@@ -70,8 +70,8 @@ module TalonOne
70
70
  # @return Array for valid properties with the reasons
71
71
  def list_invalid_properties
72
72
  invalid_properties = Array.new
73
- if @has_more.nil?
74
- invalid_properties.push('invalid value for "has_more", has_more cannot be nil.')
73
+ if @total_result_size.nil?
74
+ invalid_properties.push('invalid value for "total_result_size", total_result_size cannot be nil.')
75
75
  end
76
76
 
77
77
  if @data.nil?
@@ -84,7 +84,7 @@ module TalonOne
84
84
  # Check to see if the all the properties in the model are valid
85
85
  # @return true if the model is valid
86
86
  def valid?
87
- return false if @has_more.nil?
87
+ return false if @total_result_size.nil?
88
88
  return false if @data.nil?
89
89
  true
90
90
  end
@@ -94,7 +94,7 @@ module TalonOne
94
94
  def ==(o)
95
95
  return true if self.equal?(o)
96
96
  self.class == o.class &&
97
- has_more == o.has_more &&
97
+ total_result_size == o.total_result_size &&
98
98
  data == o.data
99
99
  end
100
100
 
@@ -107,7 +107,7 @@ module TalonOne
107
107
  # Calculates hash code according to all attributes.
108
108
  # @return [Integer] Hash code
109
109
  def hash
110
- [has_more, data].hash
110
+ [total_result_size, data].hash
111
111
  end
112
112
 
113
113
  # Builds the object from hash
@@ -30,7 +30,7 @@ module TalonOne
30
30
  def self.openapi_types
31
31
  {
32
32
  :'has_more' => :'Boolean',
33
- :'data' => :'Array<Referral>'
33
+ :'data' => :'Array<Coupon>'
34
34
  }
35
35
  end
36
36
 
@@ -69,15 +69,18 @@ module TalonOne
69
69
  # The ID of the Import which created this coupon.
70
70
  attr_accessor :import_id
71
71
 
72
- # Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint.
72
+ # Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code.
73
73
  attr_accessor :reservation
74
74
 
75
75
  # The id of the batch the coupon belongs to.
76
76
  attr_accessor :batch_id
77
77
 
78
- # Whether the reservation effect actually created a new reservation.
78
+ # An indication of whether the code can be redeemed only if it has been reserved first.
79
79
  attr_accessor :is_reservation_mandatory
80
80
 
81
+ # An indication of whether the coupon is implicitly reserved for all customers.
82
+ attr_accessor :implicitly_reserved
83
+
81
84
  # The number of times the coupon was redeemed by the profile.
82
85
  attr_accessor :profile_redemption_count
83
86
 
@@ -105,6 +108,7 @@ module TalonOne
105
108
  :'reservation' => :'reservation',
106
109
  :'batch_id' => :'batchId',
107
110
  :'is_reservation_mandatory' => :'isReservationMandatory',
111
+ :'implicitly_reserved' => :'implicitlyReserved',
108
112
  :'profile_redemption_count' => :'profileRedemptionCount'
109
113
  }
110
114
  end
@@ -133,6 +137,7 @@ module TalonOne
133
137
  :'reservation' => :'Boolean',
134
138
  :'batch_id' => :'String',
135
139
  :'is_reservation_mandatory' => :'Boolean',
140
+ :'implicitly_reserved' => :'Boolean',
136
141
  :'profile_redemption_count' => :'Integer'
137
142
  }
138
143
  end
@@ -245,7 +250,11 @@ module TalonOne
245
250
  if attributes.key?(:'is_reservation_mandatory')
246
251
  self.is_reservation_mandatory = attributes[:'is_reservation_mandatory']
247
252
  else
248
- self.is_reservation_mandatory = true
253
+ self.is_reservation_mandatory = false
254
+ end
255
+
256
+ if attributes.key?(:'implicitly_reserved')
257
+ self.implicitly_reserved = attributes[:'implicitly_reserved']
249
258
  end
250
259
 
251
260
  if attributes.key?(:'profile_redemption_count')
@@ -437,6 +446,7 @@ module TalonOne
437
446
  reservation == o.reservation &&
438
447
  batch_id == o.batch_id &&
439
448
  is_reservation_mandatory == o.is_reservation_mandatory &&
449
+ implicitly_reserved == o.implicitly_reserved &&
440
450
  profile_redemption_count == o.profile_redemption_count
441
451
  end
442
452
 
@@ -449,7 +459,7 @@ module TalonOne
449
459
  # Calculates hash code according to all attributes.
450
460
  # @return [Integer] Hash code
451
461
  def hash
452
- [id, created, campaign_id, value, usage_limit, discount_limit, reservation_limit, start_date, expiry_date, limits, usage_counter, discount_counter, discount_remainder, reservation_counter, attributes, referral_id, recipient_integration_id, import_id, reservation, batch_id, is_reservation_mandatory, profile_redemption_count].hash
462
+ [id, created, campaign_id, value, usage_limit, discount_limit, reservation_limit, start_date, expiry_date, limits, usage_counter, discount_counter, discount_remainder, reservation_counter, attributes, referral_id, recipient_integration_id, import_id, reservation, batch_id, is_reservation_mandatory, implicitly_reserved, profile_redemption_count].hash
453
463
  end
454
464
 
455
465
  # Builds the object from hash
@@ -18,6 +18,9 @@ module TalonOne
18
18
  # ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
19
19
  attr_accessor :profile_id
20
20
 
21
+ # The integration ID of the store. You choose this ID when you create a store.
22
+ attr_accessor :store_integration_id
23
+
21
24
  # A string representing the event. Must not be a reserved event name.
22
25
  attr_accessor :type
23
26
 
@@ -28,6 +31,7 @@ module TalonOne
28
31
  def self.attribute_map
29
32
  {
30
33
  :'profile_id' => :'profileId',
34
+ :'store_integration_id' => :'storeIntegrationId',
31
35
  :'type' => :'type',
32
36
  :'attributes' => :'attributes'
33
37
  }
@@ -37,6 +41,7 @@ module TalonOne
37
41
  def self.openapi_types
38
42
  {
39
43
  :'profile_id' => :'String',
44
+ :'store_integration_id' => :'String',
40
45
  :'type' => :'String',
41
46
  :'attributes' => :'Object'
42
47
  }
@@ -67,6 +72,10 @@ module TalonOne
67
72
  self.profile_id = attributes[:'profile_id']
68
73
  end
69
74
 
75
+ if attributes.key?(:'store_integration_id')
76
+ self.store_integration_id = attributes[:'store_integration_id']
77
+ end
78
+
70
79
  if attributes.key?(:'type')
71
80
  self.type = attributes[:'type']
72
81
  end
@@ -80,6 +89,14 @@ module TalonOne
80
89
  # @return Array for valid properties with the reasons
81
90
  def list_invalid_properties
82
91
  invalid_properties = Array.new
92
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
93
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.')
94
+ end
95
+
96
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
97
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be great than or equal to 1.')
98
+ end
99
+
83
100
  if @type.nil?
84
101
  invalid_properties.push('invalid value for "type", type cannot be nil.')
85
102
  end
@@ -98,12 +115,28 @@ module TalonOne
98
115
  # Check to see if the all the properties in the model are valid
99
116
  # @return true if the model is valid
100
117
  def valid?
118
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
119
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
101
120
  return false if @type.nil?
102
121
  return false if @type.to_s.length < 1
103
122
  return false if @attributes.nil?
104
123
  true
105
124
  end
106
125
 
126
+ # Custom attribute writer method with validation
127
+ # @param [Object] store_integration_id Value to be assigned
128
+ def store_integration_id=(store_integration_id)
129
+ if !store_integration_id.nil? && store_integration_id.to_s.length > 1000
130
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.'
131
+ end
132
+
133
+ if !store_integration_id.nil? && store_integration_id.to_s.length < 1
134
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be great than or equal to 1.'
135
+ end
136
+
137
+ @store_integration_id = store_integration_id
138
+ end
139
+
107
140
  # Custom attribute writer method with validation
108
141
  # @param [Object] type Value to be assigned
109
142
  def type=(type)
@@ -124,6 +157,7 @@ module TalonOne
124
157
  return true if self.equal?(o)
125
158
  self.class == o.class &&
126
159
  profile_id == o.profile_id &&
160
+ store_integration_id == o.store_integration_id &&
127
161
  type == o.type &&
128
162
  attributes == o.attributes
129
163
  end
@@ -137,7 +171,7 @@ module TalonOne
137
171
  # Calculates hash code according to all attributes.
138
172
  # @return [Integer] Hash code
139
173
  def hash
140
- [profile_id, type, attributes].hash
174
+ [profile_id, store_integration_id, type, attributes].hash
141
175
  end
142
176
 
143
177
  # Builds the object from hash
@@ -18,13 +18,16 @@ module TalonOne
18
18
  # ID of the customer profile set by your integration layer. **Note:** If the customer does not yet have a known `profileId`, we recommend you use a guest `profileId`.
19
19
  attr_accessor :profile_id
20
20
 
21
+ # The integration ID of the store. You choose this ID when you create a store.
22
+ attr_accessor :store_integration_id
23
+
21
24
  # When using the `dry` query parameter, use this property to list the campaign to be evaluated by the Rule Engine. These campaigns will be evaluated, even if they are disabled, allowing you to test specific campaigns before activating them.
22
25
  attr_accessor :evaluable_campaign_ids
23
26
 
24
- # A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event) of type `event` in the Campaign Manager.
27
+ # A string representing the event name. Must not be a reserved event name. You create this value when you [create an attribute](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) of type `event` in the Campaign Manager.
25
28
  attr_accessor :type
26
29
 
27
- # Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-custom-attributes).
30
+ # Arbitrary additional JSON properties associated with the event. They must be created in the Campaign Manager before setting them with this property. See [creating custom attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes#creating-a-custom-attribute).
28
31
  attr_accessor :attributes
29
32
 
30
33
  # Optional list of requested information to be present on the response related to the tracking custom event.
@@ -56,6 +59,7 @@ module TalonOne
56
59
  def self.attribute_map
57
60
  {
58
61
  :'profile_id' => :'profileId',
62
+ :'store_integration_id' => :'storeIntegrationId',
59
63
  :'evaluable_campaign_ids' => :'evaluableCampaignIds',
60
64
  :'type' => :'type',
61
65
  :'attributes' => :'attributes',
@@ -67,6 +71,7 @@ module TalonOne
67
71
  def self.openapi_types
68
72
  {
69
73
  :'profile_id' => :'String',
74
+ :'store_integration_id' => :'String',
70
75
  :'evaluable_campaign_ids' => :'Array<Integer>',
71
76
  :'type' => :'String',
72
77
  :'attributes' => :'Object',
@@ -99,6 +104,10 @@ module TalonOne
99
104
  self.profile_id = attributes[:'profile_id']
100
105
  end
101
106
 
107
+ if attributes.key?(:'store_integration_id')
108
+ self.store_integration_id = attributes[:'store_integration_id']
109
+ end
110
+
102
111
  if attributes.key?(:'evaluable_campaign_ids')
103
112
  if (value = attributes[:'evaluable_campaign_ids']).is_a?(Array)
104
113
  self.evaluable_campaign_ids = value
@@ -124,6 +133,14 @@ module TalonOne
124
133
  # @return Array for valid properties with the reasons
125
134
  def list_invalid_properties
126
135
  invalid_properties = Array.new
136
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
137
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.')
138
+ end
139
+
140
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
141
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be great than or equal to 1.')
142
+ end
143
+
127
144
  if @type.nil?
128
145
  invalid_properties.push('invalid value for "type", type cannot be nil.')
129
146
  end
@@ -138,11 +155,27 @@ module TalonOne
138
155
  # Check to see if the all the properties in the model are valid
139
156
  # @return true if the model is valid
140
157
  def valid?
158
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
159
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
141
160
  return false if @type.nil?
142
161
  return false if @type.to_s.length < 1
143
162
  true
144
163
  end
145
164
 
165
+ # Custom attribute writer method with validation
166
+ # @param [Object] store_integration_id Value to be assigned
167
+ def store_integration_id=(store_integration_id)
168
+ if !store_integration_id.nil? && store_integration_id.to_s.length > 1000
169
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.'
170
+ end
171
+
172
+ if !store_integration_id.nil? && store_integration_id.to_s.length < 1
173
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be great than or equal to 1.'
174
+ end
175
+
176
+ @store_integration_id = store_integration_id
177
+ end
178
+
146
179
  # Custom attribute writer method with validation
147
180
  # @param [Object] type Value to be assigned
148
181
  def type=(type)
@@ -163,6 +196,7 @@ module TalonOne
163
196
  return true if self.equal?(o)
164
197
  self.class == o.class &&
165
198
  profile_id == o.profile_id &&
199
+ store_integration_id == o.store_integration_id &&
166
200
  evaluable_campaign_ids == o.evaluable_campaign_ids &&
167
201
  type == o.type &&
168
202
  attributes == o.attributes &&
@@ -178,7 +212,7 @@ module TalonOne
178
212
  # Calculates hash code according to all attributes.
179
213
  # @return [Integer] Hash code
180
214
  def hash
181
- [profile_id, evaluable_campaign_ids, type, attributes, response_content].hash
215
+ [profile_id, store_integration_id, evaluable_campaign_ids, type, attributes, response_content].hash
182
216
  end
183
217
 
184
218
  # Builds the object from hash
@@ -17,7 +17,7 @@ module TalonOne
17
17
  class IntegrationRequest
18
18
  attr_accessor :customer_session
19
19
 
20
- # Extends the response with the chosen data entities. Use this property to get as much data as you need in one _Update customer session_ request instead of sending extra requests to other endpoints.
20
+ # Extends the response with the chosen data entities. Use this property to get as much data as you need in one _Update customer session_ request instead of sending extra requests to other endpoints. **Note:** To retrieve loyalty card details, your request must include a loyalty card ID.
21
21
  attr_accessor :response_content
22
22
 
23
23
  class EnumAttributeValidator
@@ -0,0 +1,231 @@
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 IntegrationStoreEntity
17
+ # The integration ID of the store. You choose this ID when you create a store.
18
+ attr_accessor :store_integration_id
19
+
20
+ # Attribute mapping from ruby-style variable name to JSON key.
21
+ def self.attribute_map
22
+ {
23
+ :'store_integration_id' => :'storeIntegrationId'
24
+ }
25
+ end
26
+
27
+ # Attribute type mapping.
28
+ def self.openapi_types
29
+ {
30
+ :'store_integration_id' => :'String'
31
+ }
32
+ end
33
+
34
+ # List of attributes with nullable: true
35
+ def self.openapi_nullable
36
+ Set.new([
37
+ ])
38
+ end
39
+
40
+ # Initializes the object
41
+ # @param [Hash] attributes Model attributes in the form of hash
42
+ def initialize(attributes = {})
43
+ if (!attributes.is_a?(Hash))
44
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::IntegrationStoreEntity` initialize method"
45
+ end
46
+
47
+ # check to see if the attribute exists and convert string to symbol for hash key
48
+ attributes = attributes.each_with_object({}) { |(k, v), h|
49
+ if (!self.class.attribute_map.key?(k.to_sym))
50
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::IntegrationStoreEntity`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
51
+ end
52
+ h[k.to_sym] = v
53
+ }
54
+
55
+ if attributes.key?(:'store_integration_id')
56
+ self.store_integration_id = attributes[:'store_integration_id']
57
+ end
58
+ end
59
+
60
+ # Show invalid properties with the reasons. Usually used together with valid?
61
+ # @return Array for valid properties with the reasons
62
+ def list_invalid_properties
63
+ invalid_properties = Array.new
64
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
65
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.')
66
+ end
67
+
68
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
69
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be great than or equal to 1.')
70
+ end
71
+
72
+ invalid_properties
73
+ end
74
+
75
+ # Check to see if the all the properties in the model are valid
76
+ # @return true if the model is valid
77
+ def valid?
78
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
79
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
80
+ true
81
+ end
82
+
83
+ # Custom attribute writer method with validation
84
+ # @param [Object] store_integration_id Value to be assigned
85
+ def store_integration_id=(store_integration_id)
86
+ if !store_integration_id.nil? && store_integration_id.to_s.length > 1000
87
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.'
88
+ end
89
+
90
+ if !store_integration_id.nil? && store_integration_id.to_s.length < 1
91
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be great than or equal to 1.'
92
+ end
93
+
94
+ @store_integration_id = store_integration_id
95
+ end
96
+
97
+ # Checks equality by comparing each attribute.
98
+ # @param [Object] Object to be compared
99
+ def ==(o)
100
+ return true if self.equal?(o)
101
+ self.class == o.class &&
102
+ store_integration_id == o.store_integration_id
103
+ end
104
+
105
+ # @see the `==` method
106
+ # @param [Object] Object to be compared
107
+ def eql?(o)
108
+ self == o
109
+ end
110
+
111
+ # Calculates hash code according to all attributes.
112
+ # @return [Integer] Hash code
113
+ def hash
114
+ [store_integration_id].hash
115
+ end
116
+
117
+ # Builds the object from hash
118
+ # @param [Hash] attributes Model attributes in the form of hash
119
+ # @return [Object] Returns the model itself
120
+ def self.build_from_hash(attributes)
121
+ new.build_from_hash(attributes)
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 build_from_hash(attributes)
128
+ return nil unless attributes.is_a?(Hash)
129
+ self.class.openapi_types.each_pair do |key, type|
130
+ if type =~ /\AArray<(.*)>/i
131
+ # check to ensure the input is an array given that the attribute
132
+ # is documented as an array but the input is not
133
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
134
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
135
+ end
136
+ elsif !attributes[self.class.attribute_map[key]].nil?
137
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
138
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
139
+ end
140
+
141
+ self
142
+ end
143
+
144
+ # Deserializes the data based on type
145
+ # @param string type Data type
146
+ # @param string value Value to be deserialized
147
+ # @return [Object] Deserialized data
148
+ def _deserialize(type, value)
149
+ case type.to_sym
150
+ when :DateTime
151
+ DateTime.parse(value)
152
+ when :Date
153
+ Date.parse(value)
154
+ when :String
155
+ value.to_s
156
+ when :Integer
157
+ value.to_i
158
+ when :Float
159
+ value.to_f
160
+ when :Boolean
161
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
162
+ true
163
+ else
164
+ false
165
+ end
166
+ when :Object
167
+ # generic object (usually a Hash), return directly
168
+ value
169
+ when /\AArray<(?<inner_type>.+)>\z/
170
+ inner_type = Regexp.last_match[:inner_type]
171
+ value.map { |v| _deserialize(inner_type, v) }
172
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
173
+ k_type = Regexp.last_match[:k_type]
174
+ v_type = Regexp.last_match[:v_type]
175
+ {}.tap do |hash|
176
+ value.each do |k, v|
177
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
178
+ end
179
+ end
180
+ else # model
181
+ TalonOne.const_get(type).build_from_hash(value)
182
+ end
183
+ end
184
+
185
+ # Returns the string representation of the object
186
+ # @return [String] String presentation of the object
187
+ def to_s
188
+ to_hash.to_s
189
+ end
190
+
191
+ # to_body is an alias to to_hash (backward compatibility)
192
+ # @return [Hash] Returns the object in the form of hash
193
+ def to_body
194
+ to_hash
195
+ end
196
+
197
+ # Returns the object in the form of hash
198
+ # @return [Hash] Returns the object in the form of hash
199
+ def to_hash
200
+ hash = {}
201
+ self.class.attribute_map.each_pair do |attr, param|
202
+ value = self.send(attr)
203
+ if value.nil?
204
+ is_nullable = self.class.openapi_nullable.include?(attr)
205
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
206
+ end
207
+
208
+ hash[param] = _to_hash(value)
209
+ end
210
+ hash
211
+ end
212
+
213
+ # Outputs non-array value in the form of hash
214
+ # For object, use to_hash. Otherwise, just return the value
215
+ # @param [Object] value Any valid value
216
+ # @return [Hash] Returns the value in the form of hash
217
+ def _to_hash(value)
218
+ if value.is_a?(Array)
219
+ value.compact.map { |v| _to_hash(v) }
220
+ elsif value.is_a?(Hash)
221
+ {}.tap do |hash|
222
+ value.each { |k, v| hash[k] = _to_hash(v) }
223
+ end
224
+ elsif value.respond_to? :to_hash
225
+ value.to_hash
226
+ else
227
+ value
228
+ end
229
+ end
230
+ end
231
+ end
@@ -69,19 +69,22 @@ module TalonOne
69
69
  # The ID of the Import which created this coupon.
70
70
  attr_accessor :import_id
71
71
 
72
- # Defines the type of reservation: - `true`: The reservation is a soft reservation. Any customer can use the coupon. This is done via the [Create coupon reservation](https://docs.talon.one/integration-api#operation/createCouponReservation) endpoint. - `false`: The reservation is a hard reservation. Only the associated customer (`recipientIntegrationId`) can use the coupon. This is done via the Campaign Manager when you create a coupon for a given `recipientIntegrationId`, the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint.
72
+ # Defines the reservation type: - `true`: The coupon can be reserved for multiple customers. - `false`: The coupon can be reserved only for one customer. It is a personal code.
73
73
  attr_accessor :reservation
74
74
 
75
75
  # The id of the batch the coupon belongs to.
76
76
  attr_accessor :batch_id
77
77
 
78
- # Whether the reservation effect actually created a new reservation.
78
+ # An indication of whether the code can be redeemed only if it has been reserved first.
79
79
  attr_accessor :is_reservation_mandatory
80
80
 
81
+ # An indication of whether the coupon is implicitly reserved for all customers.
82
+ attr_accessor :implicitly_reserved
83
+
81
84
  # The number of times the coupon was redeemed by the profile.
82
85
  attr_accessor :profile_redemption_count
83
86
 
84
- # Can be: - `active`: The coupon can be used. It is a reserved coupon that is neither pending, used nor expired, and has a non-exhausted limit counter. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed and it is now expired. It is non-pending, non-active and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign.
87
+ # Can be: - `active`: The coupon can be used. It is a reserved coupon that is not pending, used, or expired, and it has a non-exhausted limit counter. **Note:** This coupon state is returned for [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule), but the coupon cannot be used until the campaign is **running**. - `used`: The coupon has been redeemed and cannot be used again. It is not pending and has reached its redemption limit or was redeemed by the profile before expiration. - `expired`: The coupon was never redeemed, and it is now expired. It is non-pending, non-active, and non-used by the profile. - `pending`: The coupon will be usable in the future. - `disabled`: The coupon is part of a non-active campaign.
85
88
  attr_accessor :state
86
89
 
87
90
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -108,6 +111,7 @@ module TalonOne
108
111
  :'reservation' => :'reservation',
109
112
  :'batch_id' => :'batchId',
110
113
  :'is_reservation_mandatory' => :'isReservationMandatory',
114
+ :'implicitly_reserved' => :'implicitlyReserved',
111
115
  :'profile_redemption_count' => :'profileRedemptionCount',
112
116
  :'state' => :'state'
113
117
  }
@@ -137,6 +141,7 @@ module TalonOne
137
141
  :'reservation' => :'Boolean',
138
142
  :'batch_id' => :'String',
139
143
  :'is_reservation_mandatory' => :'Boolean',
144
+ :'implicitly_reserved' => :'Boolean',
140
145
  :'profile_redemption_count' => :'Integer',
141
146
  :'state' => :'String'
142
147
  }
@@ -250,7 +255,11 @@ module TalonOne
250
255
  if attributes.key?(:'is_reservation_mandatory')
251
256
  self.is_reservation_mandatory = attributes[:'is_reservation_mandatory']
252
257
  else
253
- self.is_reservation_mandatory = true
258
+ self.is_reservation_mandatory = false
259
+ end
260
+
261
+ if attributes.key?(:'implicitly_reserved')
262
+ self.implicitly_reserved = attributes[:'implicitly_reserved']
254
263
  end
255
264
 
256
265
  if attributes.key?(:'profile_redemption_count')
@@ -451,6 +460,7 @@ module TalonOne
451
460
  reservation == o.reservation &&
452
461
  batch_id == o.batch_id &&
453
462
  is_reservation_mandatory == o.is_reservation_mandatory &&
463
+ implicitly_reserved == o.implicitly_reserved &&
454
464
  profile_redemption_count == o.profile_redemption_count &&
455
465
  state == o.state
456
466
  end
@@ -464,7 +474,7 @@ module TalonOne
464
474
  # Calculates hash code according to all attributes.
465
475
  # @return [Integer] Hash code
466
476
  def hash
467
- [id, created, campaign_id, value, usage_limit, discount_limit, reservation_limit, start_date, expiry_date, limits, usage_counter, discount_counter, discount_remainder, reservation_counter, attributes, referral_id, recipient_integration_id, import_id, reservation, batch_id, is_reservation_mandatory, profile_redemption_count, state].hash
477
+ [id, created, campaign_id, value, usage_limit, discount_limit, reservation_limit, start_date, expiry_date, limits, usage_counter, discount_counter, discount_remainder, reservation_counter, attributes, referral_id, recipient_integration_id, import_id, reservation, batch_id, is_reservation_mandatory, implicitly_reserved, profile_redemption_count, state].hash
468
478
  end
469
479
 
470
480
  # Builds the object from hash