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
@@ -54,6 +54,9 @@ module TalonOne
54
54
  # The default campaign group ID.
55
55
  attr_accessor :default_campaign_group_id
56
56
 
57
+ # The campaign type. Possible type values: - `cartItem`: Type of campaign that can apply effects only to cart items. - `advanced`: Type of campaign that can apply effects to customer sessions and cart items.
58
+ attr_accessor :campaign_type
59
+
57
60
  class EnumAttributeValidator
58
61
  attr_reader :datatype
59
62
  attr_reader :allowable_values
@@ -92,7 +95,8 @@ module TalonOne
92
95
  :'limits' => :'limits',
93
96
  :'template_params' => :'templateParams',
94
97
  :'campaign_collections' => :'campaignCollections',
95
- :'default_campaign_group_id' => :'defaultCampaignGroupId'
98
+ :'default_campaign_group_id' => :'defaultCampaignGroupId',
99
+ :'campaign_type' => :'campaignType'
96
100
  }
97
101
  end
98
102
 
@@ -112,7 +116,8 @@ module TalonOne
112
116
  :'limits' => :'Array<TemplateLimitConfig>',
113
117
  :'template_params' => :'Array<CampaignTemplateParams>',
114
118
  :'campaign_collections' => :'Array<CampaignTemplateCollection>',
115
- :'default_campaign_group_id' => :'Integer'
119
+ :'default_campaign_group_id' => :'Integer',
120
+ :'campaign_type' => :'String'
116
121
  }
117
122
  end
118
123
 
@@ -202,6 +207,12 @@ module TalonOne
202
207
  if attributes.key?(:'default_campaign_group_id')
203
208
  self.default_campaign_group_id = attributes[:'default_campaign_group_id']
204
209
  end
210
+
211
+ if attributes.key?(:'campaign_type')
212
+ self.campaign_type = attributes[:'campaign_type']
213
+ else
214
+ self.campaign_type = 'advanced'
215
+ end
205
216
  end
206
217
 
207
218
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -228,6 +239,10 @@ module TalonOne
228
239
  invalid_properties.push('invalid value for "state", state cannot be nil.')
229
240
  end
230
241
 
242
+ if @campaign_type.nil?
243
+ invalid_properties.push('invalid value for "campaign_type", campaign_type cannot be nil.')
244
+ end
245
+
231
246
  invalid_properties
232
247
  end
233
248
 
@@ -241,6 +256,9 @@ module TalonOne
241
256
  return false if @state.nil?
242
257
  state_validator = EnumAttributeValidator.new('String', ["draft", "enabled", "disabled"])
243
258
  return false unless state_validator.valid?(@state)
259
+ return false if @campaign_type.nil?
260
+ campaign_type_validator = EnumAttributeValidator.new('String', ["cartItem", "advanced"])
261
+ return false unless campaign_type_validator.valid?(@campaign_type)
244
262
  true
245
263
  end
246
264
 
@@ -268,6 +286,16 @@ module TalonOne
268
286
  @state = state
269
287
  end
270
288
 
289
+ # Custom attribute writer method checking allowed values (enum).
290
+ # @param [Object] campaign_type Object to be assigned
291
+ def campaign_type=(campaign_type)
292
+ validator = EnumAttributeValidator.new('String', ["cartItem", "advanced"])
293
+ unless validator.valid?(campaign_type)
294
+ fail ArgumentError, "invalid value for \"campaign_type\", must be one of #{validator.allowable_values}."
295
+ end
296
+ @campaign_type = campaign_type
297
+ end
298
+
271
299
  # Checks equality by comparing each attribute.
272
300
  # @param [Object] Object to be compared
273
301
  def ==(o)
@@ -286,7 +314,8 @@ module TalonOne
286
314
  limits == o.limits &&
287
315
  template_params == o.template_params &&
288
316
  campaign_collections == o.campaign_collections &&
289
- default_campaign_group_id == o.default_campaign_group_id
317
+ default_campaign_group_id == o.default_campaign_group_id &&
318
+ campaign_type == o.campaign_type
290
319
  end
