talon_one 1.2.0 → 2.1.1

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