talon_one 1.3.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (685) hide show
  1. checksums.yaml +4 -4
  2. data/.rspec +2 -0
  3. data/Gemfile +3 -1
  4. data/README.md +196 -30
  5. data/Rakefile +2 -0
  6. data/docs/APIError.md +11 -0
  7. data/docs/AcceptCouponEffectProps.md +17 -0
  8. data/docs/AcceptReferralEffectProps.md +17 -0
  9. data/docs/AccessLogEntry.md +15 -0
  10. data/docs/Account.md +28 -2
  11. data/docs/AccountAdditionalCost.md +29 -0
  12. data/docs/AccountAnalytics.md +44 -14
  13. data/docs/AccountEntity.md +9 -0
  14. data/docs/AccountLimits.md +32 -11
  15. data/docs/AddFreeItemEffectProps.md +19 -0
  16. data/docs/AddLoyaltyPointsEffectProps.md +29 -0
  17. data/docs/AdditionalCost.md +17 -0
  18. data/docs/Application.md +33 -2
  19. data/docs/ApplicationAPIKey.md +19 -2
  20. data/docs/ApplicationApiHealth.md +10 -0
  21. data/docs/ApplicationCustomer.md +21 -2
  22. data/docs/ApplicationCustomerEntity.md +9 -0
  23. data/docs/ApplicationCustomerSearch.md +12 -1
  24. data/docs/ApplicationEntity.md +9 -0
  25. data/docs/ApplicationEvent.md +17 -1
  26. data/docs/ApplicationSession.md +25 -3
  27. data/docs/ApplicationSessionEntity.md +9 -0
  28. data/docs/Attribute.md +23 -2
  29. data/docs/AttributesMandatory.md +19 -0
  30. data/docs/AttributesSettings.md +17 -0
  31. data/docs/Audience.md +27 -0
  32. data/docs/AudienceMembership.md +19 -0
  33. data/docs/BaseSamlConnection.md +31 -0
  34. data/docs/Binding.md +10 -0
  35. data/docs/Campaign.md +36 -1
  36. data/docs/CampaignAnalytics.md +46 -3
  37. data/docs/CampaignCopy.md +19 -1
  38. data/docs/CampaignEntity.md +9 -0
  39. data/docs/CampaignGroup.md +31 -0
  40. data/docs/CampaignGroupEntity.md +17 -0
  41. data/docs/CampaignSearch.md +10 -1
  42. data/docs/CampaignSet.md +14 -0
  43. data/docs/CampaignSetBranchNode.md +12 -0
  44. data/docs/CampaignSetLeafNode.md +10 -0
  45. data/docs/CampaignSetNode.md +9 -0
  46. data/docs/CartItem.md +21 -1
  47. data/docs/CartItemAdjustment.md +11 -0
  48. data/docs/Change.md +16 -2
  49. data/docs/ChangeProfilePassword.md +19 -0
  50. data/docs/CodeGeneratorSettings.md +10 -0
  51. data/docs/Coupon.md +31 -3
  52. data/docs/CouponConstraints.md +13 -0
  53. data/docs/CouponCreatedEffectProps.md +19 -0
  54. data/docs/CouponRejectionReason.md +11 -0
  55. data/docs/CouponReservations.md +9 -0
  56. data/docs/CouponSearch.md +10 -1
  57. data/docs/CouponValue.md +9 -0
  58. data/docs/CreateApplicationAPIKey.md +12 -0
  59. data/docs/CustomerActivityReport.md +22 -1
  60. data/docs/CustomerAnalytics.md +15 -0
  61. data/docs/CustomerInventory.md +23 -0
  62. data/docs/CustomerProfile.md +20 -2
  63. data/docs/CustomerProfileAudienceRequest.md +17 -0
  64. data/docs/CustomerProfileAudienceRequestItem.md +21 -0
  65. data/docs/CustomerProfileIntegrationRequestV2.md +19 -0
  66. data/docs/CustomerProfileSearchQuery.md +12 -1
  67. data/docs/CustomerSession.md +24 -3
  68. data/docs/CustomerSessionV2.md +45 -0
  69. data/docs/DeductLoyaltyPointsEffectProps.md +23 -0
  70. data/docs/Effect.md +27 -0
  71. data/docs/EffectEntity.md +25 -0
  72. data/docs/EmailEntity.md +9 -0
  73. data/docs/Entity.md +10 -0
  74. data/docs/EntityWithTalangVisibleID.md +19 -0
  75. data/docs/Environment.md +15 -0
  76. data/docs/ErrorEffectProps.md +17 -0
  77. data/docs/ErrorResponse.md +10 -0
  78. data/docs/ErrorSource.md +12 -0
  79. data/docs/Event.md +19 -1
  80. data/docs/EventType.md +21 -1
  81. data/docs/Export.md +15 -1
  82. data/docs/FeatureFlag.md +12 -0
  83. data/docs/FeatureFlags.md +15 -3
  84. data/docs/FeaturesFeed.md +10 -0
  85. data/docs/FeedNotification.md +27 -0
  86. data/docs/FuncArgDef.md +10 -0
  87. data/docs/FunctionDef.md +13 -0
  88. data/docs/Import.md +14 -0
  89. data/docs/ImportCoupons.md +9 -0
  90. data/docs/InlineResponse200.md +10 -0
  91. data/docs/InlineResponse2001.md +11 -1
  92. data/docs/InlineResponse20010.md +11 -1
  93. data/docs/InlineResponse20011.md +10 -0
  94. data/docs/InlineResponse20012.md +13 -1
  95. data/docs/InlineResponse20013.md +11 -1
  96. data/docs/InlineResponse20014.md +10 -0
  97. data/docs/InlineResponse20015.md +11 -1
  98. data/docs/InlineResponse20016.md +11 -1
  99. data/docs/InlineResponse20017.md +10 -0
  100. data/docs/InlineResponse20018.md +11 -1
  101. data/docs/InlineResponse20019.md +10 -0
  102. data/docs/InlineResponse2002.md +11 -1
  103. data/docs/InlineResponse20020.md +11 -1
  104. data/docs/InlineResponse20021.md +11 -1
  105. data/docs/InlineResponse20022.md +11 -1
  106. data/docs/InlineResponse20023.md +11 -1
  107. data/docs/InlineResponse20024.md +11 -1
  108. data/docs/InlineResponse20025.md +12 -3
  109. data/docs/InlineResponse20026.md +11 -1
  110. data/docs/InlineResponse20027.md +14 -2
  111. data/docs/InlineResponse20028.md +11 -1
  112. data/docs/InlineResponse20029.md +19 -0
  113. data/docs/InlineResponse2003.md +11 -1
  114. data/docs/InlineResponse20030.md +19 -0
  115. data/docs/InlineResponse2004.md +11 -1
  116. data/docs/InlineResponse2005.md +11 -1
  117. data/docs/InlineResponse2006.md +10 -0
  118. data/docs/InlineResponse2007.md +11 -1
  119. data/docs/InlineResponse2008.md +10 -0
  120. data/docs/InlineResponse2009.md +10 -0
  121. data/docs/IntegrationApi.md +327 -72
  122. data/docs/IntegrationEntity.md +11 -1
  123. data/docs/IntegrationEvent.md +12 -1
  124. data/docs/IntegrationProfileEntity.md +9 -0
  125. data/docs/IntegrationRequest.md +19 -0
  126. data/docs/IntegrationState.md +13 -0
  127. data/docs/IntegrationStateV2.md +35 -0
  128. data/docs/LedgerEntry.md +18 -0
  129. data/docs/LibraryAttribute.md +15 -0
  130. data/docs/LimitConfig.md +11 -0
  131. data/docs/LoginParams.md +10 -0
  132. data/docs/Loyalty.md +9 -0
  133. data/docs/LoyaltyLedger.md +11 -1
  134. data/docs/LoyaltyLedgerEntry.md +23 -1
  135. data/docs/LoyaltyMembership.md +10 -0
  136. data/docs/LoyaltyPoints.md +15 -1
  137. data/docs/LoyaltyProgram.md +20 -2
  138. data/docs/LoyaltyProgramBalance.md +9 -0
  139. data/docs/LoyaltyProgramLedgers.md +14 -2
  140. data/docs/LoyaltyStatistics.md +23 -0
  141. data/docs/LoyaltySubLedger.md +28 -3
  142. data/docs/ManagementApi.md +927 -853
  143. data/docs/ManagerConfig.md +9 -0
  144. data/docs/Meta.md +16 -3
  145. data/docs/MultiApplicationEntity.md +9 -0
  146. data/docs/MultipleCustomerProfileIntegrationRequest.md +17 -0
  147. data/docs/MultipleCustomerProfileIntegrationRequestItem.md +19 -0
  148. data/docs/MultipleCustomerProfileIntegrationResponseV2.md +17 -0
  149. data/docs/MutableEntity.md +9 -0
  150. data/docs/NewAccount.md +9 -0
  151. data/docs/NewAccountSignUp.md +11 -0
  152. data/docs/NewAdditionalCost.md +23 -0
  153. data/docs/NewApplication.md +29 -1
  154. data/docs/NewApplicationAPIKey.md +20 -2
  155. data/docs/NewAttribute.md +20 -2
  156. data/docs/NewAudience.md +21 -0
  157. data/docs/NewCampaign.md +23 -1
  158. data/docs/NewCampaignGroup.md +23 -0
  159. data/docs/NewCampaignSet.md +12 -0
  160. data/docs/NewCoupons.md +20 -1
  161. data/docs/NewCustomerProfile.md +10 -1
  162. data/docs/NewCustomerSession.md +17 -1
  163. data/docs/NewCustomerSessionV2.md +31 -0
  164. data/docs/NewEvent.md +13 -1
  165. data/docs/NewEventType.md +19 -1
  166. data/docs/NewFeatureFlags.md +14 -3
  167. data/docs/NewImport.md +9 -0
  168. data/docs/NewInvitation.md +12 -0
  169. data/docs/NewInviteEmail.md +10 -0
  170. data/docs/NewLoyaltyProgram.md +18 -2
  171. data/docs/NewPassword.md +10 -0
  172. data/docs/NewPasswordEmail.md +9 -0
  173. data/docs/NewReferral.md +13 -0
  174. data/docs/NewRole.md +12 -0
  175. data/docs/NewRuleset.md +13 -1
  176. data/docs/NewSamlConnection.md +21 -3
  177. data/docs/NewTemplateDef.md +16 -1
  178. data/docs/NewUser.md +12 -0
  179. data/docs/NewWebhook.md +17 -1
  180. data/docs/Notification.md +11 -0
  181. data/docs/RedeemReferralEffectProps.md +19 -0
  182. data/docs/Referral.md +18 -0
  183. data/docs/ReferralCreatedEffectProps.md +17 -0
  184. data/docs/ReferralRejectionReason.md +11 -0
  185. data/docs/RejectCouponEffectProps.md +19 -0
  186. data/docs/RejectReferralEffectProps.md +19 -0
  187. data/docs/Role.md +18 -2
  188. data/docs/RoleAssign.md +10 -0
  189. data/docs/RoleMembership.md +10 -0
  190. data/docs/RollbackCouponEffectProps.md +17 -0
  191. data/docs/RollbackDiscountEffectProps.md +19 -0
  192. data/docs/Rule.md +13 -0
  193. data/docs/Ruleset.md +18 -1
  194. data/docs/SamlConnection.md +24 -6
  195. data/docs/SamlConnectionMetadata.md +23 -0
  196. data/docs/SamlLoginEndpoint.md +19 -0
  197. data/docs/Session.md +11 -0
  198. data/docs/SetDiscountEffectProps.md +21 -0
  199. data/docs/SetDiscountPerItemEffectProps.md +23 -0
  200. data/docs/ShowBundleMetadataEffectProps.md +21 -0
  201. data/docs/ShowNotificationEffectProps.md +21 -0
  202. data/docs/SlotDef.md +15 -1
  203. data/docs/TemplateArgDef.md +13 -1
  204. data/docs/TemplateDef.md +20 -1
  205. data/docs/TriggerWebhookEffectProps.md +19 -0
  206. data/docs/UpdateAccount.md +16 -1
  207. data/docs/UpdateApplication.md +28 -1
  208. data/docs/UpdateAttributeEffectProps.md +19 -0
  209. data/docs/UpdateAudience.md +17 -0
  210. data/docs/UpdateCampaign.md +23 -1
  211. data/docs/UpdateCampaignGroup.md +23 -0
  212. data/docs/UpdateCoupon.md +16 -1
  213. data/docs/UpdateCouponBatch.md +16 -1
  214. data/docs/UpdateLoyaltyProgram.md +17 -2
  215. data/docs/UpdateRole.md +13 -1
  216. data/docs/UpdateUser.md +14 -6
  217. data/docs/UpdateUserLatestFeedTimestamp.md +17 -0
  218. data/docs/User.md +25 -5
  219. data/docs/UserEntity.md +9 -0
  220. data/docs/UserFeedNotifications.md +19 -0
  221. data/docs/Webhook.md +20 -1
  222. data/docs/WebhookActivationLogEntry.md +13 -0
  223. data/docs/WebhookLogEntry.md +18 -0
  224. data/lib/talon_one.rb +88 -35
  225. data/lib/talon_one/api/integration_api.rb +518 -138
  226. data/lib/talon_one/api/management_api.rb +2328 -1477
  227. data/lib/talon_one/api_client.rb +45 -46
  228. data/lib/talon_one/api_error.rb +22 -3
  229. data/lib/talon_one/configuration.rb +48 -9
  230. data/lib/talon_one/models/accept_coupon_effect_props.rb +213 -0
  231. data/lib/talon_one/models/accept_referral_effect_props.rb +213 -0
  232. data/lib/talon_one/models/access_log_entry.rb +47 -24
  233. data/lib/talon_one/models/account.rb +72 -49
  234. data/lib/talon_one/models/account_additional_cost.rb +300 -0
  235. data/lib/talon_one/models/account_analytics.rb +151 -68
  236. data/lib/talon_one/models/account_entity.rb +39 -16
  237. data/lib/talon_one/models/account_limits.rb +83 -45
  238. data/lib/talon_one/models/add_free_item_effect_props.rb +228 -0
  239. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +293 -0
  240. data/lib/talon_one/models/additional_cost.rb +211 -0
  241. data/lib/talon_one/models/api_error.rb +40 -17
  242. data/lib/talon_one/models/application.rb +131 -77
  243. data/lib/talon_one/models/application_api_health.rb +43 -20
  244. data/lib/talon_one/models/application_api_key.rb +121 -53
  245. data/lib/talon_one/models/application_customer.rb +66 -31
  246. data/lib/talon_one/models/application_customer_entity.rb +39 -16
  247. data/lib/talon_one/models/application_customer_search.rb +42 -19
  248. data/lib/talon_one/models/application_entity.rb +39 -16
  249. data/lib/talon_one/models/application_event.rb +48 -25
  250. data/lib/talon_one/models/application_session.rb +73 -35
  251. data/lib/talon_one/models/application_session_entity.rb +39 -16
  252. data/lib/talon_one/models/attribute.rb +73 -38
  253. data/lib/talon_one/models/attributes_mandatory.rb +222 -0
  254. data/lib/talon_one/models/attributes_settings.rb +207 -0
  255. data/lib/talon_one/models/audience.rb +360 -0
  256. data/lib/talon_one/models/audience_membership.rb +227 -0
  257. data/lib/talon_one/models/base_saml_connection.rb +359 -0
  258. data/lib/talon_one/models/binding.rb +39 -16
  259. data/lib/talon_one/models/campaign.rb +93 -58
  260. data/lib/talon_one/models/campaign_analytics.rb +223 -50
  261. data/lib/talon_one/models/campaign_copy.rb +86 -21
  262. data/lib/talon_one/models/campaign_entity.rb +39 -16
  263. data/lib/talon_one/models/campaign_group.rb +326 -0
  264. data/lib/talon_one/models/campaign_group_entity.rb +209 -0
  265. data/lib/talon_one/models/campaign_search.rb +38 -15
  266. data/lib/talon_one/models/campaign_set.rb +77 -20
  267. data/lib/talon_one/models/campaign_set_branch_node.rb +47 -24
  268. data/lib/talon_one/models/campaign_set_leaf_node.rb +43 -20
  269. data/lib/talon_one/models/campaign_set_node.rb +38 -15
  270. data/lib/talon_one/models/cart_item.rb +49 -26
  271. data/lib/talon_one/models/cart_item_adjustment.rb +43 -20
  272. data/lib/talon_one/models/change.rb +46 -23
  273. data/lib/talon_one/models/change_profile_password.rb +227 -0
  274. data/lib/talon_one/models/code_generator_settings.rb +41 -18
  275. data/lib/talon_one/models/coupon.rb +117 -40
  276. data/lib/talon_one/models/coupon_constraints.rb +78 -21
  277. data/lib/talon_one/models/coupon_created_effect_props.rb +228 -0
  278. data/lib/talon_one/models/coupon_rejection_reason.rb +45 -22
  279. data/lib/talon_one/models/coupon_reservations.rb +39 -16
  280. data/lib/talon_one/models/coupon_search.rb +38 -15
  281. data/lib/talon_one/models/coupon_value.rb +38 -15
  282. data/lib/talon_one/models/create_application_api_key.rb +87 -20
  283. data/lib/talon_one/models/customer_activity_report.rb +62 -39
  284. data/lib/talon_one/models/customer_analytics.rb +51 -28
  285. data/lib/talon_one/models/customer_inventory.rb +237 -0
  286. data/lib/talon_one/models/customer_profile.rb +65 -30
  287. data/lib/talon_one/models/customer_profile_audience_request.rb +208 -0
  288. data/lib/talon_one/models/customer_profile_audience_request_item.rb +273 -0
  289. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +242 -0
  290. data/lib/talon_one/models/customer_profile_search_query.rb +42 -19
  291. data/lib/talon_one/models/customer_session.rb +60 -37
  292. data/lib/talon_one/models/customer_session_v2.rb +447 -0
  293. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +258 -0
  294. data/lib/talon_one/models/effect.rb +287 -0
  295. data/lib/talon_one/models/effect_entity.rb +273 -0
  296. data/lib/talon_one/models/email_entity.rb +38 -15
  297. data/lib/talon_one/models/entity.rb +39 -16
  298. data/lib/talon_one/models/entity_with_talang_visible_id.rb +227 -0
  299. data/lib/talon_one/models/environment.rb +45 -22
  300. data/lib/talon_one/models/error_effect_props.rb +213 -0
  301. data/lib/talon_one/models/error_response.rb +39 -16
  302. data/lib/talon_one/models/error_source.rb +41 -18
  303. data/lib/talon_one/models/event.rb +51 -28
  304. data/lib/talon_one/models/event_type.rb +59 -36
  305. data/lib/talon_one/models/export.rb +48 -25
  306. data/lib/talon_one/models/feature_flag.rb +41 -18
  307. data/lib/talon_one/models/feature_flags.rb +46 -23
  308. data/lib/talon_one/models/features_feed.rb +40 -17
  309. data/lib/talon_one/models/feed_notification.rb +322 -0
  310. data/lib/talon_one/models/func_arg_def.rb +42 -19
  311. data/lib/talon_one/models/function_def.rb +42 -19
  312. data/lib/talon_one/models/import.rb +48 -25
  313. data/lib/talon_one/models/import_coupons.rb +38 -15
  314. data/lib/talon_one/models/{inline_response_200.rb → inline_response200.rb} +40 -17
  315. data/lib/talon_one/models/{inline_response_200_2.rb → inline_response2001.rb} +41 -18
  316. data/lib/talon_one/models/{inline_response_200_10.rb → inline_response20010.rb} +41 -18
  317. data/lib/talon_one/models/{inline_response_200_11.rb → inline_response20011.rb} +40 -17
  318. data/lib/talon_one/models/inline_response20012.rb +231 -0
  319. data/lib/talon_one/models/{inline_response_200_13.rb → inline_response20013.rb} +41 -18
  320. data/lib/talon_one/models/{inline_response_200_14.rb → inline_response20014.rb} +40 -17
  321. data/lib/talon_one/models/{inline_response_200_15.rb → inline_response20015.rb} +41 -18
  322. data/lib/talon_one/models/inline_response20016.rb +222 -0
  323. data/lib/talon_one/models/{inline_response_200_17.rb → inline_response20017.rb} +40 -17
  324. data/lib/talon_one/models/{inline_response_200_18.rb → inline_response20018.rb} +41 -18
  325. data/lib/talon_one/models/{inline_response_200_19.rb → inline_response20019.rb} +40 -17
  326. data/lib/talon_one/models/{inline_response_200_3.rb → inline_response2002.rb} +41 -18
  327. data/lib/talon_one/models/{inline_response_200_12.rb → inline_response20020.rb} +42 -19
  328. data/lib/talon_one/models/inline_response20021.rb +227 -0
  329. data/lib/talon_one/models/{inline_response_200_20.rb → inline_response20022.rb} +41 -18
  330. data/lib/talon_one/models/{inline_response_200_21.rb → inline_response20023.rb} +41 -18
  331. data/lib/talon_one/models/{inline_response_200_22.rb → inline_response20024.rb} +41 -18
  332. data/lib/talon_one/models/{inline_response_200_23.rb → inline_response20025.rb} +41 -18
  333. data/lib/talon_one/models/{inline_response_200_24.rb → inline_response20026.rb} +41 -18
  334. data/lib/talon_one/models/{inline_response_200_25.rb → inline_response20027.rb} +44 -21
  335. data/lib/talon_one/models/{inline_response_200_26.rb → inline_response20028.rb} +41 -18
  336. data/lib/talon_one/models/{inline_response_200_27.rb → inline_response20029.rb} +41 -18
  337. data/lib/talon_one/models/{inline_response_200_4.rb → inline_response2003.rb} +41 -18
  338. data/lib/talon_one/models/{inline_response_200_28.rb → inline_response20030.rb} +41 -18
  339. data/lib/talon_one/models/{inline_response_200_1.rb → inline_response2004.rb} +41 -18
  340. data/lib/talon_one/models/{inline_response_200_5.rb → inline_response2005.rb} +41 -18
  341. data/lib/talon_one/models/{inline_response_200_6.rb → inline_response2006.rb} +40 -17
  342. data/lib/talon_one/models/{inline_response_200_7.rb → inline_response2007.rb} +41 -18
  343. data/lib/talon_one/models/{inline_response_200_8.rb → inline_response2008.rb} +40 -17
  344. data/lib/talon_one/models/{inline_response_200_9.rb → inline_response2009.rb} +40 -17
  345. data/lib/talon_one/models/integration_entity.rb +41 -18
  346. data/lib/talon_one/models/integration_event.rb +41 -18
  347. data/lib/talon_one/models/integration_profile_entity.rb +39 -16
  348. data/lib/talon_one/models/integration_request.rb +246 -0
  349. data/lib/talon_one/models/integration_state.rb +42 -19
  350. data/lib/talon_one/models/integration_state_v2.rb +313 -0
  351. data/lib/talon_one/models/ledger_entry.rb +53 -30
  352. data/lib/talon_one/models/library_attribute.rb +50 -27
  353. data/lib/talon_one/models/limit_config.rb +43 -20
  354. data/lib/talon_one/models/login_params.rb +39 -16
  355. data/lib/talon_one/models/loyalty.rb +38 -15
  356. data/lib/talon_one/models/loyalty_ledger.rb +40 -18
  357. data/lib/talon_one/models/loyalty_ledger_entry.rb +76 -67
  358. data/lib/talon_one/models/loyalty_membership.rb +40 -17
  359. data/lib/talon_one/models/loyalty_points.rb +59 -26
  360. data/lib/talon_one/models/loyalty_program.rb +67 -29
  361. data/lib/talon_one/models/loyalty_program_balance.rb +39 -16
  362. data/lib/talon_one/models/loyalty_program_ledgers.rb +43 -21
  363. data/lib/talon_one/models/loyalty_statistics.rb +258 -0
  364. data/lib/talon_one/models/loyalty_sub_ledger.rb +144 -24
  365. data/lib/talon_one/models/manager_config.rb +39 -16
  366. data/lib/talon_one/models/meta.rb +45 -21
  367. data/lib/talon_one/models/multi_application_entity.rb +39 -16
  368. data/lib/talon_one/models/multiple_customer_profile_integration_request.rb +208 -0
  369. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +223 -0
  370. data/lib/talon_one/models/multiple_customer_profile_integration_response_v2.rb +208 -0
  371. data/lib/talon_one/models/mutable_entity.rb +38 -15
  372. data/lib/talon_one/models/new_account.rb +39 -16
  373. data/lib/talon_one/models/new_account_sign_up.rb +41 -18
  374. data/lib/talon_one/models/new_additional_cost.rb +255 -0
  375. data/lib/talon_one/models/new_application.rb +138 -48
  376. data/lib/talon_one/models/new_application_api_key.rb +119 -52
  377. data/lib/talon_one/models/new_attribute.rb +69 -34
  378. data/lib/talon_one/models/new_audience.rb +314 -0
  379. data/lib/talon_one/models/new_campaign.rb +73 -38
  380. data/lib/talon_one/models/new_campaign_group.rb +265 -0
  381. data/lib/talon_one/models/new_campaign_set.rb +75 -18
  382. data/lib/talon_one/models/new_coupons.rb +89 -32
  383. data/lib/talon_one/models/new_customer_profile.rb +38 -15
  384. data/lib/talon_one/models/new_customer_session.rb +50 -27
  385. data/lib/talon_one/models/new_customer_session_v2.rb +322 -0
  386. data/lib/talon_one/models/new_event.rb +43 -20
  387. data/lib/talon_one/models/new_event_type.rb +57 -34
  388. data/lib/talon_one/models/new_feature_flags.rb +44 -21
  389. data/lib/talon_one/models/new_import.rb +41 -18
  390. data/lib/talon_one/models/new_invitation.rb +41 -18
  391. data/lib/talon_one/models/new_invite_email.rb +39 -16
  392. data/lib/talon_one/models/new_loyalty_program.rb +64 -26
  393. data/lib/talon_one/models/new_password.rb +40 -17
  394. data/lib/talon_one/models/new_password_email.rb +38 -15
  395. data/lib/talon_one/models/new_referral.rb +47 -24
  396. data/lib/talon_one/models/new_role.rb +41 -18
  397. data/lib/talon_one/models/new_ruleset.rb +43 -20
  398. data/lib/talon_one/models/new_saml_connection.rb +105 -67
  399. data/lib/talon_one/models/new_template_def.rb +45 -22
  400. data/lib/talon_one/models/new_user.rb +42 -19
  401. data/lib/talon_one/models/new_webhook.rb +50 -27
  402. data/lib/talon_one/models/notification.rb +40 -17
  403. data/lib/talon_one/models/redeem_referral_effect_props.rb +228 -0
  404. data/lib/talon_one/models/referral.rb +54 -31
  405. data/lib/talon_one/models/referral_created_effect_props.rb +213 -0
  406. data/lib/talon_one/models/referral_rejection_reason.rb +45 -22
  407. data/lib/talon_one/models/reject_coupon_effect_props.rb +228 -0
  408. data/lib/talon_one/models/reject_referral_effect_props.rb +228 -0
  409. data/lib/talon_one/models/role.rb +58 -25
  410. data/lib/talon_one/models/role_assign.rb +39 -16
  411. data/lib/talon_one/models/role_membership.rb +41 -18
  412. data/lib/talon_one/models/rollback_coupon_effect_props.rb +213 -0
  413. data/lib/talon_one/models/rollback_discount_effect_props.rb +228 -0
  414. data/lib/talon_one/models/rule.rb +42 -19
  415. data/lib/talon_one/models/ruleset.rb +51 -28
  416. data/lib/talon_one/models/saml_connection.rb +93 -103
  417. data/lib/talon_one/models/saml_connection_metadata.rb +294 -0
  418. data/lib/talon_one/models/saml_login_endpoint.rb +265 -0
  419. data/lib/talon_one/models/session.rb +41 -18
  420. data/lib/talon_one/models/set_discount_effect_props.rb +238 -0
  421. data/lib/talon_one/models/set_discount_per_item_effect_props.rb +253 -0
  422. data/lib/talon_one/models/show_bundle_metadata_effect_props.rb +247 -0
  423. data/lib/talon_one/models/show_notification_effect_props.rb +243 -0
  424. data/lib/talon_one/models/slot_def.rb +44 -21
  425. data/lib/talon_one/models/template_arg_def.rb +44 -21
  426. data/lib/talon_one/models/template_def.rb +50 -27
  427. data/lib/talon_one/models/trigger_webhook_effect_props.rb +228 -0
  428. data/lib/talon_one/models/update_account.rb +100 -23
  429. data/lib/talon_one/models/update_application.rb +135 -29
  430. data/lib/talon_one/models/update_attribute_effect_props.rb +228 -0
  431. data/lib/talon_one/models/update_audience.rb +231 -0
  432. data/lib/talon_one/models/update_campaign.rb +73 -38
  433. data/lib/talon_one/models/update_campaign_group.rb +266 -0
  434. data/lib/talon_one/models/update_coupon.rb +81 -24
  435. data/lib/talon_one/models/update_coupon_batch.rb +81 -24
  436. data/lib/talon_one/models/update_loyalty_program.rb +58 -25
  437. data/lib/talon_one/models/update_role.rb +42 -19
  438. data/lib/talon_one/models/update_user.rb +47 -80
  439. data/lib/talon_one/models/update_user_latest_feed_timestamp.rb +213 -0
  440. data/lib/talon_one/models/user.rb +67 -59
  441. data/lib/talon_one/models/user_entity.rb +39 -16
  442. data/lib/talon_one/models/user_feed_notifications.rb +230 -0
  443. data/lib/talon_one/models/webhook.rb +53 -30
  444. data/lib/talon_one/models/webhook_activation_log_entry.rb +46 -23
  445. data/lib/talon_one/models/webhook_log_entry.rb +52 -29
  446. data/lib/talon_one/version.rb +4 -4
  447. data/spec/api/integration_api_spec.rb +76 -15
  448. data/spec/api/management_api_spec.rb +155 -143
  449. data/spec/api_client_spec.rb +4 -4
  450. data/spec/configuration_spec.rb +6 -6
  451. data/spec/models/{misc_update_user_latest_feature_spec.rb → accept_coupon_effect_props_spec.rb} +11 -11
  452. data/spec/models/accept_referral_effect_props_spec.rb +41 -0
  453. data/spec/models/access_log_entry_spec.rb +4 -4
  454. data/spec/models/account_additional_cost_spec.rb +77 -0
  455. data/spec/models/account_analytics_spec.rb +33 -9
  456. data/spec/models/account_entity_spec.rb +4 -4
  457. data/spec/models/account_limits_spec.rb +10 -4
  458. data/spec/models/account_spec.rb +5 -5
  459. data/spec/models/add_free_item_effect_props_spec.rb +47 -0
  460. data/spec/models/add_loyalty_points_effect_props_spec.rb +77 -0
  461. data/spec/models/additional_cost_spec.rb +41 -0
  462. data/spec/models/api_error_spec.rb +4 -4
  463. data/spec/models/application_api_health_spec.rb +4 -4
  464. data/spec/models/application_api_key_spec.rb +21 -11
  465. data/spec/models/application_customer_entity_spec.rb +4 -4
  466. data/spec/models/application_customer_search_spec.rb +4 -4
  467. data/spec/models/application_customer_spec.rb +10 -4
  468. data/spec/models/application_entity_spec.rb +4 -4
  469. data/spec/models/application_event_spec.rb +4 -4
  470. data/spec/models/application_session_entity_spec.rb +4 -4
  471. data/spec/models/application_session_spec.rb +10 -4
  472. data/spec/models/application_spec.rb +43 -5
  473. data/spec/models/attribute_spec.rb +10 -4
  474. data/spec/models/attributes_mandatory_spec.rb +47 -0
  475. data/spec/models/attributes_settings_spec.rb +41 -0
  476. data/spec/models/audience_membership_spec.rb +47 -0
  477. data/spec/models/audience_spec.rb +75 -0
  478. data/spec/models/base_saml_connection_spec.rb +83 -0
  479. data/spec/models/binding_spec.rb +4 -4
  480. data/spec/models/campaign_analytics_spec.rb +64 -4
  481. data/spec/models/campaign_copy_spec.rb +28 -4
  482. data/spec/models/campaign_entity_spec.rb +4 -4
  483. data/spec/models/campaign_group_entity_spec.rb +41 -0
  484. data/spec/models/campaign_group_spec.rb +83 -0
  485. data/spec/models/campaign_search_spec.rb +4 -4
  486. data/spec/models/campaign_set_branch_node_spec.rb +4 -4
  487. data/spec/models/campaign_set_leaf_node_spec.rb +4 -4
  488. data/spec/models/campaign_set_node_spec.rb +4 -4
  489. data/spec/models/campaign_set_spec.rb +10 -4
  490. data/spec/models/campaign_spec.rb +10 -4
  491. data/spec/models/cart_item_adjustment_spec.rb +4 -4
  492. data/spec/models/cart_item_spec.rb +4 -4
  493. data/spec/models/change_profile_password_spec.rb +47 -0
  494. data/spec/models/change_spec.rb +4 -4
  495. data/spec/models/code_generator_settings_spec.rb +4 -4
  496. data/spec/models/coupon_constraints_spec.rb +10 -4
  497. data/spec/models/coupon_created_effect_props_spec.rb +47 -0
  498. data/spec/models/coupon_rejection_reason_spec.rb +5 -5
  499. data/spec/models/coupon_reservations_spec.rb +4 -4
  500. data/spec/models/coupon_search_spec.rb +4 -4
  501. data/spec/models/coupon_spec.rb +22 -4
  502. data/spec/models/coupon_value_spec.rb +4 -4
  503. data/spec/models/create_application_api_key_spec.rb +14 -4
  504. data/spec/models/customer_activity_report_spec.rb +4 -4
  505. data/spec/models/customer_analytics_spec.rb +4 -4
  506. data/spec/models/customer_inventory_spec.rb +59 -0
  507. data/spec/models/customer_profile_audience_request_item_spec.rb +57 -0
  508. data/spec/models/customer_profile_audience_request_spec.rb +41 -0
  509. data/spec/models/customer_profile_integration_request_v2_spec.rb +51 -0
  510. data/spec/models/customer_profile_search_query_spec.rb +4 -4
  511. data/spec/models/customer_profile_spec.rb +10 -4
  512. data/spec/models/customer_session_spec.rb +4 -4
  513. data/spec/models/customer_session_v2_spec.rb +129 -0
  514. data/spec/models/deduct_loyalty_points_effect_props_spec.rb +59 -0
  515. data/spec/models/effect_entity_spec.rb +65 -0
  516. data/spec/models/effect_spec.rb +71 -0
  517. data/spec/models/email_entity_spec.rb +4 -4
  518. data/spec/models/entity_spec.rb +4 -4
  519. data/spec/models/entity_with_talang_visible_id_spec.rb +47 -0
  520. data/spec/models/environment_spec.rb +4 -4
  521. data/spec/models/error_effect_props_spec.rb +41 -0
  522. data/spec/models/error_response_spec.rb +4 -4
  523. data/spec/models/error_source_spec.rb +4 -4
  524. data/spec/models/event_spec.rb +4 -4
  525. data/spec/models/event_type_spec.rb +4 -4
  526. data/spec/models/export_spec.rb +4 -4
  527. data/spec/models/feature_flag_spec.rb +4 -4
  528. data/spec/models/feature_flags_spec.rb +4 -4
  529. data/spec/models/features_feed_spec.rb +4 -4
  530. data/spec/models/feed_notification_spec.rb +75 -0
  531. data/spec/models/func_arg_def_spec.rb +4 -4
  532. data/spec/models/function_def_spec.rb +4 -4
  533. data/spec/models/import_coupons_spec.rb +4 -4
  534. data/spec/models/import_spec.rb +4 -4
  535. data/spec/models/{inline_response_200_10_spec.rb → inline_response20010_spec.rb} +4 -4
  536. data/spec/models/{inline_response_200_11_spec.rb → inline_response20011_spec.rb} +4 -4
  537. data/spec/models/{inline_response_200_12_spec.rb → inline_response20012_spec.rb} +10 -4
  538. data/spec/models/{inline_response_200_13_spec.rb → inline_response20013_spec.rb} +4 -4
  539. data/spec/models/{inline_response_200_14_spec.rb → inline_response20014_spec.rb} +4 -4
  540. data/spec/models/{inline_response_200_15_spec.rb → inline_response20015_spec.rb} +4 -4
  541. data/spec/models/{inline_response_200_16_spec.rb → inline_response20016_spec.rb} +5 -5
  542. data/spec/models/{inline_response_200_17_spec.rb → inline_response20017_spec.rb} +4 -4
  543. data/spec/models/{inline_response_200_18_spec.rb → inline_response20018_spec.rb} +4 -4
  544. data/spec/models/{inline_response_200_19_spec.rb → inline_response20019_spec.rb} +4 -4
  545. data/spec/models/{inline_response_200_1_spec.rb → inline_response2001_spec.rb} +4 -4
  546. data/spec/models/{inline_response_200_20_spec.rb → inline_response20020_spec.rb} +4 -4
  547. data/spec/models/{inline_response_200_21_spec.rb → inline_response20021_spec.rb} +4 -4
  548. data/spec/models/{inline_response_200_22_spec.rb → inline_response20022_spec.rb} +4 -4
  549. data/spec/models/{inline_response_200_23_spec.rb → inline_response20023_spec.rb} +4 -4
  550. data/spec/models/{inline_response_200_24_spec.rb → inline_response20024_spec.rb} +4 -4
  551. data/spec/models/{inline_response_200_25_spec.rb → inline_response20025_spec.rb} +4 -10
  552. data/spec/models/{inline_response_200_26_spec.rb → inline_response20026_spec.rb} +4 -4
  553. data/spec/models/{inline_response_200_27_spec.rb → inline_response20027_spec.rb} +10 -4
  554. data/spec/models/{inline_response_200_28_spec.rb → inline_response20028_spec.rb} +4 -4
  555. data/spec/models/inline_response20029_spec.rb +47 -0
  556. data/spec/models/{inline_response_200_2_spec.rb → inline_response2002_spec.rb} +4 -4
  557. data/spec/models/inline_response20030_spec.rb +47 -0
  558. data/spec/models/{inline_response_200_3_spec.rb → inline_response2003_spec.rb} +4 -4
  559. data/spec/models/{inline_response_200_4_spec.rb → inline_response2004_spec.rb} +4 -4
  560. data/spec/models/{inline_response_200_5_spec.rb → inline_response2005_spec.rb} +4 -4
  561. data/spec/models/{inline_response_200_6_spec.rb → inline_response2006_spec.rb} +4 -4
  562. data/spec/models/{inline_response_200_7_spec.rb → inline_response2007_spec.rb} +4 -4
  563. data/spec/models/{inline_response_200_8_spec.rb → inline_response2008_spec.rb} +4 -4
  564. data/spec/models/{inline_response_200_9_spec.rb → inline_response2009_spec.rb} +4 -4
  565. data/spec/models/{inline_response_200_spec.rb → inline_response200_spec.rb} +4 -4
  566. data/spec/models/integration_entity_spec.rb +4 -4
  567. data/spec/models/integration_event_spec.rb +4 -4
  568. data/spec/models/integration_profile_entity_spec.rb +4 -4
  569. data/spec/models/integration_request_spec.rb +51 -0
  570. data/spec/models/integration_state_spec.rb +4 -4
  571. data/spec/models/integration_state_v2_spec.rb +95 -0
  572. data/spec/models/ledger_entry_spec.rb +4 -4
  573. data/spec/models/library_attribute_spec.rb +4 -4
  574. data/spec/models/limit_config_spec.rb +4 -4
  575. data/spec/models/login_params_spec.rb +4 -4
  576. data/spec/models/loyalty_ledger_entry_spec.rb +16 -8
  577. data/spec/models/loyalty_ledger_spec.rb +4 -4
  578. data/spec/models/loyalty_membership_spec.rb +4 -4
  579. data/spec/models/loyalty_points_spec.rb +11 -5
  580. data/spec/models/loyalty_program_balance_spec.rb +4 -4
  581. data/spec/models/loyalty_program_ledgers_spec.rb +4 -4
  582. data/spec/models/loyalty_program_spec.rb +10 -4
  583. data/spec/models/loyalty_spec.rb +4 -4
  584. data/spec/models/loyalty_statistics_spec.rb +59 -0
  585. data/spec/models/loyalty_sub_ledger_spec.rb +46 -4
  586. data/spec/models/manager_config_spec.rb +4 -4
  587. data/spec/models/meta_spec.rb +4 -4
  588. data/spec/models/multi_application_entity_spec.rb +4 -4
  589. data/spec/models/multiple_customer_profile_integration_request_item_spec.rb +47 -0
  590. data/spec/models/multiple_customer_profile_integration_request_spec.rb +41 -0
  591. data/spec/models/multiple_customer_profile_integration_response_v2_spec.rb +41 -0
  592. data/spec/models/mutable_entity_spec.rb +4 -4
  593. data/spec/models/new_account_sign_up_spec.rb +4 -4
  594. data/spec/models/new_account_spec.rb +4 -4
  595. data/spec/models/new_additional_cost_spec.rb +59 -0
  596. data/spec/models/new_application_api_key_spec.rb +21 -11
  597. data/spec/models/new_application_spec.rb +48 -4
  598. data/spec/models/new_attribute_spec.rb +10 -4
  599. data/spec/models/new_audience_spec.rb +57 -0
  600. data/spec/models/new_campaign_group_spec.rb +59 -0
  601. data/spec/models/new_campaign_set_spec.rb +10 -4
  602. data/spec/models/new_campaign_spec.rb +10 -4
  603. data/spec/models/new_coupons_spec.rb +10 -4
  604. data/spec/models/new_customer_profile_spec.rb +4 -4
  605. data/spec/models/new_customer_session_spec.rb +4 -4
  606. data/spec/models/new_customer_session_v2_spec.rb +87 -0
  607. data/spec/models/new_event_spec.rb +4 -4
  608. data/spec/models/new_event_type_spec.rb +4 -4
  609. data/spec/models/new_feature_flags_spec.rb +4 -4
  610. data/spec/models/new_import_spec.rb +4 -4
  611. data/spec/models/new_invitation_spec.rb +4 -4
  612. data/spec/models/new_invite_email_spec.rb +4 -4
  613. data/spec/models/new_loyalty_program_spec.rb +10 -4
  614. data/spec/models/new_password_email_spec.rb +4 -4
  615. data/spec/models/new_password_spec.rb +4 -4
  616. data/spec/models/new_referral_spec.rb +4 -4
  617. data/spec/models/new_role_spec.rb +4 -4
  618. data/spec/models/new_ruleset_spec.rb +4 -4
  619. data/spec/models/new_saml_connection_spec.rb +17 -11
  620. data/spec/models/new_template_def_spec.rb +4 -4
  621. data/spec/models/new_user_spec.rb +4 -4
  622. data/spec/models/new_webhook_spec.rb +4 -4
  623. data/spec/models/notification_spec.rb +4 -4
  624. data/spec/models/redeem_referral_effect_props_spec.rb +47 -0
  625. data/spec/models/referral_created_effect_props_spec.rb +41 -0
  626. data/spec/models/referral_rejection_reason_spec.rb +5 -5
  627. data/spec/models/referral_spec.rb +4 -4
  628. data/spec/models/reject_coupon_effect_props_spec.rb +47 -0
  629. data/spec/models/reject_referral_effect_props_spec.rb +47 -0
  630. data/spec/models/role_assign_spec.rb +4 -4
  631. data/spec/models/role_membership_spec.rb +4 -4
  632. data/spec/models/role_spec.rb +10 -4
  633. data/spec/models/rollback_coupon_effect_props_spec.rb +41 -0
  634. data/spec/models/rollback_discount_effect_props_spec.rb +47 -0
  635. data/spec/models/rule_spec.rb +4 -4
  636. data/spec/models/ruleset_spec.rb +4 -4
  637. data/spec/models/saml_connection_metadata_spec.rb +59 -0
  638. data/spec/models/saml_connection_spec.rb +13 -19
  639. data/spec/models/saml_login_endpoint_spec.rb +47 -0
  640. data/spec/models/session_spec.rb +4 -4
  641. data/spec/models/set_discount_effect_props_spec.rb +53 -0
  642. data/spec/models/set_discount_per_item_effect_props_spec.rb +59 -0
  643. data/spec/models/show_bundle_metadata_effect_props_spec.rb +53 -0
  644. data/spec/models/show_notification_effect_props_spec.rb +53 -0
  645. data/spec/models/slot_def_spec.rb +4 -4
  646. data/spec/models/template_arg_def_spec.rb +4 -4
  647. data/spec/models/template_def_spec.rb +4 -4
  648. data/spec/models/trigger_webhook_effect_props_spec.rb +47 -0
  649. data/spec/models/update_account_spec.rb +20 -4
  650. data/spec/models/update_application_spec.rb +48 -4
  651. data/spec/models/update_attribute_effect_props_spec.rb +47 -0
  652. data/spec/models/update_audience_spec.rb +41 -0
  653. data/spec/models/update_campaign_group_spec.rb +59 -0
  654. data/spec/models/update_campaign_spec.rb +10 -4
  655. data/spec/models/update_coupon_batch_spec.rb +10 -4
  656. data/spec/models/update_coupon_spec.rb +10 -4
  657. data/spec/models/update_loyalty_program_spec.rb +10 -4
  658. data/spec/models/update_role_spec.rb +4 -4
  659. data/spec/models/update_user_latest_feed_timestamp_spec.rb +41 -0
  660. data/spec/models/update_user_spec.rb +4 -34
  661. data/spec/models/user_entity_spec.rb +4 -4
  662. data/spec/models/user_feed_notifications_spec.rb +47 -0
  663. data/spec/models/user_spec.rb +5 -11
  664. data/spec/models/webhook_activation_log_entry_spec.rb +4 -4
  665. data/spec/models/webhook_log_entry_spec.rb +4 -4
  666. data/spec/models/webhook_spec.rb +4 -4
  667. data/spec/spec_helper.rb +3 -3
  668. data/talon_one.gemspec +6 -11
  669. metadata +314 -228
  670. data/CHANGELOG.md +0 -63
  671. data/docs/AttributeQuery.md +0 -7
  672. data/docs/MiscUpdateUserLatestFeature.md +0 -8
  673. data/docs/Notifications.md +0 -7
  674. data/git_push.sh +0 -55
  675. data/lib/talon_one/models/attribute_query.rb +0 -174
  676. data/lib/talon_one/models/inline_response_200_16.rb +0 -204
  677. data/lib/talon_one/models/misc_update_user_latest_feature.rb +0 -183
  678. data/lib/talon_one/models/notifications.rb +0 -174
  679. data/spec/models/attribute_query_spec.rb +0 -35
  680. data/spec/models/notifications_spec.rb +0 -35
  681. data/talon_one-1.0.0.gem +0 -0
  682. data/talon_one-1.1.0.gem +0 -0
  683. data/talon_one-1.1.1.gem +0 -0
  684. data/talon_one-1.1.2.gem +0 -0
  685. data/talon_one-1.2.0.gem +0 -0