291
320
 
292
321
  # @see the `==` method
@@ -298,7 +327,7 @@ module TalonOne
298
327
  # Calculates hash code according to all attributes.
299
328
  # @return [Integer] Hash code
300
329
  def hash
301
- [name, description, instructions, campaign_attributes, coupon_attributes, state, tags, features, coupon_settings, referral_settings, limits, template_params, campaign_collections, default_campaign_group_id].hash
330
+ [name, description, instructions, campaign_attributes, coupon_attributes, state, tags, features, coupon_settings, referral_settings, limits, template_params, campaign_collections, default_campaign_group_id, campaign_type].hash
302
331
  end
303
332
 
304
333
  # Builds the object from hash
@@ -51,9 +51,12 @@ module TalonOne
51
51
  # The pattern used to generate coupon codes. The character `#` is a placeholder and is replaced by a random character from the `validCharacters` set.
52
52
  attr_accessor :coupon_pattern
53
53
 
54
- # Whether the reservation effect actually created a new reservation.
54
+ # An indication of whether the code can be redeemed only if it has been reserved first.
55
55
  attr_accessor :is_reservation_mandatory
56
56
 
57
+ # An indication of whether the coupon is implicitly reserved for all customers.
58
+ attr_accessor :implicitly_reserved
59
+
57
60
  # Attribute mapping from ruby-style variable name to JSON key.
58
61
  def self.attribute_map
59
62
  {
@@ -69,7 +72,8 @@ module TalonOne
69
72
  :'recipient_integration_id' => :'recipientIntegrationId',
70
73
  :'valid_characters' => :'validCharacters',
71
74
  :'coupon_pattern' => :'couponPattern',
72
- :'is_reservation_mandatory' => :'isReservationMandatory'
75
+ :'is_reservation_mandatory' => :'isReservationMandatory',
76
+ :'implicitly_reserved' => :'implicitlyReserved'
73
77
  }
74
78
  end
75
79
 
@@ -88,7 +92,8 @@ module TalonOne
88
92
  :'recipient_integration_id' => :'String',
89
93
  :'valid_characters' => :'Array<String>',
90
94
  :'coupon_pattern' => :'String',
91
- :'is_reservation_mandatory' => :'Boolean'
95
+ :'is_reservation_mandatory' => :'Boolean',
96
+ :'implicitly_reserved' => :'Boolean'
92
97
  }
93
98
  end
94
99
 
@@ -168,7 +173,11 @@ module TalonOne
168
173
  if attributes.key?(:'is_reservation_mandatory')
169
174
  self.is_reservation_mandatory = attributes[:'is_reservation_mandatory']
170
175
  else
171
- self.is_reservation_mandatory = true
176
+ self.is_reservation_mandatory = false
177
+ end
178
+
179
+ if attributes.key?(:'implicitly_reserved')
180
+ self.implicitly_reserved = attributes[:'implicitly_reserved']
172
181
  end
173
182
  end
174
183
 
@@ -327,7 +336,8 @@ module TalonOne
327
336
  recipient_integration_id == o.recipient_integration_id &&
328
337
  valid_characters == o.valid_characters &&
329
338
  coupon_pattern == o.coupon_pattern &&
330
- is_reservation_mandatory == o.is_reservation_mandatory
339
+ is_reservation_mandatory == o.is_reservation_mandatory &&
340
+ implicitly_reserved == o.implicitly_reserved
331
341
  end
332
342
 
333
343
  # @see the `==` method
@@ -339,7 +349,7 @@ module TalonOne
339
349
  # Calculates hash code according to all attributes.
340
350
  # @return [Integer] Hash code
341
351
  def hash
342
- [usage_limit, discount_limit, reservation_limit, start_date, expiry_date, limits, number_of_coupons, unique_prefix, attributes, recipient_integration_id, valid_characters, coupon_pattern, is_reservation_mandatory].hash
352
+ [usage_limit, discount_limit, reservation_limit, start_date, expiry_date, limits, number_of_coupons, unique_prefix, attributes, recipient_integration_id, valid_characters, coupon_pattern, is_reservation_mandatory, implicitly_reserved].hash
343
353
  end
