talon_one 2.3.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (849) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +43 -0
  3. data/README.md +220 -156
  4. data/docs/Account.md +3 -3
  5. data/docs/AccountAdditionalCost.md +6 -4
  6. data/docs/AccountAnalytics.md +20 -18
  7. data/docs/AccountEntity.md +1 -1
  8. data/docs/AddFreeItemEffectProps.md +1 -1
  9. data/docs/AddLoyaltyPointsEffectProps.md +17 -9
  10. data/docs/AdditionalCost.md +1 -1
  11. data/docs/Application.md +22 -18
  12. data/docs/ApplicationAPIKey.md +9 -9
  13. data/docs/ApplicationApiHealth.md +1 -1
  14. data/docs/ApplicationCampaignStats.md +27 -0
  15. data/docs/ApplicationCustomer.md +10 -8
  16. data/docs/ApplicationCustomerEntity.md +1 -1
  17. data/docs/ApplicationEntity.md +1 -1
  18. data/docs/ApplicationEvent.md +4 -4
  19. data/docs/ApplicationNotification.md +17 -0
  20. data/docs/ApplicationReferee.md +27 -0
  21. data/docs/ApplicationSession.md +13 -11
  22. data/docs/AsyncCouponCreationResponse.md +17 -0
  23. data/docs/Attribute.md +10 -4
  24. data/docs/Audience.md +9 -9
  25. data/docs/AwardGiveawayEffectProps.md +25 -0
  26. data/docs/BaseLoyaltyProgram.md +29 -0
  27. data/docs/Binding.md +6 -4
  28. data/docs/BulkApplicationNotification.md +19 -0
  29. data/docs/BulkCampaignNotification.md +19 -0
  30. data/docs/Campaign.md +28 -18
  31. data/docs/CampaignCollection.md +37 -0
  32. data/docs/CampaignCollectionWithoutPayload.md +35 -0
  33. data/docs/CampaignCopy.md +2 -2
  34. data/docs/CampaignCreatedNotification.md +17 -0
  35. data/docs/CampaignDeletedNotification.md +17 -0
  36. data/docs/CampaignEditedNotification.md +19 -0
  37. data/docs/CampaignEntity.md +1 -1
  38. data/docs/CampaignGroup.md +4 -4
  39. data/docs/CampaignNotification.md +17 -0
  40. data/docs/CampaignPrioritiesChangedNotification.md +21 -0
  41. data/docs/CampaignPrioritiesV2.md +21 -0
  42. data/docs/CampaignRulesetChangedNotification.md +21 -0
  43. data/docs/CampaignSet.md +3 -3
  44. data/docs/CampaignSetIDs.md +17 -0
  45. data/docs/CampaignSetV2.md +25 -0
  46. data/docs/CampaignStateChangedNotification.md +21 -0
  47. data/docs/CampaignTemplate.md +59 -0
  48. data/docs/CampaignTemplateCollection.md +19 -0
  49. data/docs/CampaignTemplateParams.md +21 -0
  50. data/docs/CartItem.md +20 -14
  51. data/docs/Catalog.md +33 -0
  52. data/docs/Change.md +2 -2
  53. data/docs/CodeGeneratorSettings.md +4 -4
  54. data/docs/Collection.md +39 -0
  55. data/docs/CollectionWithoutPayload.md +37 -0
  56. data/docs/Coupon.md +17 -15
  57. data/docs/CouponConstraints.md +3 -3
  58. data/docs/CouponCreationJob.md +57 -0
  59. data/docs/CouponLimitConfigs.md +17 -0
  60. data/docs/CouponRejectionReason.md +3 -3
  61. data/docs/CouponReservations.md +1 -1
  62. data/docs/CouponValue.md +2 -2
  63. data/docs/CreateApplicationAPIKey.md +4 -4
  64. data/docs/CreateTemplateCampaign.md +29 -0
  65. data/docs/CreateTemplateCampaignResponse.md +21 -0
  66. data/docs/CustomEffect.md +41 -0
  67. data/docs/CustomEffectProps.md +21 -0
  68. data/docs/CustomerActivityReport.md +2 -2
  69. data/docs/CustomerInventory.md +5 -3
  70. data/docs/CustomerProfile.md +11 -9
  71. data/docs/CustomerProfileAudienceRequestItem.md +6 -6
  72. data/docs/CustomerProfileIntegrationRequestV2.md +3 -3
  73. data/docs/CustomerProfileSearchQuery.md +1 -1
  74. data/docs/CustomerSession.md +10 -8
  75. data/docs/CustomerSessionV2.md +26 -20
  76. data/docs/DeductLoyaltyPointsEffectProps.md +5 -1
  77. data/docs/Effect.md +6 -6
  78. data/docs/EffectEntity.md +6 -6
  79. data/docs/EmailEntity.md +1 -1
  80. data/docs/Entity.md +2 -2
  81. data/docs/Environment.md +17 -5
  82. data/docs/ErrorResponseWithStatus.md +21 -0
  83. data/docs/Event.md +10 -10
  84. data/docs/EventType.md +4 -18
  85. data/docs/EventV2.md +21 -0
  86. data/docs/Export.md +3 -3
  87. data/docs/Giveaway.md +33 -0
  88. data/docs/GiveawaysPool.md +33 -0
  89. data/docs/Import.md +7 -7
  90. data/docs/ImportEntity.md +17 -0
  91. data/docs/InlineResponse20011.md +1 -1
  92. data/docs/InlineResponse20012.md +2 -4
  93. data/docs/InlineResponse20013.md +4 -2
  94. data/docs/InlineResponse20014.md +3 -3
  95. data/docs/InlineResponse20015.md +1 -1
  96. data/docs/InlineResponse20016.md +2 -2
  97. data/docs/InlineResponse20017.md +3 -3
  98. data/docs/InlineResponse20020.md +3 -1
  99. data/docs/InlineResponse20021.md +4 -2
  100. data/docs/InlineResponse20022.md +1 -1
  101. data/docs/InlineResponse20023.md +1 -1
  102. data/docs/InlineResponse20024.md +1 -1
  103. data/docs/InlineResponse20025.md +1 -1
  104. data/docs/InlineResponse20026.md +1 -1
  105. data/docs/InlineResponse20027.md +1 -1
  106. data/docs/InlineResponse20028.md +2 -4
  107. data/docs/InlineResponse20029.md +4 -2
  108. data/docs/InlineResponse20030.md +1 -1
  109. data/docs/InlineResponse20031.md +19 -0
  110. data/docs/InlineResponse2006.md +2 -2
  111. data/docs/InlineResponse2007.md +3 -3
  112. data/docs/InlineResponse2008.md +5 -3
  113. data/docs/InlineResponse2009.md +5 -3
  114. data/docs/InlineResponse201.md +19 -0
  115. data/docs/IntegrationApi.md +524 -175
  116. data/docs/IntegrationCustomerSessionResponse.md +17 -0
  117. data/docs/IntegrationEntity.md +2 -2
  118. data/docs/IntegrationEvent.md +4 -4
  119. data/docs/IntegrationEventV2Request.md +23 -0
  120. data/docs/IntegrationProfileEntity.md +2 -2
  121. data/docs/IntegrationRequest.md +2 -2
  122. data/docs/IntegrationStateV2.md +8 -2
  123. data/docs/InventoryCoupon.md +55 -0
  124. data/docs/InventoryReferral.md +43 -0
  125. data/docs/LedgerEntry.md +6 -6
  126. data/docs/LedgerInfo.md +31 -0
  127. data/docs/LimitConfig.md +8 -6
  128. data/docs/LimitCounter.md +45 -0
  129. data/docs/LoginParams.md +2 -2
  130. data/docs/Loyalty.md +4 -2
  131. data/docs/LoyaltyCard.md +35 -0
  132. data/docs/LoyaltyCardProfileRegistration.md +19 -0
  133. data/docs/LoyaltyCardRegistration.md +17 -0
  134. data/docs/LoyaltyDashboardData.md +33 -0
  135. data/docs/LoyaltyDashboardPointsBreakdown.md +19 -0
  136. data/docs/LoyaltyLedger.md +1 -1
  137. data/docs/LoyaltyLedgerEntry.md +3 -1
  138. data/docs/LoyaltyMembership.md +1 -1
  139. data/docs/LoyaltyProgram.md +21 -11
  140. data/docs/LoyaltyProgramBalance.md +10 -10
  141. data/docs/LoyaltyProgramEntity.md +17 -0
  142. data/docs/LoyaltyProgramLedgers.md +5 -5
  143. data/docs/LoyaltyProjection.md +21 -0
  144. data/docs/LoyaltyProjectionData.md +23 -0
  145. data/docs/LoyaltyStatistics.md +16 -6
  146. data/docs/LoyaltySubLedger.md +13 -11
  147. data/docs/LoyaltyTier.md +25 -0
  148. data/docs/ManagementApi.md +1819 -1138
  149. data/docs/ModelReturn.md +37 -0
  150. data/docs/MultipleAttribute.md +17 -0
  151. data/docs/MultipleCustomerProfileIntegrationRequestItem.md +3 -3
  152. data/docs/MultipleNewAttribute.md +17 -0
  153. data/docs/MutableEntity.md +1 -1
  154. data/docs/NewAccountSignUp.md +2 -2
  155. data/docs/NewAdditionalCost.md +3 -1
  156. data/docs/NewApplication.md +18 -14
  157. data/docs/NewApplicationAPIKey.md +11 -11
  158. data/docs/NewAttribute.md +4 -0
  159. data/docs/NewAudience.md +6 -6
  160. data/docs/NewCampaign.md +14 -14
  161. data/docs/NewCampaignCollection.md +19 -0
  162. data/docs/NewCampaignSet.md +1 -1
  163. data/docs/NewCampaignSetV2.md +21 -0
  164. data/docs/NewCampaignTemplate.md +41 -0
  165. data/docs/NewCatalog.md +21 -0
  166. data/docs/NewCollection.md +21 -0
  167. data/docs/NewCouponCreationJob.md +29 -0
  168. data/docs/NewCoupons.md +12 -10
  169. data/docs/NewCouponsForMultipleRecipients.md +5 -5
  170. data/docs/NewCustomEffect.md +29 -0
  171. data/docs/NewCustomerProfile.md +1 -1
  172. data/docs/NewCustomerSession.md +5 -5
  173. data/docs/NewCustomerSessionV2.md +17 -15
  174. data/docs/NewEvent.md +5 -5
  175. data/docs/NewEventType.md +3 -17
  176. data/docs/NewGiveawaysPool.md +21 -0
  177. data/docs/NewInvitation.md +3 -3
  178. data/docs/NewLoyaltyProgram.md +16 -8
  179. data/docs/NewLoyaltyTier.md +19 -0
  180. data/docs/NewNotificationWebhook.md +19 -0
  181. data/docs/NewReferral.md +12 -8
  182. data/docs/NewReferralsForMultipleAdvocates.md +31 -0
  183. data/docs/NewReturn.md +17 -0
  184. data/docs/NewRole.md +2 -2
  185. data/docs/NewRuleset.md +4 -4
  186. data/docs/NewUser.md +3 -3
  187. data/docs/NotificationWebhook.md +27 -0
  188. data/docs/Referral.md +21 -15
  189. data/docs/ReferralConstraints.md +21 -0
  190. data/docs/ReturnIntegrationRequest.md +19 -0
  191. data/docs/ReturnedCartItem.md +19 -0
  192. data/docs/Role.md +11 -7
  193. data/docs/RollbackAddedLoyaltyPointsEffectProps.md +7 -1
  194. data/docs/RollbackDeductedLoyaltyPointsEffectProps.md +3 -1
  195. data/docs/RollbackDiscountEffectProps.md +12 -2
  196. data/docs/Rule.md +4 -4
  197. data/docs/RuleFailureReason.md +1 -1
  198. data/docs/Ruleset.md +10 -8
  199. data/docs/SamlConnection.md +2 -2
  200. data/docs/Session.md +3 -3
  201. data/docs/SetDiscountEffectProps.md +3 -1
  202. data/docs/SetDiscountPerAdditionalCostEffectProps.md +25 -0
  203. data/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +29 -0
  204. data/docs/SetDiscountPerItemEffectProps.md +13 -5
  205. data/docs/TemplateDef.md +3 -3
  206. data/docs/TemplateLimitConfig.md +23 -0
  207. data/docs/Tier.md +19 -0
  208. data/docs/UpdateApplication.md +19 -15
  209. data/docs/UpdateAudience.md +2 -2
  210. data/docs/UpdateCampaign.md +3 -3
  211. data/docs/UpdateCampaignCollection.md +17 -0
  212. data/docs/UpdateCampaignTemplate.md +45 -0
  213. data/docs/UpdateCatalog.md +21 -0
  214. data/docs/UpdateCollection.md +19 -0
  215. data/docs/UpdateCoupon.md +5 -3
  216. data/docs/UpdateCouponBatch.md +4 -4
  217. data/docs/UpdateCustomEffect.md +29 -0
  218. data/docs/UpdateLoyaltyCard.md +17 -0
  219. data/docs/UpdateLoyaltyProgram.md +10 -6
  220. data/docs/UpdateReferral.md +25 -0
  221. data/docs/UpdateReferralBatch.md +25 -0
  222. data/docs/UpdateRole.md +2 -2
  223. data/docs/User.md +12 -12
  224. data/docs/Webhook.md +3 -3
  225. data/docs/WillAwardGiveawayEffectProps.md +21 -0
  226. data/lib/talon_one/api/integration_api.rb +632 -166
  227. data/lib/talon_one/api/management_api.rb +2699 -1754
  228. data/lib/talon_one/api_client.rb +1 -1
  229. data/lib/talon_one/api_error.rb +1 -1
  230. data/lib/talon_one/configuration.rb +1 -8
  231. data/lib/talon_one/models/accept_coupon_effect_props.rb +1 -1
  232. data/lib/talon_one/models/accept_referral_effect_props.rb +1 -1
  233. data/lib/talon_one/models/access_log_entry.rb +1 -1
  234. data/lib/talon_one/models/account.rb +1 -1
  235. data/lib/talon_one/models/account_additional_cost.rb +93 -5
  236. data/lib/talon_one/models/account_analytics.rb +21 -6
  237. data/lib/talon_one/models/account_entity.rb +1 -1
  238. data/lib/talon_one/models/account_limits.rb +1 -1
  239. data/lib/talon_one/models/add_free_item_effect_props.rb +1 -1
  240. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +73 -14
  241. data/lib/talon_one/models/additional_cost.rb +1 -1
  242. data/lib/talon_one/models/api_error.rb +1 -1
  243. data/lib/talon_one/models/application.rb +48 -12
  244. data/lib/talon_one/models/application_api_health.rb +1 -1
  245. data/lib/talon_one/models/application_api_key.rb +4 -4
  246. data/lib/talon_one/models/application_campaign_stats.rb +288 -0
  247. data/lib/talon_one/models/application_customer.rb +53 -9
  248. data/lib/talon_one/models/application_customer_entity.rb +1 -1
  249. data/lib/talon_one/models/application_entity.rb +1 -1
  250. data/lib/talon_one/models/application_event.rb +1 -1
  251. data/lib/talon_one/models/application_notification.rb +212 -0
  252. data/lib/talon_one/models/application_referee.rb +326 -0
  253. data/lib/talon_one/models/application_session.rb +55 -6
  254. data/lib/talon_one/models/application_session_entity.rb +1 -1
  255. data/lib/talon_one/models/async_coupon_creation_response.rb +212 -0
  256. data/lib/talon_one/models/attribute.rb +82 -7
  257. data/lib/talon_one/models/attributes_mandatory.rb +1 -1
  258. data/lib/talon_one/models/attributes_settings.rb +1 -1
  259. data/lib/talon_one/models/audience.rb +12 -51
  260. data/lib/talon_one/models/audience_membership.rb +1 -1
  261. data/lib/talon_one/models/award_giveaway_effect_props.rb +292 -0
  262. data/lib/talon_one/models/base_loyalty_program.rb +284 -0
  263. data/lib/talon_one/models/base_saml_connection.rb +1 -1
  264. data/lib/talon_one/models/binding.rb +16 -6
  265. data/lib/talon_one/models/{new_feature_flags.rb → bulk_application_notification.rb} +29 -29
  266. data/lib/talon_one/models/bulk_campaign_notification.rb +227 -0
  267. data/lib/talon_one/models/campaign.rb +63 -13
  268. data/lib/talon_one/models/campaign_analytics.rb +1 -1
  269. data/lib/talon_one/models/campaign_collection.rb +370 -0
  270. data/lib/talon_one/models/campaign_collection_without_payload.rb +358 -0
  271. data/lib/talon_one/models/campaign_copy.rb +3 -3
  272. data/lib/talon_one/models/campaign_created_notification.rb +212 -0
  273. data/lib/talon_one/models/campaign_deleted_notification.rb +212 -0
  274. data/lib/talon_one/models/campaign_edited_notification.rb +226 -0
  275. data/lib/talon_one/models/campaign_entity.rb +1 -1
  276. data/lib/talon_one/models/campaign_group.rb +1 -1
  277. data/lib/talon_one/models/campaign_group_entity.rb +1 -1
  278. data/lib/talon_one/models/campaign_notification.rb +212 -0
  279. data/lib/talon_one/models/campaign_priorities_changed_notification.rb +241 -0
  280. data/lib/talon_one/models/campaign_priorities_v2.rb +230 -0
  281. data/lib/talon_one/models/campaign_ruleset_changed_notification.rb +235 -0
  282. data/lib/talon_one/models/campaign_search.rb +1 -1
  283. data/lib/talon_one/models/campaign_set.rb +1 -1
  284. data/lib/talon_one/models/campaign_set_branch_node.rb +1 -1
  285. data/lib/talon_one/models/campaign_set_i_ds.rb +208 -0
  286. data/lib/talon_one/models/campaign_set_leaf_node.rb +1 -1
  287. data/lib/talon_one/models/campaign_set_node.rb +1 -1
  288. data/lib/talon_one/models/campaign_set_v2.rb +291 -0
  289. data/lib/talon_one/models/campaign_state_changed_notification.rb +242 -0
  290. data/lib/talon_one/models/campaign_template.rb +533 -0
  291. data/lib/talon_one/models/campaign_template_collection.rb +252 -0
  292. data/lib/talon_one/models/campaign_template_params.rb +295 -0
  293. data/lib/talon_one/models/cart_item.rb +44 -7
  294. data/lib/talon_one/models/catalog.rb +330 -0
  295. data/lib/talon_one/models/change.rb +1 -1
  296. data/lib/talon_one/models/change_profile_password.rb +1 -1
  297. data/lib/talon_one/models/code_generator_settings.rb +3 -3
  298. data/lib/talon_one/models/collection.rb +382 -0
  299. data/lib/talon_one/models/collection_without_payload.rb +370 -0
  300. data/lib/talon_one/models/coupon.rb +35 -6
  301. data/lib/talon_one/models/coupon_constraints.rb +2 -2
  302. data/lib/talon_one/models/coupon_created_effect_props.rb +1 -1
  303. data/lib/talon_one/models/coupon_creation_job.rb +560 -0
  304. data/lib/talon_one/models/coupon_limit_configs.rb +209 -0
  305. data/lib/talon_one/models/coupon_rejection_reason.rb +1 -1
  306. data/lib/talon_one/models/coupon_reservations.rb +1 -1
  307. data/lib/talon_one/models/coupon_search.rb +1 -1
  308. data/lib/talon_one/models/coupon_value.rb +2 -2
  309. data/lib/talon_one/models/create_application_api_key.rb +4 -4
  310. data/lib/talon_one/models/create_template_campaign.rb +302 -0
  311. data/lib/talon_one/models/create_template_campaign_response.rb +236 -0
  312. data/lib/talon_one/models/custom_effect.rb +424 -0
  313. data/lib/talon_one/models/custom_effect_props.rb +243 -0
  314. data/lib/talon_one/models/customer_activity_report.rb +20 -1
  315. data/lib/talon_one/models/customer_analytics.rb +1 -1
  316. data/lib/talon_one/models/customer_inventory.rb +18 -6
  317. data/lib/talon_one/models/customer_profile.rb +49 -15
  318. data/lib/talon_one/models/customer_profile_audience_request.rb +1 -1
  319. data/lib/talon_one/models/customer_profile_audience_request_item.rb +23 -1
  320. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +2 -2
  321. data/lib/talon_one/models/customer_profile_search_query.rb +2 -2
  322. data/lib/talon_one/models/customer_session.rb +44 -10
  323. data/lib/talon_one/models/customer_session_v2.rb +87 -26
  324. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +30 -5
  325. data/lib/talon_one/models/effect.rb +1 -1
  326. data/lib/talon_one/models/effect_entity.rb +1 -1
  327. data/lib/talon_one/models/email_entity.rb +1 -1
  328. data/lib/talon_one/models/entity.rb +1 -1
  329. data/lib/talon_one/models/entity_with_talang_visible_id.rb +1 -1
  330. data/lib/talon_one/models/environment.rb +78 -5
  331. data/lib/talon_one/models/error_effect_props.rb +1 -1
  332. data/lib/talon_one/models/error_response.rb +1 -1
  333. data/lib/talon_one/models/error_response_with_status.rb +228 -0
  334. data/lib/talon_one/models/error_source.rb +1 -1
  335. data/lib/talon_one/models/event.rb +3 -3
  336. data/lib/talon_one/models/event_type.rb +5 -148
  337. data/lib/talon_one/models/event_v2.rb +252 -0
  338. data/lib/talon_one/models/export.rb +3 -3
  339. data/lib/talon_one/models/feature_flag.rb +1 -1
  340. data/lib/talon_one/models/features_feed.rb +1 -1
  341. data/lib/talon_one/models/feed_notification.rb +1 -1
  342. data/lib/talon_one/models/func_arg_def.rb +1 -1
  343. data/lib/talon_one/models/function_def.rb +1 -1
  344. data/lib/talon_one/models/giveaway.rb +308 -0
  345. data/lib/talon_one/models/giveaways_pool.rb +315 -0
  346. data/lib/talon_one/models/import.rb +3 -3
  347. data/lib/talon_one/models/{feature_flags.rb → import_entity.rb} +12 -48
  348. data/lib/talon_one/models/inline_response200.rb +1 -1
  349. data/lib/talon_one/models/inline_response2001.rb +1 -1
  350. data/lib/talon_one/models/inline_response20010.rb +1 -1
  351. data/lib/talon_one/models/inline_response20011.rb +2 -2
  352. data/lib/talon_one/models/inline_response20012.rb +8 -12
  353. data/lib/talon_one/models/inline_response20013.rb +11 -7
  354. data/lib/talon_one/models/inline_response20014.rb +12 -12
  355. data/lib/talon_one/models/inline_response20015.rb +2 -2
  356. data/lib/talon_one/models/inline_response20016.rb +7 -2
  357. data/lib/talon_one/models/inline_response20017.rb +9 -14
  358. data/lib/talon_one/models/inline_response20018.rb +1 -1
  359. data/lib/talon_one/models/inline_response20019.rb +1 -1
  360. data/lib/talon_one/models/inline_response2002.rb +1 -1
  361. data/lib/talon_one/models/inline_response20020.rb +11 -2
  362. data/lib/talon_one/models/inline_response20021.rb +17 -3
  363. data/lib/talon_one/models/inline_response20022.rb +2 -2
  364. data/lib/talon_one/models/inline_response20023.rb +2 -2
  365. data/lib/talon_one/models/inline_response20024.rb +2 -2
  366. data/lib/talon_one/models/inline_response20025.rb +2 -2
  367. data/lib/talon_one/models/inline_response20026.rb +2 -2
  368. data/lib/talon_one/models/inline_response20027.rb +2 -2
  369. data/lib/talon_one/models/inline_response20028.rb +8 -12
  370. data/lib/talon_one/models/inline_response20029.rb +12 -8
  371. data/lib/talon_one/models/inline_response2003.rb +1 -1
  372. data/lib/talon_one/models/inline_response20030.rb +2 -2
  373. data/lib/talon_one/models/inline_response20031.rb +227 -0
  374. data/lib/talon_one/models/inline_response2004.rb +1 -1
  375. data/lib/talon_one/models/inline_response2005.rb +1 -1
  376. data/lib/talon_one/models/inline_response2006.rb +11 -11
  377. data/lib/talon_one/models/inline_response2007.rb +12 -12
  378. data/lib/talon_one/models/inline_response2008.rb +12 -8
  379. data/lib/talon_one/models/inline_response2009.rb +12 -8
  380. data/lib/talon_one/models/inline_response201.rb +227 -0
  381. data/lib/talon_one/models/integration_customer_session_response.rb +206 -0
  382. data/lib/talon_one/models/integration_entity.rb +20 -1
  383. data/lib/talon_one/models/integration_event.rb +2 -2
  384. data/lib/talon_one/models/integration_event_v2_request.rb +286 -0
  385. data/lib/talon_one/models/integration_profile_entity.rb +2 -2
  386. data/lib/talon_one/models/integration_request.rb +2 -2
  387. data/lib/talon_one/models/integration_state.rb +1 -1
  388. data/lib/talon_one/models/integration_state_v2.rb +37 -6
  389. data/lib/talon_one/models/inventory_coupon.rb +528 -0
  390. data/lib/talon_one/models/inventory_referral.rb +446 -0
  391. data/lib/talon_one/models/ledger_entry.rb +2 -2
  392. data/lib/talon_one/models/ledger_info.rb +301 -0
  393. data/lib/talon_one/models/library_attribute.rb +1 -1
  394. data/lib/talon_one/models/limit_config.rb +27 -5
  395. data/lib/talon_one/models/limit_counter.rb +398 -0
  396. data/lib/talon_one/models/login_params.rb +1 -1
  397. data/lib/talon_one/models/loyalty.rb +15 -3
  398. data/lib/talon_one/models/loyalty_card.rb +350 -0
  399. data/lib/talon_one/models/loyalty_card_profile_registration.rb +246 -0
  400. data/lib/talon_one/models/loyalty_card_registration.rb +212 -0
  401. data/lib/talon_one/models/loyalty_dashboard_data.rb +331 -0
  402. data/lib/talon_one/models/loyalty_dashboard_points_breakdown.rb +225 -0
  403. data/lib/talon_one/models/loyalty_ledger.rb +3 -3
  404. data/lib/talon_one/models/loyalty_ledger_entry.rb +11 -7
  405. data/lib/talon_one/models/loyalty_membership.rb +1 -1
  406. data/lib/talon_one/models/loyalty_points.rb +6 -6
  407. data/lib/talon_one/models/loyalty_program.rb +135 -32
  408. data/lib/talon_one/models/loyalty_program_balance.rb +6 -6
  409. data/lib/talon_one/models/loyalty_program_entity.rb +212 -0
  410. data/lib/talon_one/models/loyalty_program_ledgers.rb +4 -4
  411. data/lib/talon_one/models/loyalty_projection.rb +239 -0
  412. data/lib/talon_one/models/loyalty_projection_data.rb +257 -0
  413. data/lib/talon_one/models/loyalty_statistics.rb +82 -9
  414. data/lib/talon_one/models/loyalty_sub_ledger.rb +25 -16
  415. data/lib/talon_one/models/loyalty_tier.rb +301 -0
  416. data/lib/talon_one/models/manager_config.rb +1 -1
  417. data/lib/talon_one/models/meta.rb +1 -1
  418. data/lib/talon_one/models/model_return.rb +384 -0
  419. data/lib/talon_one/models/multi_application_entity.rb +1 -1
  420. data/lib/talon_one/models/{application_customer_search.rb → multiple_attribute.rb} +10 -31
  421. data/lib/talon_one/models/multiple_customer_profile_integration_request.rb +1 -1
  422. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +21 -2
  423. data/lib/talon_one/models/multiple_customer_profile_integration_response_v2.rb +1 -1
  424. data/lib/talon_one/models/multiple_new_attribute.rb +208 -0
  425. data/lib/talon_one/models/mutable_entity.rb +1 -1
  426. data/lib/talon_one/models/new_account.rb +1 -1
  427. data/lib/talon_one/models/new_account_sign_up.rb +1 -1
  428. data/lib/talon_one/models/new_additional_cost.rb +93 -5
  429. data/lib/talon_one/models/new_application.rb +48 -12
  430. data/lib/talon_one/models/new_application_api_key.rb +5 -5
  431. data/lib/talon_one/models/new_attribute.rb +70 -4
  432. data/lib/talon_one/models/new_audience.rb +12 -51
  433. data/lib/talon_one/models/new_campaign.rb +8 -8
  434. data/lib/talon_one/models/new_campaign_collection.rb +253 -0
  435. data/lib/talon_one/models/new_campaign_group.rb +1 -1
  436. data/lib/talon_one/models/new_campaign_set.rb +1 -1
  437. data/lib/talon_one/models/new_campaign_set_v2.rb +261 -0
  438. data/lib/talon_one/models/new_campaign_template.rb +408 -0
  439. data/lib/talon_one/models/new_catalog.rb +240 -0
  440. data/lib/talon_one/models/new_collection.rb +265 -0
  441. data/lib/talon_one/models/new_coupon_creation_job.rb +353 -0
  442. data/lib/talon_one/models/new_coupons.rb +33 -6
  443. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +4 -4
  444. data/lib/talon_one/models/new_custom_effect.rb +339 -0
  445. data/lib/talon_one/models/new_customer_profile.rb +1 -1
  446. data/lib/talon_one/models/new_customer_session.rb +6 -6
  447. data/lib/talon_one/models/new_customer_session_v2.rb +24 -12
  448. data/lib/talon_one/models/new_event.rb +2 -2
  449. data/lib/talon_one/models/new_event_type.rb +5 -148
  450. data/lib/talon_one/models/new_giveaways_pool.rb +234 -0
  451. data/lib/talon_one/models/new_invitation.rb +2 -2
  452. data/lib/talon_one/models/new_invite_email.rb +1 -1
  453. data/lib/talon_one/models/new_loyalty_program.rb +109 -21
  454. data/lib/talon_one/models/new_loyalty_tier.rb +256 -0
  455. data/lib/talon_one/models/new_notification_webhook.rb +229 -0
  456. data/lib/talon_one/models/new_password.rb +1 -1
  457. data/lib/talon_one/models/new_password_email.rb +1 -1
  458. data/lib/talon_one/models/new_referral.rb +84 -20
  459. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +349 -0
  460. data/lib/talon_one/models/new_return.rb +214 -0
  461. data/lib/talon_one/models/new_role.rb +13 -13
  462. data/lib/talon_one/models/new_ruleset.rb +3 -3
  463. data/lib/talon_one/models/new_saml_connection.rb +1 -1
  464. data/lib/talon_one/models/new_template_def.rb +1 -1
  465. data/lib/talon_one/models/new_user.rb +1 -1
  466. data/lib/talon_one/models/new_webhook.rb +22 -1
  467. data/lib/talon_one/models/notification.rb +1 -1
  468. data/lib/talon_one/models/notification_webhook.rb +290 -0
  469. data/lib/talon_one/models/profile_audiences_changes.rb +1 -1
  470. data/lib/talon_one/models/redeem_referral_effect_props.rb +1 -1
  471. data/lib/talon_one/models/referral.rb +107 -49
  472. data/lib/talon_one/models/referral_constraints.rb +251 -0
  473. data/lib/talon_one/models/referral_created_effect_props.rb +1 -1
  474. data/lib/talon_one/models/referral_rejection_reason.rb +1 -1
  475. data/lib/talon_one/models/reject_coupon_effect_props.rb +1 -1
  476. data/lib/talon_one/models/reject_referral_effect_props.rb +1 -1
  477. data/lib/talon_one/models/return_integration_request.rb +246 -0
  478. data/lib/talon_one/models/returned_cart_item.rb +222 -0
  479. data/lib/talon_one/models/role.rb +46 -6
  480. data/lib/talon_one/models/role_assign.rb +1 -1
  481. data/lib/talon_one/models/role_membership.rb +1 -1
  482. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +54 -5
  483. data/lib/talon_one/models/rollback_coupon_effect_props.rb +1 -1
  484. data/lib/talon_one/models/rollback_deducted_loyalty_points_effect_props.rb +34 -5
  485. data/lib/talon_one/models/rollback_discount_effect_props.rb +57 -7
  486. data/lib/talon_one/models/rollback_referral_effect_props.rb +1 -1
  487. data/lib/talon_one/models/rule.rb +1 -1
  488. data/lib/talon_one/models/rule_failure_reason.rb +2 -2
  489. data/lib/talon_one/models/ruleset.rb +24 -19
  490. data/lib/talon_one/models/saml_connection.rb +1 -1
  491. data/lib/talon_one/models/saml_connection_metadata.rb +1 -1
  492. data/lib/talon_one/models/saml_login_endpoint.rb +1 -1
  493. data/lib/talon_one/models/session.rb +2 -2
  494. data/lib/talon_one/models/set_discount_effect_props.rb +15 -5
  495. data/lib/talon_one/models/set_discount_per_additional_cost_effect_props.rb +268 -0
  496. data/lib/talon_one/models/set_discount_per_additional_cost_per_item_effect_props.rb +293 -0
  497. data/lib/talon_one/models/set_discount_per_item_effect_props.rb +50 -10
  498. data/lib/talon_one/models/show_bundle_metadata_effect_props.rb +1 -1
  499. data/lib/talon_one/models/show_notification_effect_props.rb +1 -1
  500. data/lib/talon_one/models/slot_def.rb +1 -1
  501. data/lib/talon_one/models/template_arg_def.rb +1 -1
  502. data/lib/talon_one/models/template_def.rb +1 -1
  503. data/lib/talon_one/models/template_limit_config.rb +308 -0
  504. data/lib/talon_one/models/tier.rb +227 -0
  505. data/lib/talon_one/models/trigger_webhook_effect_props.rb +1 -1
  506. data/lib/talon_one/models/update_account.rb +1 -1
  507. data/lib/talon_one/models/update_application.rb +51 -15
  508. data/lib/talon_one/models/update_attribute_effect_props.rb +1 -1
  509. data/lib/talon_one/models/update_audience.rb +2 -2
  510. data/lib/talon_one/models/update_campaign.rb +4 -4
  511. data/lib/talon_one/models/update_campaign_collection.rb +207 -0
  512. data/lib/talon_one/models/update_campaign_group.rb +1 -1
  513. data/lib/talon_one/models/update_campaign_template.rb +435 -0
  514. data/lib/talon_one/models/update_catalog.rb +229 -0
  515. data/lib/talon_one/models/update_collection.rb +219 -0
  516. data/lib/talon_one/models/update_coupon.rb +30 -3
  517. data/lib/talon_one/models/update_coupon_batch.rb +2 -7
  518. data/lib/talon_one/models/update_custom_effect.rb +339 -0
  519. data/lib/talon_one/models/update_loyalty_card.rb +212 -0
  520. data/lib/talon_one/models/update_loyalty_program.rb +43 -6
  521. data/lib/talon_one/models/update_referral.rb +286 -0
  522. data/lib/talon_one/models/update_referral_batch.rb +276 -0
  523. data/lib/talon_one/models/update_role.rb +10 -10
  524. data/lib/talon_one/models/update_user.rb +1 -1
  525. data/lib/talon_one/models/update_user_latest_feed_timestamp.rb +1 -1
  526. data/lib/talon_one/models/user.rb +1 -1
  527. data/lib/talon_one/models/user_entity.rb +1 -1
  528. data/lib/talon_one/models/user_feed_notifications.rb +1 -1
  529. data/lib/talon_one/models/webhook.rb +22 -1
  530. data/lib/talon_one/models/webhook_activation_log_entry.rb +1 -1
  531. data/lib/talon_one/models/webhook_log_entry.rb +1 -1
  532. data/lib/talon_one/models/will_award_giveaway_effect_props.rb +262 -0
  533. data/lib/talon_one/version.rb +2 -2
  534. data/lib/talon_one.rb +87 -4
  535. data/spec/api/integration_api_spec.rb +145 -56
  536. data/spec/api/management_api_spec.rb +571 -435
  537. data/spec/api_client_spec.rb +1 -1
  538. data/spec/configuration_spec.rb +1 -1
  539. data/spec/models/accept_coupon_effect_props_spec.rb +1 -1
  540. data/spec/models/accept_referral_effect_props_spec.rb +1 -1
  541. data/spec/models/access_log_entry_spec.rb +1 -1
  542. data/spec/models/account_additional_cost_spec.rb +11 -1
  543. data/spec/models/account_analytics_spec.rb +7 -1
  544. data/spec/models/account_entity_spec.rb +1 -1
  545. data/spec/models/account_limits_spec.rb +1 -1
  546. data/spec/models/account_spec.rb +1 -1
  547. data/spec/models/add_free_item_effect_props_spec.rb +1 -1
  548. data/spec/models/add_loyalty_points_effect_props_spec.rb +25 -1
  549. data/spec/models/additional_cost_spec.rb +1 -1
  550. data/spec/models/api_error_spec.rb +1 -1
  551. data/spec/models/application_api_health_spec.rb +1 -1
  552. data/spec/models/application_api_key_spec.rb +2 -2
  553. data/spec/models/application_campaign_stats_spec.rb +71 -0
  554. data/spec/models/application_customer_entity_spec.rb +1 -1
  555. data/spec/models/application_customer_spec.rb +7 -1
  556. data/spec/models/application_entity_spec.rb +1 -1
  557. data/spec/models/application_event_spec.rb +1 -1
  558. data/spec/models/application_notification_spec.rb +41 -0
  559. data/spec/models/application_referee_spec.rb +71 -0
  560. data/spec/models/application_session_entity_spec.rb +1 -1
  561. data/spec/models/application_session_spec.rb +8 -2
  562. data/spec/models/application_spec.rb +17 -1
  563. data/spec/models/async_coupon_creation_response_spec.rb +41 -0
  564. data/spec/models/attribute_spec.rb +20 -2
  565. data/spec/models/attributes_mandatory_spec.rb +1 -1
  566. data/spec/models/attributes_settings_spec.rb +1 -1
  567. data/spec/models/audience_membership_spec.rb +1 -1
  568. data/spec/models/audience_spec.rb +1 -5
  569. data/spec/models/award_giveaway_effect_props_spec.rb +65 -0
  570. data/spec/models/base_loyalty_program_spec.rb +77 -0
  571. data/spec/models/base_saml_connection_spec.rb +1 -1
  572. data/spec/models/binding_spec.rb +7 -1
  573. data/spec/models/bulk_application_notification_spec.rb +47 -0
  574. data/spec/models/bulk_campaign_notification_spec.rb +47 -0
  575. data/spec/models/campaign_analytics_spec.rb +1 -1
  576. data/spec/models/campaign_collection_spec.rb +101 -0
  577. data/spec/models/campaign_collection_without_payload_spec.rb +95 -0
  578. data/spec/models/campaign_copy_spec.rb +1 -1
  579. data/spec/models/campaign_created_notification_spec.rb +41 -0
  580. data/spec/models/campaign_deleted_notification_spec.rb +41 -0
  581. data/spec/models/campaign_edited_notification_spec.rb +47 -0
  582. data/spec/models/campaign_entity_spec.rb +1 -1
  583. data/spec/models/campaign_group_entity_spec.rb +1 -1
  584. data/spec/models/campaign_group_spec.rb +1 -1
  585. data/spec/models/campaign_notification_spec.rb +41 -0
  586. data/spec/models/campaign_priorities_changed_notification_spec.rb +53 -0
  587. data/spec/models/campaign_priorities_v2_spec.rb +53 -0
  588. data/spec/models/campaign_ruleset_changed_notification_spec.rb +53 -0
  589. data/spec/models/campaign_search_spec.rb +1 -1
  590. data/spec/models/campaign_set_branch_node_spec.rb +1 -1
  591. data/spec/models/campaign_set_i_ds_spec.rb +41 -0
  592. data/spec/models/campaign_set_leaf_node_spec.rb +1 -1
  593. data/spec/models/campaign_set_node_spec.rb +1 -1
  594. data/spec/models/campaign_set_spec.rb +1 -1
  595. data/spec/models/campaign_set_v2_spec.rb +65 -0
  596. data/spec/models/campaign_spec.rb +32 -2
  597. data/spec/models/campaign_state_changed_notification_spec.rb +53 -0
  598. data/spec/models/campaign_template_collection_spec.rb +47 -0
  599. data/spec/models/campaign_template_params_spec.rb +57 -0
  600. data/spec/models/campaign_template_spec.rb +175 -0
  601. data/spec/models/cart_item_spec.rb +19 -1
  602. data/spec/models/catalog_spec.rb +89 -0
  603. data/spec/models/change_profile_password_spec.rb +1 -1
  604. data/spec/models/change_spec.rb +1 -1
  605. data/spec/models/code_generator_settings_spec.rb +1 -1
  606. data/spec/models/collection_spec.rb +107 -0
  607. data/spec/models/collection_without_payload_spec.rb +101 -0
  608. data/spec/models/coupon_constraints_spec.rb +1 -1
  609. data/spec/models/coupon_created_effect_props_spec.rb +1 -1
  610. data/spec/models/coupon_creation_job_spec.rb +161 -0
  611. data/spec/models/coupon_limit_configs_spec.rb +41 -0
  612. data/spec/models/coupon_rejection_reason_spec.rb +1 -1
  613. data/spec/models/coupon_reservations_spec.rb +1 -1
  614. data/spec/models/coupon_search_spec.rb +1 -1
  615. data/spec/models/coupon_spec.rb +7 -1
  616. data/spec/models/coupon_value_spec.rb +1 -1
  617. data/spec/models/create_application_api_key_spec.rb +2 -2
  618. data/spec/models/create_template_campaign_response_spec.rb +53 -0
  619. data/spec/models/create_template_campaign_spec.rb +77 -0
  620. data/spec/models/custom_effect_props_spec.rb +53 -0
  621. data/spec/models/custom_effect_spec.rb +113 -0
  622. data/spec/models/customer_activity_report_spec.rb +1 -1
  623. data/spec/models/customer_analytics_spec.rb +1 -1
  624. data/spec/models/customer_inventory_spec.rb +7 -1
  625. data/spec/models/customer_profile_audience_request_item_spec.rb +1 -1
  626. data/spec/models/customer_profile_audience_request_spec.rb +1 -1
  627. data/spec/models/customer_profile_integration_request_v2_spec.rb +2 -2
  628. data/spec/models/customer_profile_search_query_spec.rb +1 -1
  629. data/spec/models/customer_profile_spec.rb +8 -2
  630. data/spec/models/customer_session_spec.rb +8 -2
  631. data/spec/models/customer_session_v2_spec.rb +21 -3
  632. data/spec/models/deduct_loyalty_points_effect_props_spec.rb +13 -1
  633. data/spec/models/effect_entity_spec.rb +1 -1
  634. data/spec/models/effect_spec.rb +1 -1
  635. data/spec/models/email_entity_spec.rb +1 -1
  636. data/spec/models/entity_spec.rb +1 -1
  637. data/spec/models/entity_with_talang_visible_id_spec.rb +1 -1
  638. data/spec/models/environment_spec.rb +37 -1
  639. data/spec/models/error_effect_props_spec.rb +1 -1
  640. data/spec/models/error_response_spec.rb +1 -1
  641. data/spec/models/error_response_with_status_spec.rb +53 -0
  642. data/spec/models/error_source_spec.rb +1 -1
  643. data/spec/models/event_spec.rb +1 -1
  644. data/spec/models/event_type_spec.rb +1 -51
  645. data/spec/models/event_v2_spec.rb +53 -0
  646. data/spec/models/export_spec.rb +2 -2
  647. data/spec/models/feature_flag_spec.rb +1 -1
  648. data/spec/models/features_feed_spec.rb +1 -1
  649. data/spec/models/feed_notification_spec.rb +1 -1
  650. data/spec/models/func_arg_def_spec.rb +1 -1
  651. data/spec/models/function_def_spec.rb +1 -1
  652. data/spec/models/giveaway_spec.rb +89 -0
  653. data/spec/models/giveaways_pool_spec.rb +89 -0
  654. data/spec/models/import_entity_spec.rb +41 -0
  655. data/spec/models/import_spec.rb +1 -1
  656. data/spec/models/inline_response20010_spec.rb +1 -1
  657. data/spec/models/inline_response20011_spec.rb +1 -1
  658. data/spec/models/inline_response20012_spec.rb +1 -7
  659. data/spec/models/inline_response20013_spec.rb +7 -1
  660. data/spec/models/inline_response20014_spec.rb +2 -2
  661. data/spec/models/inline_response20015_spec.rb +1 -1
  662. data/spec/models/inline_response20016_spec.rb +1 -1
  663. data/spec/models/inline_response20017_spec.rb +2 -2
  664. data/spec/models/inline_response20018_spec.rb +1 -1
  665. data/spec/models/inline_response20019_spec.rb +1 -1
  666. data/spec/models/inline_response2001_spec.rb +1 -1
  667. data/spec/models/inline_response20020_spec.rb +7 -1
  668. data/spec/models/inline_response20021_spec.rb +7 -1
  669. data/spec/models/inline_response20022_spec.rb +1 -1
  670. data/spec/models/inline_response20023_spec.rb +1 -1
  671. data/spec/models/inline_response20024_spec.rb +1 -1
  672. data/spec/models/inline_response20025_spec.rb +1 -1
  673. data/spec/models/inline_response20026_spec.rb +1 -1
  674. data/spec/models/inline_response20027_spec.rb +1 -1
  675. data/spec/models/inline_response20028_spec.rb +1 -7
  676. data/spec/models/inline_response20029_spec.rb +7 -1
  677. data/spec/models/inline_response2002_spec.rb +1 -1
  678. data/spec/models/inline_response20030_spec.rb +1 -1
  679. data/spec/models/inline_response20031_spec.rb +47 -0
  680. data/spec/models/inline_response2003_spec.rb +1 -1
  681. data/spec/models/inline_response2004_spec.rb +1 -1
  682. data/spec/models/inline_response2005_spec.rb +1 -1
  683. data/spec/models/inline_response2006_spec.rb +2 -2
  684. data/spec/models/inline_response2007_spec.rb +2 -2
  685. data/spec/models/inline_response2008_spec.rb +7 -1
  686. data/spec/models/inline_response2009_spec.rb +7 -1
  687. data/spec/models/inline_response200_spec.rb +1 -1
  688. data/spec/models/inline_response201_spec.rb +47 -0
  689. data/spec/models/integration_customer_session_response_spec.rb +41 -0
  690. data/spec/models/integration_entity_spec.rb +1 -1
  691. data/spec/models/integration_event_spec.rb +1 -1
  692. data/spec/models/integration_event_v2_request_spec.rb +63 -0
  693. data/spec/models/integration_profile_entity_spec.rb +1 -1
  694. data/spec/models/integration_request_spec.rb +2 -2
  695. data/spec/models/integration_state_spec.rb +1 -1
  696. data/spec/models/integration_state_v2_spec.rb +19 -1
  697. data/spec/models/inventory_coupon_spec.rb +155 -0
  698. data/spec/models/inventory_referral_spec.rb +119 -0
  699. data/spec/models/ledger_entry_spec.rb +1 -1
  700. data/spec/models/ledger_info_spec.rb +83 -0
  701. data/spec/models/library_attribute_spec.rb +1 -1
  702. data/spec/models/limit_config_spec.rb +11 -1
  703. data/spec/models/limit_counter_spec.rb +125 -0
  704. data/spec/models/login_params_spec.rb +1 -1
  705. data/spec/models/loyalty_card_profile_registration_spec.rb +47 -0
  706. data/spec/models/loyalty_card_registration_spec.rb +41 -0
  707. data/spec/models/loyalty_card_spec.rb +95 -0
  708. data/spec/models/loyalty_dashboard_data_spec.rb +89 -0
  709. data/spec/models/loyalty_dashboard_points_breakdown_spec.rb +47 -0
  710. data/spec/models/loyalty_ledger_entry_spec.rb +7 -1
  711. data/spec/models/loyalty_ledger_spec.rb +1 -1
  712. data/spec/models/loyalty_membership_spec.rb +1 -1
  713. data/spec/models/loyalty_points_spec.rb +1 -1
  714. data/spec/models/loyalty_program_balance_spec.rb +1 -1
  715. data/spec/models/loyalty_program_entity_spec.rb +41 -0
  716. data/spec/models/loyalty_program_ledgers_spec.rb +1 -1
  717. data/spec/models/loyalty_program_spec.rb +38 -8
  718. data/spec/models/loyalty_projection_data_spec.rb +59 -0
  719. data/spec/models/loyalty_projection_spec.rb +53 -0
  720. data/spec/models/loyalty_spec.rb +7 -1
  721. data/spec/models/loyalty_statistics_spec.rb +31 -1
  722. data/spec/models/loyalty_sub_ledger_spec.rb +7 -1
  723. data/spec/models/loyalty_tier_spec.rb +65 -0
  724. data/spec/models/manager_config_spec.rb +1 -1
  725. data/spec/models/meta_spec.rb +1 -1
  726. data/spec/models/model_return_spec.rb +101 -0
  727. data/spec/models/multi_application_entity_spec.rb +1 -1
  728. data/spec/models/multiple_attribute_spec.rb +41 -0
  729. data/spec/models/multiple_customer_profile_integration_request_item_spec.rb +1 -1
  730. data/spec/models/multiple_customer_profile_integration_request_spec.rb +1 -1
  731. data/spec/models/multiple_customer_profile_integration_response_v2_spec.rb +1 -1
  732. data/spec/models/multiple_new_attribute_spec.rb +41 -0
  733. data/spec/models/mutable_entity_spec.rb +1 -1
  734. data/spec/models/new_account_sign_up_spec.rb +1 -1
  735. data/spec/models/new_account_spec.rb +1 -1
  736. data/spec/models/new_additional_cost_spec.rb +11 -1
  737. data/spec/models/new_application_api_key_spec.rb +2 -2
  738. data/spec/models/new_application_spec.rb +17 -1
  739. data/spec/models/new_attribute_spec.rb +14 -2
  740. data/spec/models/new_audience_spec.rb +1 -5
  741. data/spec/models/new_campaign_collection_spec.rb +47 -0
  742. data/spec/models/new_campaign_group_spec.rb +1 -1
  743. data/spec/models/new_campaign_set_spec.rb +1 -1
  744. data/spec/models/new_campaign_set_v2_spec.rb +53 -0
  745. data/spec/models/new_campaign_spec.rb +2 -2
  746. data/spec/models/new_campaign_template_spec.rb +121 -0
  747. data/spec/models/new_catalog_spec.rb +53 -0
  748. data/spec/models/new_collection_spec.rb +53 -0
  749. data/spec/models/new_coupon_creation_job_spec.rb +77 -0
  750. data/spec/models/new_coupons_for_multiple_recipients_spec.rb +1 -1
  751. data/spec/models/new_coupons_spec.rb +7 -1
  752. data/spec/models/new_custom_effect_spec.rb +77 -0
  753. data/spec/models/new_customer_profile_spec.rb +1 -1
  754. data/spec/models/new_customer_session_spec.rb +2 -2
  755. data/spec/models/new_customer_session_v2_spec.rb +8 -2
  756. data/spec/models/new_event_spec.rb +1 -1
  757. data/spec/models/new_event_type_spec.rb +1 -51
  758. data/spec/models/new_giveaways_pool_spec.rb +53 -0
  759. data/spec/models/new_invitation_spec.rb +1 -1
  760. data/spec/models/new_invite_email_spec.rb +1 -1
  761. data/spec/models/new_loyalty_program_spec.rb +31 -7
  762. data/spec/models/new_loyalty_tier_spec.rb +47 -0
  763. data/spec/models/new_notification_webhook_spec.rb +47 -0
  764. data/spec/models/new_password_email_spec.rb +1 -1
  765. data/spec/models/new_password_spec.rb +1 -1
  766. data/spec/models/new_referral_spec.rb +18 -6
  767. data/spec/models/new_referrals_for_multiple_advocates_spec.rb +83 -0
  768. data/spec/models/new_return_spec.rb +41 -0
  769. data/spec/models/new_role_spec.rb +2 -2
  770. data/spec/models/new_ruleset_spec.rb +1 -1
  771. data/spec/models/new_saml_connection_spec.rb +1 -1
  772. data/spec/models/new_template_def_spec.rb +1 -1
  773. data/spec/models/new_user_spec.rb +1 -1
  774. data/spec/models/new_webhook_spec.rb +1 -1
  775. data/spec/models/notification_spec.rb +1 -1
  776. data/spec/models/notification_webhook_spec.rb +71 -0
  777. data/spec/models/profile_audiences_changes_spec.rb +1 -1
  778. data/spec/models/redeem_referral_effect_props_spec.rb +1 -1
  779. data/spec/models/referral_constraints_spec.rb +53 -0
  780. data/spec/models/referral_created_effect_props_spec.rb +1 -1
  781. data/spec/models/referral_rejection_reason_spec.rb +1 -1
  782. data/spec/models/referral_spec.rb +22 -4
  783. data/spec/models/reject_coupon_effect_props_spec.rb +1 -1
  784. data/spec/models/reject_referral_effect_props_spec.rb +1 -1
  785. data/spec/models/return_integration_request_spec.rb +51 -0
  786. data/spec/models/returned_cart_item_spec.rb +47 -0
  787. data/spec/models/role_assign_spec.rb +1 -1
  788. data/spec/models/role_membership_spec.rb +1 -1
  789. data/spec/models/role_spec.rb +13 -1
  790. data/spec/models/rollback_added_loyalty_points_effect_props_spec.rb +19 -1
  791. data/spec/models/rollback_coupon_effect_props_spec.rb +1 -1
  792. data/spec/models/rollback_deducted_loyalty_points_effect_props_spec.rb +7 -1
  793. data/spec/models/rollback_discount_effect_props_spec.rb +31 -1
  794. data/spec/models/rollback_referral_effect_props_spec.rb +1 -1
  795. data/spec/models/rule_failure_reason_spec.rb +1 -1
  796. data/spec/models/rule_spec.rb +1 -1
  797. data/spec/models/ruleset_spec.rb +13 -7
  798. data/spec/models/saml_connection_metadata_spec.rb +1 -1
  799. data/spec/models/saml_connection_spec.rb +1 -1
  800. data/spec/models/saml_login_endpoint_spec.rb +1 -1
  801. data/spec/models/session_spec.rb +1 -1
  802. data/spec/models/set_discount_effect_props_spec.rb +7 -1
  803. data/spec/models/set_discount_per_additional_cost_effect_props_spec.rb +65 -0
  804. data/spec/models/set_discount_per_additional_cost_per_item_effect_props_spec.rb +77 -0
  805. data/spec/models/set_discount_per_item_effect_props_spec.rb +25 -1
  806. data/spec/models/show_bundle_metadata_effect_props_spec.rb +1 -1
  807. data/spec/models/show_notification_effect_props_spec.rb +1 -1
  808. data/spec/models/slot_def_spec.rb +1 -1
  809. data/spec/models/template_arg_def_spec.rb +1 -1
  810. data/spec/models/template_def_spec.rb +1 -1
  811. data/spec/models/template_limit_config_spec.rb +67 -0
  812. data/spec/models/tier_spec.rb +47 -0
  813. data/spec/models/trigger_webhook_effect_props_spec.rb +1 -1
  814. data/spec/models/update_account_spec.rb +1 -1
  815. data/spec/models/update_application_spec.rb +17 -1
  816. data/spec/models/update_attribute_effect_props_spec.rb +1 -1
  817. data/spec/models/update_audience_spec.rb +1 -1
  818. data/spec/models/update_campaign_collection_spec.rb +41 -0
  819. data/spec/models/update_campaign_group_spec.rb +1 -1
  820. data/spec/models/update_campaign_spec.rb +2 -2
  821. data/spec/models/update_campaign_template_spec.rb +133 -0
  822. data/spec/models/update_catalog_spec.rb +53 -0
  823. data/spec/models/update_collection_spec.rb +47 -0
  824. data/spec/models/update_coupon_batch_spec.rb +1 -1
  825. data/spec/models/update_coupon_spec.rb +7 -1
  826. data/spec/models/update_custom_effect_spec.rb +77 -0
  827. data/spec/models/update_loyalty_card_spec.rb +41 -0
  828. data/spec/models/update_loyalty_program_spec.rb +13 -1
  829. data/spec/models/update_referral_batch_spec.rb +65 -0
  830. data/spec/models/update_referral_spec.rb +65 -0
  831. data/spec/models/update_role_spec.rb +2 -2
  832. data/spec/models/update_user_latest_feed_timestamp_spec.rb +1 -1
  833. data/spec/models/update_user_spec.rb +1 -1
  834. data/spec/models/user_entity_spec.rb +1 -1
  835. data/spec/models/user_feed_notifications_spec.rb +1 -1
  836. data/spec/models/user_spec.rb +1 -1
  837. data/spec/models/webhook_activation_log_entry_spec.rb +1 -1
  838. data/spec/models/webhook_log_entry_spec.rb +1 -1
  839. data/spec/models/webhook_spec.rb +1 -1
  840. data/spec/models/will_award_giveaway_effect_props_spec.rb +53 -0
  841. data/spec/spec_helper.rb +1 -1
  842. data/talon_one.gemspec +1 -1
  843. metadata +550 -217
  844. data/docs/ApplicationCustomerSearch.md +0 -21
  845. data/docs/FeatureFlags.md +0 -23
  846. data/docs/NewFeatureFlags.md +0 -21
  847. data/spec/models/application_customer_search_spec.rb +0 -53
  848. data/spec/models/feature_flags_spec.rb +0 -59
  849. data/spec/models/new_feature_flags_spec.rb +0 -53