@@ -3,14 +3,14 @@
3
3
 
4
4
  #The Talon.One API is used to manage applications and campaigns, as well as to integrate with your application. The operations in the _Integration API_ section are used to integrate with our platform, while the other operations are used to manage applications and campaigns. ### Where is the API? The API is available at the same hostname as these docs. For example, if you are reading this page at `https://mycompany.talon.one/docs/api/`, the URL for the [updateCustomerProfile][] operation is `https://mycompany.talon.one/v1/customer_profiles/id` [updateCustomerProfile]: #operation--v1-customer_profiles--integrationId--put
5
5
 
6
- OpenAPI spec version: 1.0.0
6
+ The version of the OpenAPI document: 1.0.0
7
7
 
8
- Generated by: https://github.com/swagger-api/swagger-codegen.git
9
- Swagger Codegen version: 2.4.7
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
10
 
11
11
  =end
12
12
 
13
- require 'uri'
13
+ require 'cgi'
14
14
 
15
15
  module TalonOne
16
16
  class IntegrationApi
@@ -21,8 +21,8 @@ module TalonOne
21
21
  end
22
22
  # Create a new coupon reservation
23
23
  # Creates a coupon reservation for all passed customer profiles on this couponID
24
- # @param coupon_value The value of a coupon
25
- # @param body
24
+ # @param coupon_value [String] The value of a coupon
25
+ # @param body [CouponReservations]
26
26
  # @param [Hash] opts the optional parameters