344
354
 
345
355
  # Builds the object from hash
@@ -24,7 +24,7 @@ module TalonOne
24
24
  # Any referral code entered.
25
25
  attr_accessor :referral
26
26
 
27
- # Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session).
27
+ # Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. `closed` → `cancelled` or `partially_returned` 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions).
28
28
  attr_accessor :state
29
29
 
30
30
  # Serialized JSON representation.
@@ -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
  # 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
 
@@ -27,13 +30,13 @@ module TalonOne
27
30
  # Any referral code entered. **Important**: If you [create a referral budget](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-budgets/#budget-types) for your campaign, ensure the session contains a referral code by the time you close it.
28
31
  attr_accessor :referral_code
29
32
 
30
- # Any loyalty cards used.
33
+ # Identifier of a loyalty card.
31
34
  attr_accessor :loyalty_cards
32
35
 
33
- # Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session).
36
+ # Indicates the current state of the session. Sessions can be created as `open` or `closed`. The state transitions are: 1. `open` → `closed` 2. `open` → `cancelled` 3. Either: - `closed` → `cancelled` (**only** via [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2)) or - `closed` → `partially_returned` (**only** via [Return cart items](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/returnCartItems)) - `closed` → `open` (**only** via [Reopen customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/reopenCustomerSession)) 4. `partially_returned` → `cancelled` For more information, see [Customer session states](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions).
34
37
  attr_accessor :state
35
38
 
36
- # The items to add to this sessions. - If cart item flattening is disabled: **Do not exceed 1000 items** (regardless of their `quantity`) per request. - If cart item flattening is enabled: **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request.
39
+ # The items to add to this session. **Do not exceed 1000 items** and ensure the sum of all cart item's `quantity` **does not exceed 10.000** per request.
37
40
  attr_accessor :cart_items
38
41
 
39
42
  # Use this property to set a value for the additional costs of this session, such as a shipping cost. They must be created in the Campaign Manager before you set them with this property. See [Managing additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs).
@@ -71,6 +74,7 @@ module TalonOne
71
74
  def self.attribute_map
