talon_one 1.4.0 → 2.3.0

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