27
27
  # @return [Coupon]
28
28
  def create_coupon_reservation(coupon_value, body, opts = {})
@@ -32,10 +32,10 @@ module TalonOne
32
32
 
33
33
  # Create a new coupon reservation
34
34
  # Creates a coupon reservation for all passed customer profiles on this couponID
35
- # @param coupon_value The value of a coupon
36
- # @param body
35
+ # @param coupon_value [String] The value of a coupon
36
+ # @param body [CouponReservations]
37
37
  # @param [Hash] opts the optional parameters
38
- # @return [Array<(Coupon, Fixnum, Hash)>] Coupon data, response status code and response headers
38
+ # @return [Array<(Coupon, Integer, Hash)>] Coupon data, response status code and response headers
39
39
  def create_coupon_reservation_with_http_info(coupon_value, body, opts = {})
40
40
  if @api_client.config.debugging
41
41
  @api_client.config.logger.debug 'Calling API: IntegrationApi.create_coupon_reservation ...'
@@ -49,39 +49,49 @@ module TalonOne
49
49
  fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.create_coupon_reservation"
50
50
  end
51
51
  # resource path
52
- local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', coupon_value.to_s)
52
+ local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
53
53
 
54
54
  # query parameters
55
- query_params = {}
55
+ query_params = opts[:query_params] || {}
56
56
 