@@ -0,0 +1,533 @@
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 are reading this page at `https://mycompany.talon.one/docs/api/`, the URL for the [updateCustomerSession](https://docs.talon.one/integration-api/#operation/updateCustomerSessionV2) endpoint is `https://mycompany.talon.one/v2/customer_sessions/{Id}`
5
+
6
+ The version of the OpenAPI document: 1.0.0
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
+ #
17
+ class CampaignTemplate
18
+ # Unique ID for this entity.
19
+ attr_accessor :id
20
+
21
+ # The exact moment this entity was created.
22
+ attr_accessor :created
23
+
24
+ # The ID of the account that owns this entity.
25
+ attr_accessor :account_id
26
+
27
+ # The ID of the account that owns this entity.
28
+ attr_accessor :user_id
29
+
30
+ # The campaign template name.
31
+ attr_accessor :name
32
+
33
+ # Customer-facing text that explains the objective of the template.
34
+ attr_accessor :description
35
+
36
+ # Customer-facing text that explains how to use the template. For example, you can use this property to explain the available attributes of this template, and how they can be modified when a user uses this template to create a new campaign.
37
+ attr_accessor :instructions
38
+
39
+ # The Campaign Attributes that Campaigns created from this template will have by default.
40
+ attr_accessor :campaign_attributes
41
+
42
+ # The Campaign Attributes that Coupons created from this template will have by default.
43
+ attr_accessor :coupon_attributes
44
+
45
+ # Only Campaign Templates in 'available' state may be used to create Campaigns.
46
+ attr_accessor :state
47
+
48
+ # The ID of the Ruleset this Campaign Template will use.
49
+ attr_accessor :active_ruleset_id
50
+
51
+ # A list of tags for the campaign template.
52
+ attr_accessor :tags
53
+
54
+ # A list of features for the campaign template.
55
+ attr_accessor :features
56
+
57
+ attr_accessor :coupon_settings
58
+
59
+ attr_accessor :referral_settings
60
+
61
+ # The set of limits that will operate for this campaign template
62
+ attr_accessor :limits
63
+
64
+ # Template parameters are fields which can be used to replace values in a rule.
65
+ attr_accessor :template_params
66
+
67
+ # A list of the IDs of the applications that are subscribed to this campaign template A list of the IDs of the applications that are subscribed to this campaign template
68
+ attr_accessor :applications_ids
69
+
70
+ # The campaign collections from the blueprint campaign for the template.
71
+ attr_accessor :campaign_collections
72
+
73
+ # Timestamp of the most recent update to the campaign template or any of its elements.
74
+ attr_accessor :updated
75
+
76
+ # Name of the user who last updated this campaign template if available.
77
+ attr_accessor :updated_by
78
+
79
+ # The IDs of the applications that are related to this entity.
80
+ attr_accessor :valid_application_ids
81
+
82
+ class EnumAttributeValidator
83
+ attr_reader :datatype
84
+ attr_reader :allowable_values
85
+
86
+ def initialize(datatype, allowable_values)
87
+ @allowable_values = allowable_values.map do |value|
88
+ case datatype.to_s
89
+ when /Integer/i
90
+ value.to_i
91
+ when /Float/i
92
+ value.to_f
93
+ else
94
+ value
95
+ end
96
+ end
97
+ end
98
+
99
+ def valid?(value)
100
+ !value || allowable_values.include?(value)
101
+ end
102
+ end
103
+
104
+ # Attribute mapping from ruby-style variable name to JSON key.
105
+ def self.attribute_map
106
+ {
107
+ :'id' => :'id',
108
+ :'created' => :'created',
109
+ :'account_id' => :'accountId',
110
+ :'user_id' => :'userId',
111
+ :'name' => :'name',
112
+ :'description' => :'description',
113
+ :'instructions' => :'instructions',
114
+ :'campaign_attributes' => :'campaignAttributes',
115
+ :'coupon_attributes' => :'couponAttributes',
116
+ :'state' => :'state',
117
+ :'active_ruleset_id' => :'activeRulesetId',
118
+ :'tags' => :'tags',
119
+ :'features' => :'features',
120
+ :'coupon_settings' => :'couponSettings',
121
+ :'referral_settings' => :'referralSettings',
122
+ :'limits' => :'limits',
123
+ :'template_params' => :'templateParams',
124
+ :'applications_ids' => :'applicationsIds',
125
+ :'campaign_collections' => :'campaignCollections',
126
+ :'updated' => :'updated',
127
+ :'updated_by' => :'updatedBy',
128
+ :'valid_application_ids' => :'validApplicationIds'
129
+ }
130
+ end
131
+
132
+ # Attribute type mapping.
133
+ def self.openapi_types
134
+ {
135
+ :'id' => :'Integer',
136
+ :'created' => :'DateTime',
137
+ :'account_id' => :'Integer',
138
+ :'user_id' => :'Integer',
139
+ :'name' => :'String',
140
+ :'description' => :'String',
141
+ :'instructions' => :'String',
142
+ :'campaign_attributes' => :'Object',
143
+ :'coupon_attributes' => :'Object',
144
+ :'state' => :'String',
145
+ :'active_ruleset_id' => :'Integer',
146
+ :'tags' => :'Array<String>',
147
+ :'features' => :'Array<String>',
148
+ :'coupon_settings' => :'CodeGeneratorSettings',
149
+ :'referral_settings' => :'CodeGeneratorSettings',
150
+ :'limits' => :'Array<TemplateLimitConfig>',
151
+ :'template_params' => :'Array<CampaignTemplateParams>',
152
+ :'applications_ids' => :'Array<Integer>',
153
+ :'campaign_collections' => :'Array<CampaignTemplateCollection>',
154
+ :'updated' => :'DateTime',
155
+ :'updated_by' => :'String',
156
+ :'valid_application_ids' => :'Array<Integer>'
157
+ }
158
+ end
159
+
160
+ # List of attributes with nullable: true
161
+ def self.openapi_nullable
162
+ Set.new([
163
+ ])
164
+ end
165
+
166
+ # Initializes the object
167
+ # @param [Hash] attributes Model attributes in the form of hash
168
+ def initialize(attributes = {})
169
+ if (!attributes.is_a?(Hash))
170
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::CampaignTemplate` initialize method"
171
+ end
172
+
173
+ # check to see if the attribute exists and convert string to symbol for hash key
174
+ attributes = attributes.each_with_object({}) { |(k, v), h|
175
+ if (!self.class.attribute_map.key?(k.to_sym))
176
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::CampaignTemplate`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
177
+ end
178
+ h[k.to_sym] = v
179
+ }
180
+
181
+ if attributes.key?(:'id')
182
+ self.id = attributes[:'id']
183
+ end
184
+
185
+ if attributes.key?(:'created')
186
+ self.created = attributes[:'created']
187
+ end
188
+
189
+ if attributes.key?(:'account_id')
190
+ self.account_id = attributes[:'account_id']
191
+ end
192
+
193
+ if attributes.key?(:'user_id')
194
+ self.user_id = attributes[:'user_id']
195
+ end
196
+
197
+ if attributes.key?(:'name')
198
+ self.name = attributes[:'name']
199
+ end
200
+
201
+ if attributes.key?(:'description')
202
+ self.description = attributes[:'description']
203
+ end
204
+
205
+ if attributes.key?(:'instructions')
206
+ self.instructions = attributes[:'instructions']
207
+ end
208
+
209
+ if attributes.key?(:'campaign_attributes')
210
+ self.campaign_attributes = attributes[:'campaign_attributes']
211
+ end
212
+
213
+ if attributes.key?(:'coupon_attributes')
214
+ self.coupon_attributes = attributes[:'coupon_attributes']
215
+ end
216
+
217
+ if attributes.key?(:'state')
218
+ self.state = attributes[:'state']
219
+ end
220
+
221
+ if attributes.key?(:'active_ruleset_id')
222
+ self.active_ruleset_id = attributes[:'active_ruleset_id']
223
+ end
224
+
225
+ if attributes.key?(:'tags')
226
+ if (value = attributes[:'tags']).is_a?(Array)
227
+ self.tags = value
228
+ end
229
+ end
230
+
231
+ if attributes.key?(:'features')
232
+ if (value = attributes[:'features']).is_a?(Array)
233
+ self.features = value
234
+ end
235
+ end
236
+
237
+ if attributes.key?(:'coupon_settings')
238
+ self.coupon_settings = attributes[:'coupon_settings']
239
+ end
240
+
241
+ if attributes.key?(:'referral_settings')
242
+ self.referral_settings = attributes[:'referral_settings']
243
+ end
244
+
245
+ if attributes.key?(:'limits')
246
+ if (value = attributes[:'limits']).is_a?(Array)
247
+ self.limits = value
248
+ end
249
+ end
250
+
251
+ if attributes.key?(:'template_params')
252
+ if (value = attributes[:'template_params']).is_a?(Array)
253
+ self.template_params = value
254
+ end
255
+ end
256
+
257
+ if attributes.key?(:'applications_ids')
258
+ if (value = attributes[:'applications_ids']).is_a?(Array)
259
+ self.applications_ids = value
260
+ end
261
+ end
262
+
263
+ if attributes.key?(:'campaign_collections')
264
+ if (value = attributes[:'campaign_collections']).is_a?(Array)
265
+ self.campaign_collections = value
266
+ end
267
+ end
268
+
269
+ if attributes.key?(:'updated')
270
+ self.updated = attributes[:'updated']
271
+ end
272
+
273
+ if attributes.key?(:'updated_by')
274
+ self.updated_by = attributes[:'updated_by']
275
+ end
276
+
277
+ if attributes.key?(:'valid_application_ids')
278
+ if (value = attributes[:'valid_application_ids']).is_a?(Array)
279
+ self.valid_application_ids = value
280
+ end
281
+ end
282
+ end
283
+
284
+ # Show invalid properties with the reasons. Usually used together with valid?
285
+ # @return Array for valid properties with the reasons
286
+ def list_invalid_properties
287
+ invalid_properties = Array.new
288
+ if @id.nil?
289
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
290
+ end
291
+
292
+ if @created.nil?
293
+ invalid_properties.push('invalid value for "created", created cannot be nil.')
294
+ end
295
+
296
+ if @account_id.nil?
297
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
298
+ end
299
+
300
+ if @user_id.nil?
301
+ invalid_properties.push('invalid value for "user_id", user_id cannot be nil.')
302
+ end
303
+
304
+ if @name.nil?
305
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
306
+ end
307
+
308
+ if @name.to_s.length < 1
309
+ invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
310
+ end
311
+
312
+ if @description.nil?
313
+ invalid_properties.push('invalid value for "description", description cannot be nil.')
314
+ end
315
+
316
+ if @instructions.nil?
317
+ invalid_properties.push('invalid value for "instructions", instructions cannot be nil.')
318
+ end
319
+
320
+ if @state.nil?
321
+ invalid_properties.push('invalid value for "state", state cannot be nil.')
322
+ end
323
+
324
+ if @applications_ids.nil?
325
+ invalid_properties.push('invalid value for "applications_ids", applications_ids cannot be nil.')
326
+ end
327
+
328
+ if @valid_application_ids.nil?
329
+ invalid_properties.push('invalid value for "valid_application_ids", valid_application_ids cannot be nil.')
330
+ end
331
+
332
+ invalid_properties
333
+ end
334
+
335
+ # Check to see if the all the properties in the model are valid
336
+ # @return true if the model is valid
337
+ def valid?
338
+ return false if @id.nil?
339
+ return false if @created.nil?
340
+ return false if @account_id.nil?
341
+ return false if @user_id.nil?
342
+ return false if @name.nil?
343
+ return false if @name.to_s.length < 1
344
+ return false if @description.nil?
345
+ return false if @instructions.nil?
346
+ return false if @state.nil?
347
+ state_validator = EnumAttributeValidator.new('String', ["draft", "enabled", "disabled"])
348
+ return false unless state_validator.valid?(@state)
349
+ return false if @applications_ids.nil?
350
+ return false if @valid_application_ids.nil?
351
+ true
352
+ end
353
+
354
+ # Custom attribute writer method with validation
355
+ # @param [Object] name Value to be assigned
356
+ def name=(name)
357
+ if name.nil?
358
+ fail ArgumentError, 'name cannot be nil'
359
+ end
360
+
361
+ if name.to_s.length < 1
362
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
363
+ end
364
+
365
+ @name = name
366
+ end
367
+
368
+ # Custom attribute writer method checking allowed values (enum).
369
+ # @param [Object] state Object to be assigned
370
+ def state=(state)
371
+ validator = EnumAttributeValidator.new('String', ["draft", "enabled", "disabled"])
372
+ unless validator.valid?(state)
373
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
374
+ end
375
+ @state = state
376
+ end
377
+
378
+ # Checks equality by comparing each attribute.
379
+ # @param [Object] Object to be compared
380
+ def ==(o)
381
+ return true if self.equal?(o)
382
+ self.class == o.class &&
383
+ id == o.id &&
384
+ created == o.created &&
385
+ account_id == o.account_id &&
386
+ user_id == o.user_id &&
387
+ name == o.name &&
388
+ description == o.description &&
389
+ instructions == o.instructions &&
390
+ campaign_attributes == o.campaign_attributes &&
391
+ coupon_attributes == o.coupon_attributes &&
392
+ state == o.state &&
393
+ active_ruleset_id == o.active_ruleset_id &&
394
+ tags == o.tags &&
395
+ features == o.features &&
396
+ coupon_settings == o.coupon_settings &&
397
+ referral_settings == o.referral_settings &&
398
+ limits == o.limits &&
399
+ template_params == o.template_params &&
400
+ applications_ids == o.applications_ids &&
401
+ campaign_collections == o.campaign_collections &&
402
+ updated == o.updated &&
403
+ updated_by == o.updated_by &&
404
+ valid_application_ids == o.valid_application_ids
405
+ end
406
+
407
+ # @see the `==` method
408
+ # @param [Object] Object to be compared
409
+ def eql?(o)
410
+ self == o
411
+ end
412
+
413
+ # Calculates hash code according to all attributes.
414
+ # @return [Integer] Hash code
415
+ def hash
416
+ [id, created, account_id, user_id, name, description, instructions, campaign_attributes, coupon_attributes, state, active_ruleset_id, tags, features, coupon_settings, referral_settings, limits, template_params, applications_ids, campaign_collections, updated, updated_by, valid_application_ids].hash
417
+ end
418
+
419
+ # Builds the object from hash
420
+ # @param [Hash] attributes Model attributes in the form of hash
421
+ # @return [Object] Returns the model itself
422
+ def self.build_from_hash(attributes)
423
+ new.build_from_hash(attributes)
424
+ end
425
+
426
+ # Builds the object from hash
427
+ # @param [Hash] attributes Model attributes in the form of hash
428
+ # @return [Object] Returns the model itself
429
+ def build_from_hash(attributes)
430
+ return nil unless attributes.is_a?(Hash)
431
+ self.class.openapi_types.each_pair do |key, type|
432
+ if type =~ /\AArray<(.*)>/i
433
+ # check to ensure the input is an array given that the attribute
434
+ # is documented as an array but the input is not
435
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
436
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
437
+ end
438
+ elsif !attributes[self.class.attribute_map[key]].nil?
439
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
440
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
441
+ end
442
+
443
+ self
444
+ end
445
+
446
+ # Deserializes the data based on type
447
+ # @param string type Data type
448
+ # @param string value Value to be deserialized
449
+ # @return [Object] Deserialized data
450
+ def _deserialize(type, value)
451
+ case type.to_sym
452
+ when :DateTime
453
+ DateTime.parse(value)
454
+ when :Date
455
+ Date.parse(value)
456
+ when :String
457
+ value.to_s
458
+ when :Integer
459
+ value.to_i
460
+ when :Float
461
+ value.to_f
462
+ when :Boolean
463
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
464
+ true
465
+ else
466
+ false
467
+ end
468
+ when :Object
469
+ # generic object (usually a Hash), return directly
470
+ value
471
+ when /\AArray<(?<inner_type>.+)>\z/
472
+ inner_type = Regexp.last_match[:inner_type]
473
+ value.map { |v| _deserialize(inner_type, v) }
474
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
475
+ k_type = Regexp.last_match[:k_type]
476
+ v_type = Regexp.last_match[:v_type]
477
+ {}.tap do |hash|
478
+ value.each do |k, v|
479
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
480
+ end
481
+ end
482
+ else # model
483
+ TalonOne.const_get(type).build_from_hash(value)
484
+ end
485
+ end
486
+
487
+ # Returns the string representation of the object
488
+ # @return [String] String presentation of the object
489
+ def to_s
490
+ to_hash.to_s
491
+ end
492
+
493
+ # to_body is an alias to to_hash (backward compatibility)
494
+ # @return [Hash] Returns the object in the form of hash
495
+ def to_body
496
+ to_hash
497
+ end
498
+
499
+ # Returns the object in the form of hash
500
+ # @return [Hash] Returns the object in the form of hash
501
+ def to_hash
502
+ hash = {}
503
+ self.class.attribute_map.each_pair do |attr, param|
504
+ value = self.send(attr)
505
+ if value.nil?
506
+ is_nullable = self.class.openapi_nullable.include?(attr)
507
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
508
+ end
509
+
510
+ hash[param] = _to_hash(value)
511
+ end
512
+ hash
513
+ end
514
+
515
+ # Outputs non-array value in the form of hash
516
+ # For object, use to_hash. Otherwise, just return the value
517
+ # @param [Object] value Any valid value
518
+ # @return [Hash] Returns the value in the form of hash
519
+ def _to_hash(value)
520
+ if value.is_a?(Array)
521
+ value.compact.map { |v| _to_hash(v) }
522
+ elsif value.is_a?(Hash)
523
+ {}.tap do |hash|
524
+ value.each { |k, v| hash[k] = _to_hash(v) }
525
+ end
526
+ elsif value.respond_to? :to_hash
527
+ value.to_hash
528
+ else
529
+ value
530
+ end
531
+ end
532
+ end
533
+ end