72
75
  {
73
76
  :'profile_id' => :'profileId',
77
+ :'store_integration_id' => :'storeIntegrationId',
74
78
  :'evaluable_campaign_ids' => :'evaluableCampaignIds',
75
79
  :'coupon_codes' => :'couponCodes',
76
80
  :'referral_code' => :'referralCode',
@@ -87,6 +91,7 @@ module TalonOne
87
91
  def self.openapi_types
88
92
  {
89
93
  :'profile_id' => :'String',
94
+ :'store_integration_id' => :'String',
90
95
  :'evaluable_campaign_ids' => :'Array<Integer>',
91
96
  :'coupon_codes' => :'Array<String>',
92
97
  :'referral_code' => :'String',
@@ -124,6 +129,10 @@ module TalonOne
124
129
  self.profile_id = attributes[:'profile_id']
125
130
  end
126
131
 
132
+ if attributes.key?(:'store_integration_id')
133
+ self.store_integration_id = attributes[:'store_integration_id']
134
+ end
135
+
127
136
  if attributes.key?(:'evaluable_campaign_ids')
128
137
  if (value = attributes[:'evaluable_campaign_ids']).is_a?(Array)
129
138
  self.evaluable_campaign_ids = value
@@ -179,6 +188,14 @@ module TalonOne
179
188
  # @return Array for valid properties with the reasons
180
189
  def list_invalid_properties
181
190
  invalid_properties = Array.new
191
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
192
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.')
193
+ end
194
+
195
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
196
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be great than or equal to 1.')
197
+ end
198
+
182
199
  if !@referral_code.nil? && @referral_code.to_s.length > 100
183
200
  invalid_properties.push('invalid value for "referral_code", the character length must be smaller than or equal to 100.')
184
201
  end
@@ -189,12 +206,28 @@ module TalonOne
189
206
  # Check to see if the all the properties in the model are valid
190
207
  # @return true if the model is valid
191
208
  def valid?
209
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
210
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
192
211
  return false if !@referral_code.nil? && @referral_code.to_s.length > 100
193
212
  state_validator = EnumAttributeValidator.new('String', ["open", "closed", "partially_returned", "cancelled"])
194
213
  return false unless state_validator.valid?(@state)
195
214
  true
196
215
  end
197
216
 
217
+ # Custom attribute writer method with validation
218
+ # @param [Object] store_integration_id Value to be assigned
219
+ def store_integration_id=(store_integration_id)
220
+ if !store_integration_id.nil? && store_integration_id.to_s.length > 1000
221
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.'
222
+ end
223
+
224
+ if !store_integration_id.nil? && store_integration_id.to_s.length < 1
225
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be great than or equal to 1.'
226
+ end
227
+
228
+ @store_integration_id = store_integration_id
229
+ end
230
+
198
231
  # Custom attribute writer method with validation
199
232
  # @param [Object] referral_code Value to be assigned
200
233
  def referral_code=(referral_code)
@@ -221,6 +254,7 @@ module TalonOne
221
254
  return true if self.equal?(o)
222
255
  self.class == o.class &&
223
256
  profile_id == o.profile_id &&
257
+ store_integration_id == o.store_integration_id &&
224
258
  evaluable_campaign_ids == o.evaluable_campaign_ids &&
225
259
  coupon_codes == o.coupon_codes &&
226
260
  referral_code == o.referral_code &&
@@ -241,7 +275,7 @@ module TalonOne
241
275
  # Calculates hash code according to all attributes.
242
276
  # @return [Integer] Hash code
243
277
  def hash
244
- [profile_id, evaluable_campaign_ids, coupon_codes, referral_code, loyalty_cards, state, cart_items, additional_costs, identifiers, attributes].hash
278
+ [profile_id, store_integration_id, evaluable_campaign_ids, coupon_codes, referral_code, loyalty_cards, state, cart_items, additional_costs, identifiers, attributes].hash
245
279
  end
246
280
 
247
281
  # 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
 
@@ -31,6 +34,7 @@ module TalonOne
31
34
  def self.attribute_map
32
35
  {
33
36
  :'profile_id' => :'profileId',
37
+ :'store_integration_id' => :'storeIntegrationId',
34
38
  :'type' => :'type',
35
39
  :'attributes' => :'attributes',
36
40
  :'session_id' => :'sessionId'
@@ -41,6 +45,7 @@ module TalonOne
41
45
  def self.openapi_types
42
46
  {
43
47
  :'profile_id' => :'String',
48
+ :'store_integration_id' => :'String',
44
49
  :'type' => :'String',
45
50
  :'attributes' => :'Object',
46
51
  :'session_id' => :'String'
@@ -72,6 +77,10 @@ module TalonOne
72
77
  self.profile_id = attributes[:'profile_id']
73
78
  end
74
79
 
80
+ if attributes.key?(:'store_integration_id')
81
+ self.store_integration_id = attributes[:'store_integration_id']
82
+ end
83
+
75
84
  if attributes.key?(:'type')
76
85
  self.type = attributes[:'type']
77
86
  end
@@ -89,6 +98,14 @@ module TalonOne
89
98
  # @return Array for valid properties with the reasons
90
99
  def list_invalid_properties
91
100
  invalid_properties = Array.new
101
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
102
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.')
103
+ end
104
+
105
+ if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
106
+ invalid_properties.push('invalid value for "store_integration_id", the character length must be great than or equal to 1.')
107
+ end
108
+
92
109
  if @type.nil?
93
110
  invalid_properties.push('invalid value for "type", type cannot be nil.')
94
111
  end
@@ -115,6 +132,8 @@ module TalonOne
115
132
  # Check to see if the all the properties in the model are valid
116
133
  # @return true if the model is valid
117
134
  def valid?
135
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length > 1000
136
+ return false if !@store_integration_id.nil? && @store_integration_id.to_s.length < 1
118
137
  return false if @type.nil?
119
138
  return false if @type.to_s.length < 1
120
139
  return false if @attributes.nil?
@@ -123,6 +142,20 @@ module TalonOne
123
142
  true
124
143
  end
125
144
 
145
+ # Custom attribute writer method with validation
146
+ # @param [Object] store_integration_id Value to be assigned
147
+ def store_integration_id=(store_integration_id)
148
+ if !store_integration_id.nil? && store_integration_id.to_s.length > 1000
149
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be smaller than or equal to 1000.'
150
+ end
151
+
152
+ if !store_integration_id.nil? && store_integration_id.to_s.length < 1
153
+ fail ArgumentError, 'invalid value for "store_integration_id", the character length must be great than or equal to 1.'
154
+ end
155
+
156
+ @store_integration_id = store_integration_id
157
+ end
158
+
126
159
  # Custom attribute writer method with validation
127
160
  # @param [Object] type Value to be assigned
128
161
  def type=(type)
@@ -157,6 +190,7 @@ module TalonOne
157
190
  return true if self.equal?(o)
158
191
  self.class == o.class &&
159
192
  profile_id == o.profile_id &&
193
+ store_integration_id == o.store_integration_id &&
160
194
  type == o.type &&
161
195
  attributes == o.attributes &&
162
196
  session_id == o.session_id
@@ -171,7 +205,7 @@ module TalonOne
171
205
  # Calculates hash code according to all attributes.
172
206
  # @return [Integer] Hash code
173
207
  def hash
174
- [profile_id, type, attributes, session_id].hash
208
+ [profile_id, store_integration_id, type, attributes, session_id].hash
175
209
  end
176
210
 
177
211
  # Builds the object from hash
@@ -0,0 +1,235 @@
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
+ # Parameters for inviting a new user from an external identity provider.
17
+ class NewExternalInvitation
18
+ # Name of the user.
19
+ attr_accessor :name
20
+
21
+ # List of user groups in the external identity provider. If there are roles in Talon.One whose names match these user groups, those roles will be automatically assigned to the user upon invitation.
22
+ attr_accessor :user_groups
23
+
24
+ # Email address of the user.
25
+ attr_accessor :email
26
+
27
+ # Attribute mapping from ruby-style variable name to JSON key.
28
+ def self.attribute_map
29
+ {
30
+ :'name' => :'name',
31
+ :'user_groups' => :'userGroups',
32
+ :'email' => :'email'
33
+ }
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'name' => :'String',
40
+ :'user_groups' => :'Array<String>',
41
+ :'email' => :'String'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::NewExternalInvitation` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ attributes = attributes.each_with_object({}) { |(k, v), h|
60
+ if (!self.class.attribute_map.key?(k.to_sym))
61
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::NewExternalInvitation`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
62
+ end
63
+ h[k.to_sym] = v
64
+ }
65
+
66
+ if attributes.key?(:'name')
67
+ self.name = attributes[:'name']
68
+ end
69
+
70
+ if attributes.key?(:'user_groups')
71
+ if (value = attributes[:'user_groups']).is_a?(Array)
72
+ self.user_groups = value
73
+ end
74
+ end
75
+
76
+ if attributes.key?(:'email')
77
+ self.email = attributes[:'email']
78
+ end
79
+ end
80
+
81
+ # Show invalid properties with the reasons. Usually used together with valid?
82
+ # @return Array for valid properties with the reasons
83
+ def list_invalid_properties
84
+ invalid_properties = Array.new
85
+ if @email.nil?
86
+ invalid_properties.push('invalid value for "email", email cannot be nil.')
87
+ end
88
+
89
+ invalid_properties
90
+ end
91
+
92
+ # Check to see if the all the properties in the model are valid
93
+ # @return true if the model is valid
94
+ def valid?
95
+ return false if @email.nil?
96
+ true
97
+ end
98
+
99
+ # Checks equality by comparing each attribute.
100
+ # @param [Object] Object to be compared
101
+ def ==(o)
102
+ return true if self.equal?(o)
103
+ self.class == o.class &&
104
+ name == o.name &&
105
+ user_groups == o.user_groups &&
106
+ email == o.email
107
+ end
108
+
109
+ # @see the `==` method
110
+ # @param [Object] Object to be compared
111
+ def eql?(o)
112
+ self == o
113
+ end
114
+
115
+ # Calculates hash code according to all attributes.
116
+ # @return [Integer] Hash code
117
+ def hash
118
+ [name, user_groups, email].hash
119
+ end
120
+
121
+ # Builds the object from hash
122
+ # @param [Hash] attributes Model attributes in the form of hash
123
+ # @return [Object] Returns the model itself
124
+ def self.build_from_hash(attributes)
125
+ new.build_from_hash(attributes)
126
+ end
127
+
128
+ # Builds the object from hash
129
+ # @param [Hash] attributes Model attributes in the form of hash
130
+ # @return [Object] Returns the model itself
131
+ def build_from_hash(attributes)
132
+ return nil unless attributes.is_a?(Hash)
133
+ self.class.openapi_types.each_pair do |key, type|
134
+ if type =~ /\AArray<(.*)>/i
135
+ # check to ensure the input is an array given that the attribute
136
+ # is documented as an array but the input is not
137
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
138
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
139
+ end
140
+ elsif !attributes[self.class.attribute_map[key]].nil?
141
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
142
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
143
+ end
144
+
145
+ self
146
+ end
147
+
148
+ # Deserializes the data based on type
149
+ # @param string type Data type
150
+ # @param string value Value to be deserialized
151
+ # @return [Object] Deserialized data
152
+ def _deserialize(type, value)
153
+ case type.to_sym
154
+ when :DateTime
155
+ DateTime.parse(value)
156
+ when :Date
157
+ Date.parse(value)
158
+ when :String
159
+ value.to_s
160
+ when :Integer
161
+ value.to_i
162
+ when :Float
163
+ value.to_f
164
+ when :Boolean
165
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
166
+ true
167
+ else
168
+ false
169
+ end
170
+ when :Object
171
+ # generic object (usually a Hash), return directly
172
+ value
173
+ when /\AArray<(?<inner_type>.+)>\z/
174
+ inner_type = Regexp.last_match[:inner_type]
175
+ value.map { |v| _deserialize(inner_type, v) }
176
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
177
+ k_type = Regexp.last_match[:k_type]
178
+ v_type = Regexp.last_match[:v_type]
179
+ {}.tap do |hash|
180
+ value.each do |k, v|
181
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
182
+ end
183
+ end
184
+ else # model
185
+ TalonOne.const_get(type).build_from_hash(value)
186
+ end
187
+ end
188
+
189
+ # Returns the string representation of the object
190
+ # @return [String] String presentation of the object
191
+ def to_s
192
+ to_hash.to_s
193
+ end
194
+
195
+ # to_body is an alias to to_hash (backward compatibility)
196
+ # @return [Hash] Returns the object in the form of hash
197
+ def to_body
198
+ to_hash
199
+ end
200
+
201
+ # Returns the object in the form of hash
202
+ # @return [Hash] Returns the object in the form of hash
203
+ def to_hash
204
+ hash = {}
205
+ self.class.attribute_map.each_pair do |attr, param|
206
+ value = self.send(attr)
207
+ if value.nil?
208
+ is_nullable = self.class.openapi_nullable.include?(attr)
209
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
210
+ end
211
+
212
+ hash[param] = _to_hash(value)
213
+ end
214
+ hash
215
+ end
216
+
217
+ # Outputs non-array value in the form of hash
218
+ # For object, use to_hash. Otherwise, just return the value
219
+ # @param [Object] value Any valid value
220
+ # @return [Hash] Returns the value in the form of hash
221
+ def _to_hash(value)
222
+ if value.is_a?(Array)
223
+ value.compact.map { |v| _to_hash(v) }
224
+ elsif value.is_a?(Hash)
225
+ {}.tap do |hash|
226
+ value.each { |k, v| hash[k] = _to_hash(v) }
227
+ end
228
+ elsif value.respond_to? :to_hash
229
+ value.to_hash
230
+ else
231
+ value
232
+ end
233
+ end
234
+ end
235
+ end