57
57
  # header parameters
58
- header_params = {}
58
+ header_params = opts[:header_params] || {}
59
59
  # HTTP header 'Accept' (if needed)
60
60
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
61
61
  # HTTP header 'Content-Type'
62
62
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
63
63
 
64
64
  # form parameters
65
- form_params = {}
65
+ form_params = opts[:form_params] || {}
66
66
 
67
67
  # http body (model)
68
- post_body = @api_client.object_to_http_body(body)
69
- auth_names = ['api_key_v1', 'integration_auth']
70
- data, status_code, headers = @api_client.call_api(:POST, local_var_path,
68
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
69
+
70
+ # return_type
71
+ return_type = opts[:return_type] || 'Coupon'
72
+
73
+ # auth_names
74
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
75
+
76
+ new_options = opts.merge(
71
77
  :header_params => header_params,
72
78
  :query_params => query_params,
73
79
  :form_params => form_params,
74
80
  :body => post_body,
75
81
  :auth_names => auth_names,
76
- :return_type => 'Coupon')
82
+ :return_type => return_type
83
+ )
84
+
85
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
77
86
  if @api_client.config.debugging
78
87
  @api_client.config.logger.debug "API called: IntegrationApi#create_coupon_reservation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
79
88
  end
80
89
  return data, status_code, headers
81
90
  end
91
+
82
92
  # Create a referral code for an advocate
83
93
  # Creates a referral code for an advocate. The code will be valid for the referral campaign for which is created, indicated in the `campaignId` parameter, and will be associated with the profile specified in the `advocateProfileIntegrationId` parameter as the advocate's profile.
84
- # @param body
94
+ # @param body [NewReferral]
85
95
  # @param [Hash] opts the optional parameters
86
96
  # @return [Referral]
87
97
  def create_referral(body, opts = {})
@@ -91,9 +101,9 @@ module TalonOne
91
101
 
92
102
  # Create a referral code for an advocate
93
103
  # Creates a referral code for an advocate. The code will be valid for the referral campaign for which is created, indicated in the &#x60;campaignId&#x60; parameter, and will be associated with the profile specified in the &#x60;advocateProfileIntegrationId&#x60; parameter as the advocate&#39;s profile.
94
- # @param body
104
+ # @param body [NewReferral]
95
105
  # @param [Hash] opts the optional parameters
96
- # @return [Array<(Referral, Fixnum, Hash)>] Referral data, response status code and response headers
106
+ # @return [Array<(Referral, Integer, Hash)>] Referral data, response status code and response headers
97
107
  def create_referral_with_http_info(body, opts = {})
98
108
  if @api_client.config.debugging
99
109
  @api_client.config.logger.debug 'Calling API: IntegrationApi.create_referral ...'
@@ -106,37 +116,47 @@ module TalonOne
106
116
  local_var_path = '/v1/referrals'
107
117
 
108
118
  # query parameters
109
- query_params = {}
119
+ query_params = opts[:query_params] || {}
110
120
 
111
121
  # header parameters
112
- header_params = {}
122
+ header_params = opts[:header_params] || {}
113
123
  # HTTP header 'Accept' (if needed)
114
124
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
115
125
  # HTTP header 'Content-Type'
116
126
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
117
127
 
118
128
  # form parameters
119
- form_params = {}
129
+ form_params = opts[:form_params] || {}
120
130
 
121
131
  # http body (model)
122
- post_body = @api_client.object_to_http_body(body)
123
- auth_names = ['api_key_v1', 'integration_auth']
124
- data, status_code, headers = @api_client.call_api(:POST, local_var_path,
132
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
133
+
134
+ # return_type
135
+ return_type = opts[:return_type] || 'Referral'
136
+
137
+ # auth_names
138
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
139
+
140
+ new_options = opts.merge(
125
141
  :header_params => header_params,
126
142
  :query_params => query_params,
127
143
  :form_params => form_params,
128
144
  :body => post_body,
129
145
  :auth_names => auth_names,
130
- :return_type => 'Referral')
146
+ :return_type => return_type
147
+ )
148
+
149
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
131
150
  if @api_client.config.debugging
132
151
  @api_client.config.logger.debug "API called: IntegrationApi#create_referral\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
133
152
  end
134
153
  return data, status_code, headers
135
154
  end
155
+
136
156
  # Delete coupon reservations
137
157
  # Removes all passed customer profiles reservation from this coupon
138
- # @param coupon_value The value of a coupon
139
- # @param body
158
+ # @param coupon_value [String] The value of a coupon
159
+ # @param body [CouponReservations]
140
160
  # @param [Hash] opts the optional parameters
141
161
  # @return [nil]
142
162
  def delete_coupon_reservation(coupon_value, body, opts = {})
@@ -146,10 +166,10 @@ module TalonOne
146
166
 
147
167
  # Delete coupon reservations
148
168
  # Removes all passed customer profiles reservation from this coupon
149
- # @param coupon_value The value of a coupon
150
- # @param body
169
+ # @param coupon_value [String] The value of a coupon
170
+ # @param body [CouponReservations]
151
171
  # @param [Hash] opts the optional parameters
152
- # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
172
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
153
173
  def delete_coupon_reservation_with_http_info(coupon_value, body, opts = {})
154
174
  if @api_client.config.debugging
155
175
  @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_coupon_reservation ...'
@@ -163,38 +183,47 @@ module TalonOne
163
183
  fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.delete_coupon_reservation"
164
184
  end
165
185
  # resource path
166
- local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', coupon_value.to_s)
186
+ local_var_path = '/v1/coupon_reservations/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
167
187
 
168
188
  # query parameters
169
- query_params = {}
189
+ query_params = opts[:query_params] || {}
170
190
 
171
191
  # header parameters
172
- header_params = {}
173
- # HTTP header 'Accept' (if needed)
174
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
192
+ header_params = opts[:header_params] || {}
175
193
  # HTTP header 'Content-Type'
176
194
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
177
195
 
178
196
  # form parameters
179
- form_params = {}
197
+ form_params = opts[:form_params] || {}
180
198
 
181
199
  # http body (model)
182
- post_body = @api_client.object_to_http_body(body)
183
- auth_names = ['api_key_v1', 'integration_auth']
184
- data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
200
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
201
+
202
+ # return_type
203
+ return_type = opts[:return_type]
204
+
205
+ # auth_names
206
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
207
+
208
+ new_options = opts.merge(
185
209
  :header_params => header_params,
186
210
  :query_params => query_params,
187
211
  :form_params => form_params,
188
212
  :body => post_body,
189
- :auth_names => auth_names)
213
+ :auth_names => auth_names,
214
+ :return_type => return_type
215
+ )
216
+
217
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
190
218
  if @api_client.config.debugging
191
219
  @api_client.config.logger.debug "API called: IntegrationApi#delete_coupon_reservation\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
192
220
  end
193
221
  return data, status_code, headers
194
222
  end
223
+
195
224
  # Delete the personal data of a customer.
196
225
  # Delete all attributes on the customer profile and on entities that reference that customer profile.
197
- # @param integration_id The custom identifier for this profile, must be unique within the account.
226
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
198
227
  # @param [Hash] opts the optional parameters
199
228
  # @return [nil]
200
229
  def delete_customer_data(integration_id, opts = {})
@@ -204,9 +233,9 @@ module TalonOne
204
233
 
205
234
  # Delete the personal data of a customer.
206
235
  # Delete all attributes on the customer profile and on entities that reference that customer profile.
207
- # @param integration_id The custom identifier for this profile, must be unique within the account.
236
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
208
237
  # @param [Hash] opts the optional parameters
209
- # @return [Array<(nil, Fixnum, Hash)>] nil, response status code and response headers
238
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
210
239
  def delete_customer_data_with_http_info(integration_id, opts = {})
211
240
  if @api_client.config.debugging
212
241
  @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_customer_data ...'
@@ -216,92 +245,119 @@ module TalonOne
216
245
  fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.delete_customer_data"
217
246
  end
218
247
  # resource path
219
- local_var_path = '/v1/customer_data/{integrationId}'.sub('{' + 'integrationId' + '}', integration_id.to_s)
248
+ local_var_path = '/v1/customer_data/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
220
249
 
221
250
  # query parameters
222
- query_params = {}
251
+ query_params = opts[:query_params] || {}
223
252
 
224
253
  # header parameters
225
- header_params = {}
226
- # HTTP header 'Accept' (if needed)
227
- header_params['Accept'] = @api_client.select_header_accept(['application/json'])
228
- # HTTP header 'Content-Type'
229
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
254
+ header_params = opts[:header_params] || {}
230
255
 
231
256
  # form parameters
232
- form_params = {}
257
+ form_params = opts[:form_params] || {}
233
258
 
234
259
  # http body (model)
235
- post_body = nil
236
- auth_names = ['api_key_v1', 'integration_auth']
237
- data, status_code, headers = @api_client.call_api(:DELETE, local_var_path,
260
+ post_body = opts[:body]
261
+
262
+ # return_type
263
+ return_type = opts[:return_type]
264
+
265
+ # auth_names
266
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
267
+
268
+ new_options = opts.merge(
238
269
  :header_params => header_params,
239
270
  :query_params => query_params,
240
271
  :form_params => form_params,
241
272
  :body => post_body,
242
- :auth_names => auth_names)
273
+ :auth_names => auth_names,
274
+ :return_type => return_type
275
+ )
276
+
277
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
243
278
  if @api_client.config.debugging
244
279
  @api_client.config.logger.debug "API called: IntegrationApi#delete_customer_data\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
245
280
  end
246
281
  return data, status_code, headers
247
282
  end
248
- # Get all valid reserved coupons
249
- # Returns all coupons this user is subscribed to that are valid and usable
250
- # @param integration_id The custom identifier for this profile, must be unique within the account.
283
+
284
+ # Get an inventory of all data associated with a specific customer profile.
285
+ # Get information regarding entities referencing this customer profile's integrationId. Currently we support customer profile information, referral codes and reserved coupons. In the future, this will be expanded with loyalty points.
286
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
251
287
  # @param [Hash] opts the optional parameters
252
- # @return [InlineResponse2001]
253
- def get_reserved_coupons(integration_id, opts = {})
254
- data, _status_code, _headers = get_reserved_coupons_with_http_info(integration_id, opts)
288
+ # @option opts [Boolean] :profile optional flag to decide if you would like customer profile information in the response
289
+ # @option opts [Boolean] :referrals optional flag to decide if you would like referral information in the response
290
+ # @option opts [Boolean] :coupons optional flag to decide if you would like coupon information in the response
291
+ # @option opts [Boolean] :loyalty optional flag to decide if you would like loyalty information in the response
292
+ # @return [CustomerInventory]
293
+ def get_customer_inventory(integration_id, opts = {})
294
+ data, _status_code, _headers = get_customer_inventory_with_http_info(integration_id, opts)
255
295
  data
256
296
  end
257
297
 
258
- # Get all valid reserved coupons
259
- # Returns all coupons this user is subscribed to that are valid and usable
260
- # @param integration_id The custom identifier for this profile, must be unique within the account.
298
+ # Get an inventory of all data associated with a specific customer profile.
299
+ # Get information regarding entities referencing this customer profile&#39;s integrationId. Currently we support customer profile information, referral codes and reserved coupons. In the future, this will be expanded with loyalty points.
300
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
261
301
  # @param [Hash] opts the optional parameters
262
- # @return [Array<(InlineResponse2001, Fixnum, Hash)>] InlineResponse2001 data, response status code and response headers
263
- def get_reserved_coupons_with_http_info(integration_id, opts = {})
302
+ # @option opts [Boolean] :profile optional flag to decide if you would like customer profile information in the response
303
+ # @option opts [Boolean] :referrals optional flag to decide if you would like referral information in the response
304
+ # @option opts [Boolean] :coupons optional flag to decide if you would like coupon information in the response
305
+ # @option opts [Boolean] :loyalty optional flag to decide if you would like loyalty information in the response
306
+ # @return [Array<(CustomerInventory, Integer, Hash)>] CustomerInventory data, response status code and response headers
307
+ def get_customer_inventory_with_http_info(integration_id, opts = {})
264
308
  if @api_client.config.debugging
265
- @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_coupons ...'
309
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_inventory ...'
266
310
  end
267
311
  # verify the required parameter 'integration_id' is set
268
312
  if @api_client.config.client_side_validation && integration_id.nil?
269
- fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_reserved_coupons"
313
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_customer_inventory"
270
314
  end
271
315
  # resource path
272
- local_var_path = '/v1/coupon_reservations/coupons/{integrationId}'.sub('{' + 'integrationId' + '}', integration_id.to_s)
316
+ local_var_path = '/v1/customer_profiles/{integrationId}/inventory'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
273
317
 
274
318
  # query parameters
275
- query_params = {}
319
+ query_params = opts[:query_params] || {}
320
+ query_params[:'profile'] = opts[:'profile'] if !opts[:'profile'].nil?
321
+ query_params[:'referrals'] = opts[:'referrals'] if !opts[:'referrals'].nil?
322
+ query_params[:'coupons'] = opts[:'coupons'] if !opts[:'coupons'].nil?
323
+ query_params[:'loyalty'] = opts[:'loyalty'] if !opts[:'loyalty'].nil?
276
324
 
277
325
  # header parameters
278
- header_params = {}
326
+ header_params = opts[:header_params] || {}
279
327
  # HTTP header 'Accept' (if needed)
280
328
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
281
- # HTTP header 'Content-Type'
282
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
283
329
 
284
330
  # form parameters
285
- form_params = {}
331
+ form_params = opts[:form_params] || {}
286
332
 
287
333
  # http body (model)
288
- post_body = nil
289
- auth_names = ['api_key_v1', 'integration_auth']
290
- data, status_code, headers = @api_client.call_api(:GET, local_var_path,
334
+ post_body = opts[:body]
335
+
336
+ # return_type
337
+ return_type = opts[:return_type] || 'CustomerInventory'
338
+
339
+ # auth_names
340
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
341
+
342
+ new_options = opts.merge(
291
343
  :header_params => header_params,
292
344
  :query_params => query_params,
293
345
  :form_params => form_params,
294
346
  :body => post_body,
295
347
  :auth_names => auth_names,
296
- :return_type => 'InlineResponse2001')
348
+ :return_type => return_type
349
+ )
350
+
351
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
297
352
  if @api_client.config.debugging
298
- @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_coupons\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
353
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_inventory\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
299
354
  end
300
355
  return data, status_code, headers
301
356
  end
357
+
302
358
  # Get the users that have this coupon reserved
303
359
  # Returns all users that have this coupon marked as reserved
304
- # @param coupon_value The value of a coupon
360
+ # @param coupon_value [String] The value of a coupon
305
361
  # @param [Hash] opts the optional parameters
306
362
  # @return [InlineResponse200]
307
363
  def get_reserved_customers(coupon_value, opts = {})
@@ -311,9 +367,9 @@ module TalonOne
311
367
 
312
368
  # Get the users that have this coupon reserved
313
369
  # Returns all users that have this coupon marked as reserved
314
- # @param coupon_value The value of a coupon
370
+ # @param coupon_value [String] The value of a coupon
315
371
  # @param [Hash] opts the optional parameters
316
- # @return [Array<(InlineResponse200, Fixnum, Hash)>] InlineResponse200 data, response status code and response headers
372
+ # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
317
373
  def get_reserved_customers_with_http_info(coupon_value, opts = {})
318
374
  if @api_client.config.debugging
319
375
  @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_customers ...'
@@ -323,40 +379,49 @@ module TalonOne
323
379
  fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.get_reserved_customers"
324
380
  end
325
381
  # resource path
326
- local_var_path = '/v1/coupon_reservations/customerprofiles/{couponValue}'.sub('{' + 'couponValue' + '}', coupon_value.to_s)
382
+ local_var_path = '/v1/coupon_reservations/customerprofiles/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
327
383
 
328
384
  # query parameters
329
- query_params = {}
385
+ query_params = opts[:query_params] || {}
330
386
 
331
387
  # header parameters
332
- header_params = {}
388
+ header_params = opts[:header_params] || {}
333
389
  # HTTP header 'Accept' (if needed)
334
390
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
335
- # HTTP header 'Content-Type'
336
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
337
391
 
338
392
  # form parameters
339
- form_params = {}
393
+ form_params = opts[:form_params] || {}
340
394
 
341
395
  # http body (model)
342
- post_body = nil
343
- auth_names = ['api_key_v1', 'integration_auth']
344
- data, status_code, headers = @api_client.call_api(:GET, local_var_path,
396
+ post_body = opts[:body]
397
+
398
+ # return_type
399
+ return_type = opts[:return_type] || 'InlineResponse200'
400
+
401
+ # auth_names
402
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
403
+
404
+ new_options = opts.merge(
345
405
  :header_params => header_params,
346
406
  :query_params => query_params,
347
407
  :form_params => form_params,
348
408
  :body => post_body,
349
409
  :auth_names => auth_names,
350
- :return_type => 'InlineResponse200')
410
+ :return_type => return_type
411
+ )
412
+
413
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
351
414
  if @api_client.config.debugging
352
415
  @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_customers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
353
416
  end
354
417
  return data, status_code, headers
355
418
  end
419
+
356
420
  # Track an Event
357
421
  # Records an arbitrary event in a customer session. For example, an integration might record an event when a user updates their payment information. The `sessionId` body parameter is required, an event is always part of a session. Much like updating a customer session, if either the profile or the session do not exist, a new empty one will be created. Note that if the specified session already exists, it must belong to the same `profileId` or an error will be returned. As with customer sessions, you can use an empty string for `profileId` to indicate that this is an anonymous session. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place.
358
- # @param body
422
+ # @param body [NewEvent]
359
423
  # @param [Hash] opts the optional parameters
424
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
360
425
  # @return [IntegrationState]
361
426
  def track_event(body, opts = {})
362
427
  data, _status_code, _headers = track_event_with_http_info(body, opts)
@@ -365,9 +430,10 @@ module TalonOne
365
430
 
366
431
  # Track an Event
367
432
  # Records an arbitrary event in a customer session. For example, an integration might record an event when a user updates their payment information. The &#x60;sessionId&#x60; body parameter is required, an event is always part of a session. Much like updating a customer session, if either the profile or the session do not exist, a new empty one will be created. Note that if the specified session already exists, it must belong to the same &#x60;profileId&#x60; or an error will be returned. As with customer sessions, you can use an empty string for &#x60;profileId&#x60; to indicate that this is an anonymous session. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place.
368
- # @param body
433
+ # @param body [NewEvent]
369
434
  # @param [Hash] opts the optional parameters
370
- # @return [Array<(IntegrationState, Fixnum, Hash)>] IntegrationState data, response status code and response headers
435
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
436
+ # @return [Array<(IntegrationState, Integer, Hash)>] IntegrationState data, response status code and response headers
371
437
  def track_event_with_http_info(body, opts = {})
372
438
  if @api_client.config.debugging
373
439
  @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event ...'
@@ -380,50 +446,63 @@ module TalonOne
380
446
  local_var_path = '/v1/events'
381
447
 
382
448
  # query parameters
383
- query_params = {}
449
+ query_params = opts[:query_params] || {}
450
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
384
451
 
385
452
  # header parameters
386
- header_params = {}
453
+ header_params = opts[:header_params] || {}
387
454
  # HTTP header 'Accept' (if needed)
388
455
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
389
456
  # HTTP header 'Content-Type'
390
457
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
391
458
 
392
459
  # form parameters
393
- form_params = {}
460
+ form_params = opts[:form_params] || {}
394
461
 
395
462
  # http body (model)
396
- post_body = @api_client.object_to_http_body(body)
397
- auth_names = ['api_key_v1', 'integration_auth']
398
- data, status_code, headers = @api_client.call_api(:POST, local_var_path,
463
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
464
+
465
+ # return_type
466
+ return_type = opts[:return_type] || 'IntegrationState'
467
+
468
+ # auth_names
469
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
470
+
471
+ new_options = opts.merge(
399
472
  :header_params => header_params,
400
473
  :query_params => query_params,
401
474
  :form_params => form_params,
402
475
  :body => post_body,
403
476
  :auth_names => auth_names,
404
- :return_type => 'IntegrationState')
477
+ :return_type => return_type
478
+ )
479
+
480
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
405
481
  if @api_client.config.debugging
406
482
  @api_client.config.logger.debug "API called: IntegrationApi#track_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
407
483
  end
408
484
  return data, status_code, headers
409
485
  end
410
- # Update a Customer Profile
411
- # Update (or create) a [Customer Profile][]. This profile information can then be matched and/or updated by campaign [Rules][]. The `integrationId` may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the `integrationId`. It is vital that this ID **not** change over time, so **don't** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
412
- # @param integration_id The custom identifier for this profile, must be unique within the account.
413
- # @param body
486
+
487
+ # Update a Customer Profile V1
488
+ # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, please migrate to [API V2.0](/Getting-Started/APIV2). Update (or create) a [Customer Profile][]. This profile information can then be matched and/or updated by campaign [Rules][]. The `integrationId` may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the `integrationId`. It is vital that this ID **not** change over time, so **don't** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
489
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
490
+ # @param body [NewCustomerProfile]
414
491
  # @param [Hash] opts the optional parameters
492
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
415
493
  # @return [IntegrationState]
416
494
  def update_customer_profile(integration_id, body, opts = {})
417
495
  data, _status_code, _headers = update_customer_profile_with_http_info(integration_id, body, opts)
418
496
  data
419
497
  end
420
498
 
421
- # Update a Customer Profile
422
- # Update (or create) a [Customer Profile][]. This profile information can then be matched and/or updated by campaign [Rules][]. The &#x60;integrationId&#x60; may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the &#x60;integrationId&#x60;. It is vital that this ID **not** change over time, so **don&#39;t** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
423
- # @param integration_id The custom identifier for this profile, must be unique within the account.
424
- # @param body
499
+ # Update a Customer Profile V1
500
+ # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, please migrate to [API V2.0](/Getting-Started/APIV2). Update (or create) a [Customer Profile][]. This profile information can then be matched and/or updated by campaign [Rules][]. The &#x60;integrationId&#x60; may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the &#x60;integrationId&#x60;. It is vital that this ID **not** change over time, so **don&#39;t** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
501
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
502
+ # @param body [NewCustomerProfile]
425
503
  # @param [Hash] opts the optional parameters
426
- # @return [Array<(IntegrationState, Fixnum, Hash)>] IntegrationState data, response status code and response headers
504
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
505
+ # @return [Array<(IntegrationState, Integer, Hash)>] IntegrationState data, response status code and response headers
427
506
  def update_customer_profile_with_http_info(integration_id, body, opts = {})
428
507
  if @api_client.config.debugging
429
508
  @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile ...'
@@ -437,53 +516,271 @@ module TalonOne
437
516
  fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile"
438
517
  end
439
518
  # resource path
440
- local_var_path = '/v1/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', integration_id.to_s)
519
+ local_var_path = '/v1/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
441
520
 
442
521
  # query parameters
443
- query_params = {}
522
+ query_params = opts[:query_params] || {}
523
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
444
524
 
445
525
  # header parameters
446
- header_params = {}
526
+ header_params = opts[:header_params] || {}
447
527
  # HTTP header 'Accept' (if needed)
448
528
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
449
529
  # HTTP header 'Content-Type'
450
530
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
451
531
 
452
532
  # form parameters
453
- form_params = {}
533
+ form_params = opts[:form_params] || {}
454
534
 
455
535
  # http body (model)
456
- post_body = @api_client.object_to_http_body(body)
457
- auth_names = ['api_key_v1', 'integration_auth']
458
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
536
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
537
+
538
+ # return_type
539
+ return_type = opts[:return_type] || 'IntegrationState'
540
+
541
+ # auth_names
542
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
543
+
544
+ new_options = opts.merge(
459
545
  :header_params => header_params,
460
546
  :query_params => query_params,
461
547
  :form_params => form_params,
462
548
  :body => post_body,
463
549
  :auth_names => auth_names,
464
- :return_type => 'IntegrationState')
550
+ :return_type => return_type
551
+ )
552
+
553
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
465
554
  if @api_client.config.debugging
466
555
  @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
467
556
  end
468
557
  return data, status_code, headers
469
558
  end
470
- # Update a Customer Session
471
- # Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID's. The `profileId` parameter in the request body should correspond to an `integrationId` for a customer profile, to track an anonymous session use the empty string (`\"\"`) as the `profileId`. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
472
- # @param customer_session_id The custom identifier for this session, must be unique within the account.
473
- # @param body
559
+
560
+ # Update a Customer Profile Audiences
561
+ # Update one ore multiple Customer Profiles with the specified Audiences
562
+ # @param body [CustomerProfileAudienceRequest]
474
563
  # @param [Hash] opts the optional parameters
564
+ # @return [nil]
565
+ def update_customer_profile_audiences(body, opts = {})
566
+ update_customer_profile_audiences_with_http_info(body, opts)
567
+ nil
568
+ end
569
+
570
+ # Update a Customer Profile Audiences
571
+ # Update one ore multiple Customer Profiles with the specified Audiences
572
+ # @param body [CustomerProfileAudienceRequest]
573
+ # @param [Hash] opts the optional parameters
574
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
575
+ def update_customer_profile_audiences_with_http_info(body, opts = {})
576
+ if @api_client.config.debugging
577
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_audiences ...'
578
+ end
579
+ # verify the required parameter 'body' is set
580
+ if @api_client.config.client_side_validation && body.nil?
581
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_audiences"
582
+ end
583
+ # resource path
584
+ local_var_path = '/v2/customer_audiences'
585
+
586
+ # query parameters
587
+ query_params = opts[:query_params] || {}
588
+
589
+ # header parameters
590
+ header_params = opts[:header_params] || {}
591
+ # HTTP header 'Content-Type'
592
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
593
+
594
+ # form parameters
595
+ form_params = opts[:form_params] || {}
596
+
597
+ # http body (model)
598
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
599
+
600
+ # return_type
601
+ return_type = opts[:return_type]
602
+
603
+ # auth_names
604
+ auth_names = opts[:auth_names] || ['api_key_v1']
605
+
606
+ new_options = opts.merge(
607
+ :header_params => header_params,
608
+ :query_params => query_params,
609
+ :form_params => form_params,
610
+ :body => post_body,
611
+ :auth_names => auth_names,
612
+ :return_type => return_type
613
+ )
614
+
615
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
616
+ if @api_client.config.debugging
617
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_audiences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
618
+ end
619
+ return data, status_code, headers
620
+ end
621
+
622
+ # Update a Customer Profile
623
+ # Update (or create) a [Customer Profile][]. The `integrationId` may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the `integrationId`. It is vital that this ID **not** change over time, so **don't** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. [Customer Profile]: /Getting-Started/entities#customer-profile
624
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
625
+ # @param body [CustomerProfileIntegrationRequestV2]
626
+ # @param [Hash] opts the optional parameters
627
+ # @option opts [Boolean] :run_rule_engine Flag to indicate whether to run the rule engine (Defaults to false).
628
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;. Only used when &#39;runRuleEngine&#39; is set to &#39;true&#39;).
629
+ # @return [IntegrationStateV2]
630
+ def update_customer_profile_v2(integration_id, body, opts = {})
631
+ data, _status_code, _headers = update_customer_profile_v2_with_http_info(integration_id, body, opts)
632
+ data
633
+ end
634
+
635
+ # Update a Customer Profile
636
+ # Update (or create) a [Customer Profile][]. The &#x60;integrationId&#x60; may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the &#x60;integrationId&#x60;. It is vital that this ID **not** change over time, so **don&#39;t** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. [Customer Profile]: /Getting-Started/entities#customer-profile
637
+ # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
638
+ # @param body [CustomerProfileIntegrationRequestV2]
639
+ # @param [Hash] opts the optional parameters
640
+ # @option opts [Boolean] :run_rule_engine Flag to indicate whether to run the rule engine (Defaults to false).
641
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;. Only used when &#39;runRuleEngine&#39; is set to &#39;true&#39;).
642
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
643
+ def update_customer_profile_v2_with_http_info(integration_id, body, opts = {})
644
+ if @api_client.config.debugging
645
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_v2 ...'
646
+ end
647
+ # verify the required parameter 'integration_id' is set
648
+ if @api_client.config.client_side_validation && integration_id.nil?
649
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile_v2"
650
+ end
651
+ # verify the required parameter 'body' is set
652
+ if @api_client.config.client_side_validation && body.nil?
653
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_v2"
654
+ end
655
+ # resource path
656
+ local_var_path = '/v2/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
657
+
658
+ # query parameters
659
+ query_params = opts[:query_params] || {}
660
+ query_params[:'runRuleEngine'] = opts[:'run_rule_engine'] if !opts[:'run_rule_engine'].nil?
661
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
662
+
663
+ # header parameters
664
+ header_params = opts[:header_params] || {}
665
+ # HTTP header 'Accept' (if needed)
666
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
667
+ # HTTP header 'Content-Type'
668
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
669
+
670
+ # form parameters
671
+ form_params = opts[:form_params] || {}
672
+
673
+ # http body (model)
674
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
675
+
676
+ # return_type
677
+ return_type = opts[:return_type] || 'IntegrationStateV2'
678
+
679
+ # auth_names
680
+ auth_names = opts[:auth_names] || ['api_key_v1']
681
+
682
+ new_options = opts.merge(
683
+ :header_params => header_params,
684
+ :query_params => query_params,
685
+ :form_params => form_params,
686
+ :body => post_body,
687
+ :auth_names => auth_names,
688
+ :return_type => return_type
689
+ )
690
+
691
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
692
+ if @api_client.config.debugging
693
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
694
+ end
695
+ return data, status_code, headers
696
+ end
697
+
698
+ # Update multiple Customer Profiles
699
+ # Update (or create) up to 1000 [Customer Profiles][] in 1 request. The `integrationId` may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the `integrationId`. It is vital that this ID **not** change over time, so **don't** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. [Customer Profiles]: /Getting-Started/entities#customer-profile
700
+ # @param body [MultipleCustomerProfileIntegrationRequest]
701
+ # @param [Hash] opts the optional parameters
702
+ # @option opts [String] :silent If set to &#39;yes&#39;, response will be an empty 204, otherwise a list of the IntegrationStateV2 generated.
703
+ # @return [MultipleCustomerProfileIntegrationResponseV2]
704
+ def update_customer_profiles_v2(body, opts = {})
705
+ data, _status_code, _headers = update_customer_profiles_v2_with_http_info(body, opts)
706
+ data
707
+ end
708
+
709
+ # Update multiple Customer Profiles
710
+ # Update (or create) up to 1000 [Customer Profiles][] in 1 request. The &#x60;integrationId&#x60; may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the &#x60;integrationId&#x60;. It is vital that this ID **not** change over time, so **don&#39;t** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. [Customer Profiles]: /Getting-Started/entities#customer-profile
711
+ # @param body [MultipleCustomerProfileIntegrationRequest]
712
+ # @param [Hash] opts the optional parameters
713
+ # @option opts [String] :silent If set to &#39;yes&#39;, response will be an empty 204, otherwise a list of the IntegrationStateV2 generated.
714
+ # @return [Array<(MultipleCustomerProfileIntegrationResponseV2, Integer, Hash)>] MultipleCustomerProfileIntegrationResponseV2 data, response status code and response headers
715
+ def update_customer_profiles_v2_with_http_info(body, opts = {})
716
+ if @api_client.config.debugging
717
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profiles_v2 ...'
718
+ end
719
+ # verify the required parameter 'body' is set
720
+ if @api_client.config.client_side_validation && body.nil?
721
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profiles_v2"
722
+ end
723
+ # resource path
724
+ local_var_path = '/v2/customer_profiles'
725
+
726
+ # query parameters
727
+ query_params = opts[:query_params] || {}
728
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
729
+
730
+ # header parameters
731
+ header_params = opts[:header_params] || {}
732
+ # HTTP header 'Accept' (if needed)
733
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
734
+ # HTTP header 'Content-Type'
735
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
736
+
737
+ # form parameters
738
+ form_params = opts[:form_params] || {}
739
+
740
+ # http body (model)
741
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
742
+
743
+ # return_type
744
+ return_type = opts[:return_type] || 'MultipleCustomerProfileIntegrationResponseV2'
745
+
746
+ # auth_names
747
+ auth_names = opts[:auth_names] || ['api_key_v1']
748
+
749
+ new_options = opts.merge(
750
+ :header_params => header_params,
751
+ :query_params => query_params,
752
+ :form_params => form_params,
753
+ :body => post_body,
754
+ :auth_names => auth_names,
755
+ :return_type => return_type
756
+ )
757
+
758
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
759
+ if @api_client.config.debugging
760
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profiles_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
761
+ end
762
+ return data, status_code, headers
763
+ end
764
+
765
+ # Update a Customer Session V1
766
+ # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, please migrate to [API V2.0](/Getting-Started/APIV2). Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID's. The `profileId` parameter in the request body should correspond to an `integrationId` for a customer profile, to track an anonymous session use the empty string (`\"\"`) as the `profileId`. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
767
+ # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
768
+ # @param body [NewCustomerSession]
769
+ # @param [Hash] opts the optional parameters
770
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
475
771
  # @return [IntegrationState]
476
772
  def update_customer_session(customer_session_id, body, opts = {})
477
773
  data, _status_code, _headers = update_customer_session_with_http_info(customer_session_id, body, opts)
478
774
  data
479
775
  end
480
776
 
481
- # Update a Customer Session
482
- # Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. The &#x60;profileId&#x60; parameter in the request body should correspond to an &#x60;integrationId&#x60; for a customer profile, to track an anonymous session use the empty string (&#x60;\&quot;\&quot;&#x60;) as the &#x60;profileId&#x60;. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
483
- # @param customer_session_id The custom identifier for this session, must be unique within the account.
484
- # @param body
777
+ # Update a Customer Session V1
778
+ # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, please migrate to [API V2.0](/Getting-Started/APIV2). Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. The &#x60;profileId&#x60; parameter in the request body should correspond to an &#x60;integrationId&#x60; for a customer profile, to track an anonymous session use the empty string (&#x60;\&quot;\&quot;&#x60;) as the &#x60;profileId&#x60;. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
779
+ # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
780
+ # @param body [NewCustomerSession]
485
781
  # @param [Hash] opts the optional parameters
486
- # @return [Array<(IntegrationState, Fixnum, Hash)>] IntegrationState data, response status code and response headers
782
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
783
+ # @return [Array<(IntegrationState, Integer, Hash)>] IntegrationState data, response status code and response headers
487
784
  def update_customer_session_with_http_info(customer_session_id, body, opts = {})
488
785
  if @api_client.config.debugging
489
786
  @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_session ...'
@@ -497,35 +794,118 @@ module TalonOne
497
794
  fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_session"
498
795
  end
499
796
  # resource path
500
- local_var_path = '/v1/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', customer_session_id.to_s)
797
+ local_var_path = '/v1/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
501
798
 
502
799
  # query parameters
503
- query_params = {}
800
+ query_params = opts[:query_params] || {}
801
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
504
802
 
505
803
  # header parameters
506
- header_params = {}
804
+ header_params = opts[:header_params] || {}
507
805
  # HTTP header 'Accept' (if needed)
508
806
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
509
807
  # HTTP header 'Content-Type'
510
808
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
511
809
 
512
810
  # form parameters
513
- form_params = {}
811
+ form_params = opts[:form_params] || {}
514
812
 
515
813
  # http body (model)
516
- post_body = @api_client.object_to_http_body(body)
517
- auth_names = ['api_key_v1', 'integration_auth']
518
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path,
814
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
815
+
816
+ # return_type
817
+ return_type = opts[:return_type] || 'IntegrationState'
818
+
819
+ # auth_names
820
+ auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
821
+
822
+ new_options = opts.merge(
519
823
  :header_params => header_params,
520
824
  :query_params => query_params,
521
825
  :form_params => form_params,
522
826
  :body => post_body,
523
827
  :auth_names => auth_names,
524
- :return_type => 'IntegrationState')
828
+ :return_type => return_type
829
+ )
830
+
831
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
525
832
  if @api_client.config.debugging
526
833
  @api_client.config.logger.debug "API called: IntegrationApi#update_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
527
834
  end
528
835
  return data, status_code, headers
529
836
  end
837
+
838
+ # Update a Customer Session
839
+ # Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID's. The `profileId` parameter in the request body should correspond to an `integrationId` for a customer profile, to track an anonymous session use the empty string (`\"\"`) as the `profileId`. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the requested integration state. This includes the effects that were generated due to triggered campaigns, the created coupons and referral objects, as well as any entity that was requested in the request parameter \"responseContent\". The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
840
+ # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
841
+ # @param body [IntegrationRequest]
842
+ # @param [Hash] opts the optional parameters
843
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
844
+ # @return [IntegrationStateV2]
845
+ def update_customer_session_v2(customer_session_id, body, opts = {})
846
+ data, _status_code, _headers = update_customer_session_v2_with_http_info(customer_session_id, body, opts)
847
+ data
848
+ end
849
+
850
+ # Update a Customer Session
851
+ # Update (or create) a [Customer Session][]. For example, the items in a customers cart are part of a session. The Talon.One platform supports multiple simultaneous sessions for the same profile, so if you have multiple ways of accessing the same application you have the option of either tracking multiple independent sessions or using the same session across all of them. You should share sessions when application access points share other state, such as the users cart. If two points of access to the application have independent state (e.g. a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. The &#x60;profileId&#x60; parameter in the request body should correspond to an &#x60;integrationId&#x60; for a customer profile, to track an anonymous session use the empty string (&#x60;\&quot;\&quot;&#x60;) as the &#x60;profileId&#x60;. Note that you do **not** need to create a customer profile first: if the specified profile does not yet exist, an empty profile will be created automatically. Updating a customer profile will return a response with the requested integration state. This includes the effects that were generated due to triggered campaigns, the created coupons and referral objects, as well as any entity that was requested in the request parameter \&quot;responseContent\&quot;. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated. [Customer Session]: /Getting-Started/entities#customer-session
852
+ # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
853
+ # @param body [IntegrationRequest]
854
+ # @param [Hash] opts the optional parameters
855
+ # @option opts [Boolean] :dry Flag to indicate whether to skip persisting the changes or not (Will not persist if set to &#39;true&#39;).
856
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
857
+ def update_customer_session_v2_with_http_info(customer_session_id, body, opts = {})
858
+ if @api_client.config.debugging
859
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_session_v2 ...'
860
+ end
861
+ # verify the required parameter 'customer_session_id' is set
862
+ if @api_client.config.client_side_validation && customer_session_id.nil?
863
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.update_customer_session_v2"
864
+ end
865
+ # verify the required parameter 'body' is set
866
+ if @api_client.config.client_side_validation && body.nil?
867
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_session_v2"
868
+ end
869
+ # resource path
870
+ local_var_path = '/v2/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
871
+
872
+ # query parameters
873
+ query_params = opts[:query_params] || {}
874
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
875
+
876
+ # header parameters
877
+ header_params = opts[:header_params] || {}
878
+ # HTTP header 'Accept' (if needed)
879
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
880
+ # HTTP header 'Content-Type'
881
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
882
+
883
+ # form parameters
884
+ form_params = opts[:form_params] || {}
885
+
886
+ # http body (model)
887
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
888
+
889
+ # return_type
890
+ return_type = opts[:return_type] || 'IntegrationStateV2'
891
+
892
+ # auth_names
893
+ auth_names = opts[:auth_names] || ['api_key_v1']
894
+
895
+ new_options = opts.merge(
896
+ :header_params => header_params,
897
+ :query_params => query_params,
898
+ :form_params => form_params,
899
+ :body => post_body,
900
+ :auth_names => auth_names,
901
+ :return_type => return_type
902
+ )
903
+
904
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
905
+ if @api_client.config.debugging
906
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_session_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
907
+ end
908
+ return data, status_code, headers
909
+ end
530
910
  end
531
911
  end