talon_one 2.4.0 → 2.5.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (846) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +43 -0
  3. data/README.md +198 -160
  4. data/docs/Account.md +3 -3
  5. data/docs/AccountAdditionalCost.md +6 -4
  6. data/docs/AccountAnalytics.md +20 -18
  7. data/docs/AccountEntity.md +1 -1
  8. data/docs/AddFreeItemEffectProps.md +1 -1
  9. data/docs/AddLoyaltyPointsEffectProps.md +17 -9
  10. data/docs/AdditionalCost.md +1 -1
  11. data/docs/Application.md +22 -18
  12. data/docs/ApplicationAPIKey.md +9 -9
  13. data/docs/ApplicationApiHealth.md +1 -1
  14. data/docs/ApplicationCustomer.md +10 -8
  15. data/docs/ApplicationCustomerEntity.md +1 -1
  16. data/docs/ApplicationEntity.md +1 -1
  17. data/docs/ApplicationEvent.md +4 -4
  18. data/docs/ApplicationNotification.md +17 -0
  19. data/docs/ApplicationReferee.md +1 -1
  20. data/docs/ApplicationSession.md +13 -11
  21. data/docs/AsyncCouponCreationResponse.md +17 -0
  22. data/docs/Attribute.md +10 -4
  23. data/docs/Audience.md +9 -9
  24. data/docs/BaseLoyaltyProgram.md +29 -0
  25. data/docs/Binding.md +6 -4
  26. data/docs/BulkApplicationNotification.md +19 -0
  27. data/docs/BulkCampaignNotification.md +19 -0
  28. data/docs/Campaign.md +26 -18
  29. data/docs/CampaignCollection.md +37 -0
  30. data/docs/CampaignCollectionWithoutPayload.md +35 -0
  31. data/docs/CampaignCopy.md +2 -2
  32. data/docs/CampaignCreatedNotification.md +17 -0
  33. data/docs/CampaignDeletedNotification.md +17 -0
  34. data/docs/CampaignEditedNotification.md +19 -0
  35. data/docs/CampaignEntity.md +1 -1
  36. data/docs/CampaignGroup.md +4 -4
  37. data/docs/CampaignNotification.md +17 -0
  38. data/docs/CampaignPrioritiesChangedNotification.md +21 -0
  39. data/docs/CampaignPrioritiesV2.md +21 -0
  40. data/docs/CampaignRulesetChangedNotification.md +21 -0
  41. data/docs/CampaignSet.md +3 -3
  42. data/docs/CampaignSetIDs.md +17 -0
  43. data/docs/CampaignSetV2.md +25 -0
  44. data/docs/CampaignStateChangedNotification.md +21 -0
  45. data/docs/CampaignTemplate.md +59 -0
  46. data/docs/CampaignTemplateCollection.md +19 -0
  47. data/docs/CampaignTemplateParams.md +21 -0
  48. data/docs/CartItem.md +20 -14
  49. data/docs/Catalog.md +33 -0
  50. data/docs/Change.md +2 -2
  51. data/docs/CodeGeneratorSettings.md +4 -4
  52. data/docs/Collection.md +39 -0
  53. data/docs/CollectionWithoutPayload.md +37 -0
  54. data/docs/Coupon.md +17 -15
  55. data/docs/CouponConstraints.md +3 -3
  56. data/docs/CouponCreationJob.md +57 -0
  57. data/docs/CouponLimitConfigs.md +17 -0
  58. data/docs/CouponRejectionReason.md +3 -3
  59. data/docs/CouponReservations.md +1 -1
  60. data/docs/CouponValue.md +2 -2
  61. data/docs/CreateApplicationAPIKey.md +4 -4
  62. data/docs/CreateTemplateCampaign.md +29 -0
  63. data/docs/CreateTemplateCampaignResponse.md +21 -0
  64. data/docs/CustomEffect.md +6 -6
  65. data/docs/CustomEffectProps.md +4 -2
  66. data/docs/CustomerActivityReport.md +2 -2
  67. data/docs/CustomerInventory.md +2 -2
  68. data/docs/CustomerProfile.md +11 -9
  69. data/docs/CustomerProfileAudienceRequestItem.md +6 -6
  70. data/docs/CustomerProfileIntegrationRequestV2.md +3 -3
  71. data/docs/CustomerProfileSearchQuery.md +1 -1
  72. data/docs/CustomerSession.md +10 -8
  73. data/docs/CustomerSessionV2.md +26 -20
  74. data/docs/DeductLoyaltyPointsEffectProps.md +5 -1
  75. data/docs/Effect.md +6 -6
  76. data/docs/EffectEntity.md +6 -6
  77. data/docs/EmailEntity.md +1 -1
  78. data/docs/Entity.md +2 -2
  79. data/docs/Environment.md +7 -5
  80. data/docs/ErrorResponseWithStatus.md +21 -0
  81. data/docs/Event.md +10 -10
  82. data/docs/EventType.md +4 -18
  83. data/docs/EventV2.md +21 -0
  84. data/docs/Export.md +3 -3
  85. data/docs/Giveaway.md +3 -3
  86. data/docs/GiveawaysPool.md +3 -3
  87. data/docs/Import.md +7 -7
  88. data/docs/InlineResponse20010.md +3 -3
  89. data/docs/InlineResponse20011.md +2 -4
  90. data/docs/InlineResponse20012.md +3 -3
  91. data/docs/InlineResponse20013.md +4 -2
  92. data/docs/InlineResponse20014.md +1 -1
  93. data/docs/InlineResponse20015.md +2 -2
  94. data/docs/InlineResponse20016.md +3 -3
  95. data/docs/InlineResponse20017.md +2 -2
  96. data/docs/InlineResponse20018.md +3 -3
  97. data/docs/InlineResponse20019.md +3 -5
  98. data/docs/InlineResponse20020.md +5 -3
  99. data/docs/InlineResponse20021.md +4 -2
  100. data/docs/InlineResponse20022.md +1 -1
  101. data/docs/InlineResponse20023.md +1 -1
  102. data/docs/InlineResponse20024.md +1 -1
  103. data/docs/InlineResponse20025.md +1 -1
  104. data/docs/InlineResponse20026.md +1 -1
  105. data/docs/InlineResponse20027.md +2 -4
  106. data/docs/InlineResponse20028.md +1 -1
  107. data/docs/InlineResponse20029.md +4 -2
  108. data/docs/InlineResponse20030.md +19 -0
  109. data/docs/InlineResponse20031.md +19 -0
  110. data/docs/InlineResponse2008.md +5 -3
  111. data/docs/InlineResponse2009.md +4 -2
  112. data/docs/IntegrationApi.md +462 -179
  113. data/docs/IntegrationCustomerSessionResponse.md +17 -0
  114. data/docs/IntegrationEntity.md +2 -2
  115. data/docs/IntegrationEvent.md +4 -4
  116. data/docs/IntegrationEventV2Request.md +23 -0
  117. data/docs/IntegrationProfileEntity.md +2 -2
  118. data/docs/IntegrationRequest.md +2 -2
  119. data/docs/IntegrationStateV2.md +6 -2
  120. data/docs/InventoryCoupon.md +19 -17
  121. data/docs/InventoryReferral.md +43 -0
  122. data/docs/LedgerEntry.md +6 -6
  123. data/docs/LedgerInfo.md +31 -0
  124. data/docs/LimitConfig.md +8 -6
  125. data/docs/LimitCounter.md +45 -0
  126. data/docs/LoginParams.md +2 -2
  127. data/docs/Loyalty.md +4 -2
  128. data/docs/LoyaltyCard.md +35 -0
  129. data/docs/LoyaltyCardProfileRegistration.md +19 -0
  130. data/docs/LoyaltyCardRegistration.md +17 -0
  131. data/docs/LoyaltyDashboardData.md +33 -0
  132. data/docs/LoyaltyDashboardPointsBreakdown.md +19 -0
  133. data/docs/LoyaltyLedger.md +1 -1
  134. data/docs/LoyaltyLedgerEntry.md +3 -1
  135. data/docs/LoyaltyMembership.md +1 -1
  136. data/docs/LoyaltyProgram.md +21 -13
  137. data/docs/LoyaltyProgramBalance.md +10 -10
  138. data/docs/LoyaltyProgramEntity.md +1 -1
  139. data/docs/LoyaltyProgramLedgers.md +5 -5
  140. data/docs/LoyaltyProjection.md +21 -0
  141. data/docs/LoyaltyProjectionData.md +23 -0
  142. data/docs/LoyaltyStatistics.md +16 -6
  143. data/docs/LoyaltySubLedger.md +13 -11
  144. data/docs/LoyaltyTier.md +5 -5
  145. data/docs/ManagementApi.md +1627 -1247
  146. data/docs/ModelReturn.md +37 -0
  147. data/docs/MultipleAttribute.md +17 -0
  148. data/docs/MultipleCustomerProfileIntegrationRequestItem.md +3 -3
  149. data/docs/MultipleNewAttribute.md +17 -0
  150. data/docs/MutableEntity.md +1 -1
  151. data/docs/NewAccountSignUp.md +2 -2
  152. data/docs/NewAdditionalCost.md +3 -1
  153. data/docs/NewApplication.md +18 -14
  154. data/docs/NewApplicationAPIKey.md +11 -11
  155. data/docs/NewAttribute.md +4 -0
  156. data/docs/NewAudience.md +6 -6
  157. data/docs/NewCampaign.md +14 -14
  158. data/docs/NewCampaignCollection.md +19 -0
  159. data/docs/NewCampaignSet.md +1 -1
  160. data/docs/NewCampaignSetV2.md +21 -0
  161. data/docs/NewCampaignTemplate.md +41 -0
  162. data/docs/NewCatalog.md +21 -0
  163. data/docs/NewCollection.md +21 -0
  164. data/docs/NewCouponCreationJob.md +29 -0
  165. data/docs/NewCoupons.md +12 -10
  166. data/docs/NewCouponsForMultipleRecipients.md +5 -5
  167. data/docs/NewCustomEffect.md +3 -3
  168. data/docs/NewCustomerProfile.md +1 -1
  169. data/docs/NewCustomerSession.md +5 -5
  170. data/docs/NewCustomerSessionV2.md +17 -15
  171. data/docs/NewEvent.md +5 -5
  172. data/docs/NewEventType.md +3 -17
  173. data/docs/NewInvitation.md +3 -3
  174. data/docs/NewLoyaltyProgram.md +16 -8
  175. data/docs/NewLoyaltyTier.md +2 -2
  176. data/docs/NewNotificationWebhook.md +19 -0
  177. data/docs/NewReferral.md +7 -7
  178. data/docs/NewReferralsForMultipleAdvocates.md +10 -10
  179. data/docs/NewReturn.md +17 -0
  180. data/docs/NewRole.md +2 -2
  181. data/docs/NewRuleset.md +4 -4
  182. data/docs/NewUser.md +3 -3
  183. data/docs/NotificationWebhook.md +27 -0
  184. data/docs/Referral.md +13 -13
  185. data/docs/ReferralConstraints.md +4 -4
  186. data/docs/ReturnIntegrationRequest.md +19 -0
  187. data/docs/ReturnedCartItem.md +19 -0
  188. data/docs/Role.md +5 -5
  189. data/docs/RollbackAddedLoyaltyPointsEffectProps.md +7 -1
  190. data/docs/RollbackDeductedLoyaltyPointsEffectProps.md +3 -1
  191. data/docs/RollbackDiscountEffectProps.md +12 -2
  192. data/docs/Rule.md +4 -4
  193. data/docs/RuleFailureReason.md +1 -1
  194. data/docs/Ruleset.md +10 -8
  195. data/docs/SamlConnection.md +2 -2
  196. data/docs/Session.md +3 -3
  197. data/docs/SetDiscountEffectProps.md +3 -1
  198. data/docs/SetDiscountPerAdditionalCostEffectProps.md +25 -0
  199. data/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +29 -0
  200. data/docs/SetDiscountPerItemEffectProps.md +13 -5
  201. data/docs/TemplateDef.md +3 -3
  202. data/docs/TemplateLimitConfig.md +23 -0
  203. data/docs/Tier.md +19 -0
  204. data/docs/UpdateApplication.md +19 -15
  205. data/docs/UpdateAudience.md +2 -2
  206. data/docs/UpdateCampaign.md +3 -3
  207. data/docs/UpdateCampaignCollection.md +17 -0
  208. data/docs/UpdateCampaignTemplate.md +45 -0
  209. data/docs/UpdateCatalog.md +21 -0
  210. data/docs/UpdateCollection.md +19 -0
  211. data/docs/UpdateCoupon.md +5 -3
  212. data/docs/UpdateCouponBatch.md +4 -4
  213. data/docs/UpdateCustomEffect.md +3 -3
  214. data/docs/UpdateLoyaltyCard.md +17 -0
  215. data/docs/UpdateLoyaltyProgram.md +10 -6
  216. data/docs/UpdateReferral.md +4 -4
  217. data/docs/UpdateReferralBatch.md +25 -0
  218. data/docs/UpdateRole.md +2 -2
  219. data/docs/User.md +12 -12
  220. data/docs/Webhook.md +3 -3
  221. data/lib/talon_one/api/integration_api.rb +561 -165
  222. data/lib/talon_one/api/management_api.rb +2256 -1674
  223. data/lib/talon_one/api_client.rb +1 -1
  224. data/lib/talon_one/api_error.rb +1 -1
  225. data/lib/talon_one/configuration.rb +1 -8
  226. data/lib/talon_one/models/accept_coupon_effect_props.rb +1 -1
  227. data/lib/talon_one/models/accept_referral_effect_props.rb +1 -1
  228. data/lib/talon_one/models/access_log_entry.rb +1 -1
  229. data/lib/talon_one/models/account.rb +1 -1
  230. data/lib/talon_one/models/account_additional_cost.rb +93 -5
  231. data/lib/talon_one/models/account_analytics.rb +21 -6
  232. data/lib/talon_one/models/account_entity.rb +1 -1
  233. data/lib/talon_one/models/account_limits.rb +1 -1
  234. data/lib/talon_one/models/add_free_item_effect_props.rb +1 -1
  235. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +73 -14
  236. data/lib/talon_one/models/additional_cost.rb +1 -1
  237. data/lib/talon_one/models/api_error.rb +1 -1
  238. data/lib/talon_one/models/application.rb +48 -12
  239. data/lib/talon_one/models/application_api_health.rb +1 -1
  240. data/lib/talon_one/models/application_api_key.rb +4 -4
  241. data/lib/talon_one/models/application_campaign_stats.rb +1 -1
  242. data/lib/talon_one/models/application_customer.rb +53 -9
  243. data/lib/talon_one/models/application_customer_entity.rb +1 -1
  244. data/lib/talon_one/models/application_entity.rb +1 -1
  245. data/lib/talon_one/models/application_event.rb +1 -1
  246. data/lib/talon_one/models/application_notification.rb +212 -0
  247. data/lib/talon_one/models/application_referee.rb +39 -1
  248. data/lib/talon_one/models/application_session.rb +55 -6
  249. data/lib/talon_one/models/application_session_entity.rb +1 -1
  250. data/lib/talon_one/models/async_coupon_creation_response.rb +212 -0
  251. data/lib/talon_one/models/attribute.rb +80 -5
  252. data/lib/talon_one/models/attributes_mandatory.rb +1 -1
  253. data/lib/talon_one/models/attributes_settings.rb +1 -1
  254. data/lib/talon_one/models/audience.rb +12 -51
  255. data/lib/talon_one/models/audience_membership.rb +1 -1
  256. data/lib/talon_one/models/award_giveaway_effect_props.rb +20 -1
  257. data/lib/talon_one/models/base_loyalty_program.rb +284 -0
  258. data/lib/talon_one/models/base_saml_connection.rb +1 -1
  259. data/lib/talon_one/models/binding.rb +16 -6
  260. data/lib/talon_one/models/{new_feature_flags.rb → bulk_application_notification.rb} +29 -29
  261. data/lib/talon_one/models/bulk_campaign_notification.rb +227 -0
  262. data/lib/talon_one/models/campaign.rb +53 -13
  263. data/lib/talon_one/models/campaign_analytics.rb +1 -1
  264. data/lib/talon_one/models/campaign_collection.rb +370 -0
  265. data/lib/talon_one/models/campaign_collection_without_payload.rb +358 -0
  266. data/lib/talon_one/models/campaign_copy.rb +3 -3
  267. data/lib/talon_one/models/campaign_created_notification.rb +212 -0
  268. data/lib/talon_one/models/campaign_deleted_notification.rb +212 -0
  269. data/lib/talon_one/models/campaign_edited_notification.rb +226 -0
  270. data/lib/talon_one/models/campaign_entity.rb +1 -1
  271. data/lib/talon_one/models/campaign_group.rb +1 -1
  272. data/lib/talon_one/models/campaign_group_entity.rb +1 -1
  273. data/lib/talon_one/models/campaign_notification.rb +212 -0
  274. data/lib/talon_one/models/campaign_priorities_changed_notification.rb +241 -0
  275. data/lib/talon_one/models/campaign_priorities_v2.rb +230 -0
  276. data/lib/talon_one/models/campaign_ruleset_changed_notification.rb +235 -0
  277. data/lib/talon_one/models/campaign_search.rb +1 -1
  278. data/lib/talon_one/models/campaign_set.rb +1 -1
  279. data/lib/talon_one/models/campaign_set_branch_node.rb +1 -1
  280. data/lib/talon_one/models/campaign_set_i_ds.rb +208 -0
  281. data/lib/talon_one/models/campaign_set_leaf_node.rb +1 -1
  282. data/lib/talon_one/models/campaign_set_node.rb +1 -1
  283. data/lib/talon_one/models/campaign_set_v2.rb +291 -0
  284. data/lib/talon_one/models/campaign_state_changed_notification.rb +242 -0
  285. data/lib/talon_one/models/campaign_template.rb +533 -0
  286. data/lib/talon_one/models/{update_loyalty_tier.rb → campaign_template_collection.rb} +30 -34
  287. data/lib/talon_one/models/campaign_template_params.rb +295 -0
  288. data/lib/talon_one/models/cart_item.rb +44 -7
  289. data/lib/talon_one/models/catalog.rb +330 -0
  290. data/lib/talon_one/models/change.rb +1 -1
  291. data/lib/talon_one/models/change_profile_password.rb +1 -1
  292. data/lib/talon_one/models/code_generator_settings.rb +3 -3
  293. data/lib/talon_one/models/collection.rb +382 -0
  294. data/lib/talon_one/models/collection_without_payload.rb +370 -0
  295. data/lib/talon_one/models/coupon.rb +35 -6
  296. data/lib/talon_one/models/coupon_constraints.rb +2 -2
  297. data/lib/talon_one/models/coupon_created_effect_props.rb +1 -1
  298. data/lib/talon_one/models/coupon_creation_job.rb +560 -0
  299. data/lib/talon_one/models/coupon_limit_configs.rb +209 -0
  300. data/lib/talon_one/models/coupon_rejection_reason.rb +1 -1
  301. data/lib/talon_one/models/coupon_reservations.rb +1 -1
  302. data/lib/talon_one/models/coupon_search.rb +1 -1
  303. data/lib/talon_one/models/coupon_value.rb +2 -2
  304. data/lib/talon_one/models/create_application_api_key.rb +4 -4
  305. data/lib/talon_one/models/create_template_campaign.rb +302 -0
  306. data/lib/talon_one/models/create_template_campaign_response.rb +236 -0
  307. data/lib/talon_one/models/custom_effect.rb +61 -14
  308. data/lib/talon_one/models/custom_effect_props.rb +26 -11
  309. data/lib/talon_one/models/customer_activity_report.rb +20 -1
  310. data/lib/talon_one/models/customer_analytics.rb +1 -1
  311. data/lib/talon_one/models/customer_inventory.rb +3 -2
  312. data/lib/talon_one/models/customer_profile.rb +49 -15
  313. data/lib/talon_one/models/customer_profile_audience_request.rb +1 -1
  314. data/lib/talon_one/models/customer_profile_audience_request_item.rb +23 -1
  315. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +2 -2
  316. data/lib/talon_one/models/customer_profile_search_query.rb +2 -2
  317. data/lib/talon_one/models/customer_session.rb +44 -10
  318. data/lib/talon_one/models/customer_session_v2.rb +87 -26
  319. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +30 -5
  320. data/lib/talon_one/models/effect.rb +1 -1
  321. data/lib/talon_one/models/effect_entity.rb +1 -1
  322. data/lib/talon_one/models/email_entity.rb +1 -1
  323. data/lib/talon_one/models/entity.rb +1 -1
  324. data/lib/talon_one/models/entity_with_talang_visible_id.rb +1 -1
  325. data/lib/talon_one/models/environment.rb +21 -8
  326. data/lib/talon_one/models/error_effect_props.rb +1 -1
  327. data/lib/talon_one/models/error_response.rb +1 -1
  328. data/lib/talon_one/models/error_response_with_status.rb +228 -0
  329. data/lib/talon_one/models/error_source.rb +1 -1
  330. data/lib/talon_one/models/event.rb +3 -3
  331. data/lib/talon_one/models/event_type.rb +5 -148
  332. data/lib/talon_one/models/event_v2.rb +252 -0
  333. data/lib/talon_one/models/export.rb +3 -3
  334. data/lib/talon_one/models/feature_flag.rb +1 -1
  335. data/lib/talon_one/models/features_feed.rb +1 -1
  336. data/lib/talon_one/models/feed_notification.rb +1 -1
  337. data/lib/talon_one/models/func_arg_def.rb +1 -1
  338. data/lib/talon_one/models/function_def.rb +1 -1
  339. data/lib/talon_one/models/giveaway.rb +2 -2
  340. data/lib/talon_one/models/giveaways_pool.rb +1 -1
  341. data/lib/talon_one/models/import.rb +3 -3
  342. data/lib/talon_one/models/import_entity.rb +1 -1
  343. data/lib/talon_one/models/inline_response200.rb +1 -1
  344. data/lib/talon_one/models/inline_response2001.rb +1 -1
  345. data/lib/talon_one/models/inline_response20010.rb +12 -12
  346. data/lib/talon_one/models/inline_response20011.rb +8 -12
  347. data/lib/talon_one/models/inline_response20012.rb +12 -12
  348. data/lib/talon_one/models/inline_response20013.rb +12 -8
  349. data/lib/talon_one/models/inline_response20014.rb +2 -2
  350. data/lib/talon_one/models/inline_response20015.rb +7 -2
  351. data/lib/talon_one/models/inline_response20016.rb +12 -12
  352. data/lib/talon_one/models/inline_response20017.rb +2 -7
  353. data/lib/talon_one/models/inline_response20018.rb +12 -12
  354. data/lib/talon_one/models/inline_response20019.rb +8 -12
  355. data/lib/talon_one/models/inline_response2002.rb +1 -1
  356. data/lib/talon_one/models/inline_response20020.rb +12 -8
  357. data/lib/talon_one/models/inline_response20021.rb +17 -3
  358. data/lib/talon_one/models/inline_response20022.rb +2 -2
  359. data/lib/talon_one/models/inline_response20023.rb +2 -2
  360. data/lib/talon_one/models/inline_response20024.rb +2 -2
  361. data/lib/talon_one/models/inline_response20025.rb +2 -2
  362. data/lib/talon_one/models/inline_response20026.rb +2 -2
  363. data/lib/talon_one/models/inline_response20027.rb +8 -12
  364. data/lib/talon_one/models/inline_response20028.rb +2 -2
  365. data/lib/talon_one/models/inline_response20029.rb +12 -8
  366. data/lib/talon_one/models/inline_response2003.rb +1 -1
  367. data/lib/talon_one/models/inline_response20030.rb +227 -0
  368. data/lib/talon_one/models/inline_response20031.rb +227 -0
  369. data/lib/talon_one/models/inline_response2004.rb +1 -1
  370. data/lib/talon_one/models/inline_response2005.rb +1 -1
  371. data/lib/talon_one/models/inline_response2006.rb +1 -1
  372. data/lib/talon_one/models/inline_response2007.rb +1 -1
  373. data/lib/talon_one/models/inline_response2008.rb +12 -8
  374. data/lib/talon_one/models/inline_response2009.rb +12 -8
  375. data/lib/talon_one/models/inline_response201.rb +1 -1
  376. data/lib/talon_one/models/integration_customer_session_response.rb +206 -0
  377. data/lib/talon_one/models/integration_entity.rb +20 -1
  378. data/lib/talon_one/models/integration_event.rb +2 -2
  379. data/lib/talon_one/models/integration_event_v2_request.rb +286 -0
  380. data/lib/talon_one/models/integration_profile_entity.rb +2 -2
  381. data/lib/talon_one/models/integration_request.rb +2 -2
  382. data/lib/talon_one/models/integration_state.rb +1 -1
  383. data/lib/talon_one/models/integration_state_v2.rb +26 -6
  384. data/lib/talon_one/models/inventory_coupon.rb +36 -7
  385. data/lib/talon_one/models/inventory_referral.rb +446 -0
  386. data/lib/talon_one/models/ledger_entry.rb +2 -2
  387. data/lib/talon_one/models/ledger_info.rb +301 -0
  388. data/lib/talon_one/models/library_attribute.rb +1 -1
  389. data/lib/talon_one/models/limit_config.rb +27 -5
  390. data/lib/talon_one/models/limit_counter.rb +398 -0
  391. data/lib/talon_one/models/login_params.rb +1 -1
  392. data/lib/talon_one/models/loyalty.rb +15 -3
  393. data/lib/talon_one/models/loyalty_card.rb +350 -0
  394. data/lib/talon_one/models/loyalty_card_profile_registration.rb +246 -0
  395. data/lib/talon_one/models/loyalty_card_registration.rb +212 -0
  396. data/lib/talon_one/models/loyalty_dashboard_data.rb +331 -0
  397. data/lib/talon_one/models/loyalty_dashboard_points_breakdown.rb +225 -0
  398. data/lib/talon_one/models/loyalty_ledger.rb +3 -3
  399. data/lib/talon_one/models/loyalty_ledger_entry.rb +11 -7
  400. data/lib/talon_one/models/loyalty_membership.rb +1 -1
  401. data/lib/talon_one/models/loyalty_points.rb +6 -6
  402. data/lib/talon_one/models/loyalty_program.rb +124 -33
  403. data/lib/talon_one/models/loyalty_program_balance.rb +6 -6
  404. data/lib/talon_one/models/loyalty_program_entity.rb +1 -1
  405. data/lib/talon_one/models/loyalty_program_ledgers.rb +4 -4
  406. data/lib/talon_one/models/loyalty_projection.rb +239 -0
  407. data/lib/talon_one/models/loyalty_projection_data.rb +257 -0
  408. data/lib/talon_one/models/loyalty_statistics.rb +82 -9
  409. data/lib/talon_one/models/loyalty_sub_ledger.rb +25 -16
  410. data/lib/talon_one/models/loyalty_tier.rb +6 -6
  411. data/lib/talon_one/models/manager_config.rb +1 -1
  412. data/lib/talon_one/models/meta.rb +1 -1
  413. data/lib/talon_one/models/model_return.rb +384 -0
  414. data/lib/talon_one/models/multi_application_entity.rb +1 -1
  415. data/lib/talon_one/models/{application_customer_search.rb → multiple_attribute.rb} +10 -31
  416. data/lib/talon_one/models/multiple_customer_profile_integration_request.rb +1 -1
  417. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +21 -2
  418. data/lib/talon_one/models/multiple_customer_profile_integration_response_v2.rb +1 -1
  419. data/lib/talon_one/models/multiple_new_attribute.rb +208 -0
  420. data/lib/talon_one/models/mutable_entity.rb +1 -1
  421. data/lib/talon_one/models/new_account.rb +1 -1
  422. data/lib/talon_one/models/new_account_sign_up.rb +1 -1
  423. data/lib/talon_one/models/new_additional_cost.rb +93 -5
  424. data/lib/talon_one/models/new_application.rb +48 -12
  425. data/lib/talon_one/models/new_application_api_key.rb +5 -5
  426. data/lib/talon_one/models/new_attribute.rb +68 -2
  427. data/lib/talon_one/models/new_audience.rb +12 -51
  428. data/lib/talon_one/models/new_campaign.rb +8 -8
  429. data/lib/talon_one/models/new_campaign_collection.rb +253 -0
  430. data/lib/talon_one/models/new_campaign_group.rb +1 -1
  431. data/lib/talon_one/models/new_campaign_set.rb +1 -1
  432. data/lib/talon_one/models/new_campaign_set_v2.rb +261 -0
  433. data/lib/talon_one/models/new_campaign_template.rb +408 -0
  434. data/lib/talon_one/models/{feature_flags.rb → new_catalog.rb} +36 -39
  435. data/lib/talon_one/models/new_collection.rb +265 -0
  436. data/lib/talon_one/models/new_coupon_creation_job.rb +353 -0
  437. data/lib/talon_one/models/new_coupons.rb +33 -6
  438. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +4 -4
  439. data/lib/talon_one/models/new_custom_effect.rb +62 -14
  440. data/lib/talon_one/models/new_customer_profile.rb +1 -1
  441. data/lib/talon_one/models/new_customer_session.rb +6 -6
  442. data/lib/talon_one/models/new_customer_session_v2.rb +24 -12
  443. data/lib/talon_one/models/new_event.rb +2 -2
  444. data/lib/talon_one/models/new_event_type.rb +5 -148
  445. data/lib/talon_one/models/new_giveaways_pool.rb +1 -1
  446. data/lib/talon_one/models/new_invitation.rb +2 -2
  447. data/lib/talon_one/models/new_invite_email.rb +1 -1
  448. data/lib/talon_one/models/new_loyalty_program.rb +109 -21
  449. data/lib/talon_one/models/new_loyalty_tier.rb +7 -7
  450. data/lib/talon_one/models/new_notification_webhook.rb +229 -0
  451. data/lib/talon_one/models/new_password.rb +1 -1
  452. data/lib/talon_one/models/new_password_email.rb +1 -1
  453. data/lib/talon_one/models/new_referral.rb +21 -2
  454. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +4 -4
  455. data/lib/talon_one/models/new_return.rb +214 -0
  456. data/lib/talon_one/models/new_role.rb +12 -12
  457. data/lib/talon_one/models/new_ruleset.rb +3 -3
  458. data/lib/talon_one/models/new_saml_connection.rb +1 -1
  459. data/lib/talon_one/models/new_template_def.rb +1 -1
  460. data/lib/talon_one/models/new_user.rb +1 -1
  461. data/lib/talon_one/models/new_webhook.rb +22 -1
  462. data/lib/talon_one/models/notification.rb +1 -1
  463. data/lib/talon_one/models/notification_webhook.rb +290 -0
  464. data/lib/talon_one/models/profile_audiences_changes.rb +1 -1
  465. data/lib/talon_one/models/redeem_referral_effect_props.rb +1 -1
  466. data/lib/talon_one/models/referral.rb +22 -3
  467. data/lib/talon_one/models/referral_constraints.rb +2 -2
  468. data/lib/talon_one/models/referral_created_effect_props.rb +1 -1
  469. data/lib/talon_one/models/referral_rejection_reason.rb +1 -1
  470. data/lib/talon_one/models/reject_coupon_effect_props.rb +1 -1
  471. data/lib/talon_one/models/reject_referral_effect_props.rb +1 -1
  472. data/lib/talon_one/models/return_integration_request.rb +246 -0
  473. data/lib/talon_one/models/returned_cart_item.rb +222 -0
  474. data/lib/talon_one/models/role.rb +2 -2
  475. data/lib/talon_one/models/role_assign.rb +1 -1
  476. data/lib/talon_one/models/role_membership.rb +1 -1
  477. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +54 -5
  478. data/lib/talon_one/models/rollback_coupon_effect_props.rb +1 -1
  479. data/lib/talon_one/models/rollback_deducted_loyalty_points_effect_props.rb +34 -5
  480. data/lib/talon_one/models/rollback_discount_effect_props.rb +57 -7
  481. data/lib/talon_one/models/rollback_referral_effect_props.rb +1 -1
  482. data/lib/talon_one/models/rule.rb +1 -1
  483. data/lib/talon_one/models/rule_failure_reason.rb +2 -2
  484. data/lib/talon_one/models/ruleset.rb +24 -19
  485. data/lib/talon_one/models/saml_connection.rb +1 -1
  486. data/lib/talon_one/models/saml_connection_metadata.rb +1 -1
  487. data/lib/talon_one/models/saml_login_endpoint.rb +1 -1
  488. data/lib/talon_one/models/session.rb +2 -2
  489. data/lib/talon_one/models/set_discount_effect_props.rb +15 -5
  490. data/lib/talon_one/models/set_discount_per_additional_cost_effect_props.rb +268 -0
  491. data/lib/talon_one/models/set_discount_per_additional_cost_per_item_effect_props.rb +293 -0
  492. data/lib/talon_one/models/set_discount_per_item_effect_props.rb +50 -10
  493. data/lib/talon_one/models/show_bundle_metadata_effect_props.rb +1 -1
  494. data/lib/talon_one/models/show_notification_effect_props.rb +1 -1
  495. data/lib/talon_one/models/slot_def.rb +1 -1
  496. data/lib/talon_one/models/template_arg_def.rb +1 -1
  497. data/lib/talon_one/models/template_def.rb +1 -1
  498. data/lib/talon_one/models/template_limit_config.rb +308 -0
  499. data/lib/talon_one/models/tier.rb +227 -0
  500. data/lib/talon_one/models/trigger_webhook_effect_props.rb +1 -1
  501. data/lib/talon_one/models/update_account.rb +1 -1
  502. data/lib/talon_one/models/update_application.rb +51 -15
  503. data/lib/talon_one/models/update_attribute_effect_props.rb +1 -1
  504. data/lib/talon_one/models/update_audience.rb +2 -2
  505. data/lib/talon_one/models/update_campaign.rb +4 -4
  506. data/lib/talon_one/models/update_campaign_collection.rb +207 -0
  507. data/lib/talon_one/models/update_campaign_group.rb +1 -1
  508. data/lib/talon_one/models/update_campaign_template.rb +435 -0
  509. data/lib/talon_one/models/update_catalog.rb +229 -0
  510. data/lib/talon_one/models/update_collection.rb +219 -0
  511. data/lib/talon_one/models/update_coupon.rb +30 -3
  512. data/lib/talon_one/models/update_coupon_batch.rb +2 -7
  513. data/lib/talon_one/models/update_custom_effect.rb +61 -14
  514. data/lib/talon_one/models/update_loyalty_card.rb +212 -0
  515. data/lib/talon_one/models/update_loyalty_program.rb +43 -6
  516. data/lib/talon_one/models/update_referral.rb +16 -1
  517. data/lib/talon_one/models/update_referral_batch.rb +276 -0
  518. data/lib/talon_one/models/update_role.rb +9 -9
  519. data/lib/talon_one/models/update_user.rb +1 -1
  520. data/lib/talon_one/models/update_user_latest_feed_timestamp.rb +1 -1
  521. data/lib/talon_one/models/user.rb +1 -1
  522. data/lib/talon_one/models/user_entity.rb +1 -1
  523. data/lib/talon_one/models/user_feed_notifications.rb +1 -1
  524. data/lib/talon_one/models/webhook.rb +22 -1
  525. data/lib/talon_one/models/webhook_activation_log_entry.rb +1 -1
  526. data/lib/talon_one/models/webhook_log_entry.rb +1 -1
  527. data/lib/talon_one/models/will_award_giveaway_effect_props.rb +20 -1
  528. data/lib/talon_one/version.rb +2 -2
  529. data/lib/talon_one.rb +68 -5
  530. data/spec/api/integration_api_spec.rb +129 -54
  531. data/spec/api/management_api_spec.rb +526 -459
  532. data/spec/api_client_spec.rb +1 -1
  533. data/spec/configuration_spec.rb +1 -1
  534. data/spec/models/accept_coupon_effect_props_spec.rb +1 -1
  535. data/spec/models/accept_referral_effect_props_spec.rb +1 -1
  536. data/spec/models/access_log_entry_spec.rb +1 -1
  537. data/spec/models/account_additional_cost_spec.rb +11 -1
  538. data/spec/models/account_analytics_spec.rb +7 -1
  539. data/spec/models/account_entity_spec.rb +1 -1
  540. data/spec/models/account_limits_spec.rb +1 -1
  541. data/spec/models/account_spec.rb +1 -1
  542. data/spec/models/add_free_item_effect_props_spec.rb +1 -1
  543. data/spec/models/add_loyalty_points_effect_props_spec.rb +25 -1
  544. data/spec/models/additional_cost_spec.rb +1 -1
  545. data/spec/models/api_error_spec.rb +1 -1
  546. data/spec/models/application_api_health_spec.rb +1 -1
  547. data/spec/models/application_api_key_spec.rb +2 -2
  548. data/spec/models/application_campaign_stats_spec.rb +1 -1
  549. data/spec/models/application_customer_entity_spec.rb +1 -1
  550. data/spec/models/application_customer_spec.rb +7 -1
  551. data/spec/models/application_entity_spec.rb +1 -1
  552. data/spec/models/application_event_spec.rb +1 -1
  553. data/spec/models/application_notification_spec.rb +41 -0
  554. data/spec/models/application_referee_spec.rb +1 -1
  555. data/spec/models/application_session_entity_spec.rb +1 -1
  556. data/spec/models/application_session_spec.rb +8 -2
  557. data/spec/models/application_spec.rb +17 -1
  558. data/spec/models/async_coupon_creation_response_spec.rb +41 -0
  559. data/spec/models/attribute_spec.rb +19 -1
  560. data/spec/models/attributes_mandatory_spec.rb +1 -1
  561. data/spec/models/attributes_settings_spec.rb +1 -1
  562. data/spec/models/audience_membership_spec.rb +1 -1
  563. data/spec/models/audience_spec.rb +1 -5
  564. data/spec/models/award_giveaway_effect_props_spec.rb +1 -1
  565. data/spec/models/base_loyalty_program_spec.rb +77 -0
  566. data/spec/models/base_saml_connection_spec.rb +1 -1
  567. data/spec/models/binding_spec.rb +7 -1
  568. data/spec/models/bulk_application_notification_spec.rb +47 -0
  569. data/spec/models/bulk_campaign_notification_spec.rb +47 -0
  570. data/spec/models/campaign_analytics_spec.rb +1 -1
  571. data/spec/models/campaign_collection_spec.rb +101 -0
  572. data/spec/models/campaign_collection_without_payload_spec.rb +95 -0
  573. data/spec/models/campaign_copy_spec.rb +1 -1
  574. data/spec/models/campaign_created_notification_spec.rb +41 -0
  575. data/spec/models/campaign_deleted_notification_spec.rb +41 -0
  576. data/spec/models/campaign_edited_notification_spec.rb +47 -0
  577. data/spec/models/campaign_entity_spec.rb +1 -1
  578. data/spec/models/campaign_group_entity_spec.rb +1 -1
  579. data/spec/models/campaign_group_spec.rb +1 -1
  580. data/spec/models/campaign_notification_spec.rb +41 -0
  581. data/spec/models/campaign_priorities_changed_notification_spec.rb +53 -0
  582. data/spec/models/campaign_priorities_v2_spec.rb +53 -0
  583. data/spec/models/campaign_ruleset_changed_notification_spec.rb +53 -0
  584. data/spec/models/campaign_search_spec.rb +1 -1
  585. data/spec/models/campaign_set_branch_node_spec.rb +1 -1
  586. data/spec/models/campaign_set_i_ds_spec.rb +41 -0
  587. data/spec/models/campaign_set_leaf_node_spec.rb +1 -1
  588. data/spec/models/campaign_set_node_spec.rb +1 -1
  589. data/spec/models/campaign_set_spec.rb +1 -1
  590. data/spec/models/campaign_set_v2_spec.rb +65 -0
  591. data/spec/models/campaign_spec.rb +25 -1
  592. data/spec/models/campaign_state_changed_notification_spec.rb +53 -0
  593. data/spec/models/campaign_template_collection_spec.rb +47 -0
  594. data/spec/models/campaign_template_params_spec.rb +57 -0
  595. data/spec/models/campaign_template_spec.rb +175 -0
  596. data/spec/models/cart_item_spec.rb +19 -1
  597. data/spec/models/catalog_spec.rb +89 -0
  598. data/spec/models/change_profile_password_spec.rb +1 -1
  599. data/spec/models/change_spec.rb +1 -1
  600. data/spec/models/code_generator_settings_spec.rb +1 -1
  601. data/spec/models/collection_spec.rb +107 -0
  602. data/spec/models/collection_without_payload_spec.rb +101 -0
  603. data/spec/models/coupon_constraints_spec.rb +1 -1
  604. data/spec/models/coupon_created_effect_props_spec.rb +1 -1
  605. data/spec/models/coupon_creation_job_spec.rb +161 -0
  606. data/spec/models/coupon_limit_configs_spec.rb +41 -0
  607. data/spec/models/coupon_rejection_reason_spec.rb +1 -1
  608. data/spec/models/coupon_reservations_spec.rb +1 -1
  609. data/spec/models/coupon_search_spec.rb +1 -1
  610. data/spec/models/coupon_spec.rb +7 -1
  611. data/spec/models/coupon_value_spec.rb +1 -1
  612. data/spec/models/create_application_api_key_spec.rb +2 -2
  613. data/spec/models/create_template_campaign_response_spec.rb +53 -0
  614. data/spec/models/create_template_campaign_spec.rb +77 -0
  615. data/spec/models/custom_effect_props_spec.rb +8 -2
  616. data/spec/models/custom_effect_spec.rb +7 -7
  617. data/spec/models/customer_activity_report_spec.rb +1 -1
  618. data/spec/models/customer_analytics_spec.rb +1 -1
  619. data/spec/models/customer_inventory_spec.rb +1 -1
  620. data/spec/models/customer_profile_audience_request_item_spec.rb +1 -1
  621. data/spec/models/customer_profile_audience_request_spec.rb +1 -1
  622. data/spec/models/customer_profile_integration_request_v2_spec.rb +1 -1
  623. data/spec/models/customer_profile_search_query_spec.rb +1 -1
  624. data/spec/models/customer_profile_spec.rb +8 -2
  625. data/spec/models/customer_session_spec.rb +8 -2
  626. data/spec/models/customer_session_v2_spec.rb +21 -3
  627. data/spec/models/deduct_loyalty_points_effect_props_spec.rb +13 -1
  628. data/spec/models/effect_entity_spec.rb +1 -1
  629. data/spec/models/effect_spec.rb +1 -1
  630. data/spec/models/email_entity_spec.rb +1 -1
  631. data/spec/models/entity_spec.rb +1 -1
  632. data/spec/models/entity_with_talang_visible_id_spec.rb +1 -1
  633. data/spec/models/environment_spec.rb +8 -2
  634. data/spec/models/error_effect_props_spec.rb +1 -1
  635. data/spec/models/error_response_spec.rb +1 -1
  636. data/spec/models/error_response_with_status_spec.rb +53 -0
  637. data/spec/models/error_source_spec.rb +1 -1
  638. data/spec/models/event_spec.rb +1 -1
  639. data/spec/models/event_type_spec.rb +1 -51
  640. data/spec/models/event_v2_spec.rb +53 -0
  641. data/spec/models/export_spec.rb +2 -2
  642. data/spec/models/feature_flag_spec.rb +1 -1
  643. data/spec/models/features_feed_spec.rb +1 -1
  644. data/spec/models/feed_notification_spec.rb +1 -1
  645. data/spec/models/func_arg_def_spec.rb +1 -1
  646. data/spec/models/function_def_spec.rb +1 -1
  647. data/spec/models/giveaway_spec.rb +1 -1
  648. data/spec/models/giveaways_pool_spec.rb +1 -1
  649. data/spec/models/import_entity_spec.rb +1 -1
  650. data/spec/models/import_spec.rb +1 -1
  651. data/spec/models/inline_response20010_spec.rb +2 -2
  652. data/spec/models/inline_response20011_spec.rb +1 -7
  653. data/spec/models/inline_response20012_spec.rb +2 -2
  654. data/spec/models/inline_response20013_spec.rb +7 -1
  655. data/spec/models/inline_response20014_spec.rb +1 -1
  656. data/spec/models/inline_response20015_spec.rb +1 -1
  657. data/spec/models/inline_response20016_spec.rb +2 -2
  658. data/spec/models/inline_response20017_spec.rb +1 -1
  659. data/spec/models/inline_response20018_spec.rb +2 -2
  660. data/spec/models/inline_response20019_spec.rb +1 -7
  661. data/spec/models/inline_response2001_spec.rb +1 -1
  662. data/spec/models/inline_response20020_spec.rb +7 -1
  663. data/spec/models/inline_response20021_spec.rb +7 -1
  664. data/spec/models/inline_response20022_spec.rb +1 -1
  665. data/spec/models/inline_response20023_spec.rb +1 -1
  666. data/spec/models/inline_response20024_spec.rb +1 -1
  667. data/spec/models/inline_response20025_spec.rb +1 -1
  668. data/spec/models/inline_response20026_spec.rb +1 -1
  669. data/spec/models/inline_response20027_spec.rb +1 -7
  670. data/spec/models/inline_response20028_spec.rb +1 -1
  671. data/spec/models/inline_response20029_spec.rb +7 -1
  672. data/spec/models/inline_response2002_spec.rb +1 -1
  673. data/spec/models/inline_response20030_spec.rb +47 -0
  674. data/spec/models/inline_response20031_spec.rb +47 -0
  675. data/spec/models/inline_response2003_spec.rb +1 -1
  676. data/spec/models/inline_response2004_spec.rb +1 -1
  677. data/spec/models/inline_response2005_spec.rb +1 -1
  678. data/spec/models/inline_response2006_spec.rb +1 -1
  679. data/spec/models/inline_response2007_spec.rb +1 -1
  680. data/spec/models/inline_response2008_spec.rb +7 -1
  681. data/spec/models/inline_response2009_spec.rb +7 -1
  682. data/spec/models/inline_response200_spec.rb +1 -1
  683. data/spec/models/inline_response201_spec.rb +1 -1
  684. data/spec/models/integration_customer_session_response_spec.rb +41 -0
  685. data/spec/models/integration_entity_spec.rb +1 -1
  686. data/spec/models/integration_event_spec.rb +1 -1
  687. data/spec/models/integration_event_v2_request_spec.rb +63 -0
  688. data/spec/models/integration_profile_entity_spec.rb +1 -1
  689. data/spec/models/integration_request_spec.rb +2 -2
  690. data/spec/models/integration_state_spec.rb +1 -1
  691. data/spec/models/integration_state_v2_spec.rb +13 -1
  692. data/spec/models/inventory_coupon_spec.rb +7 -1
  693. data/spec/models/inventory_referral_spec.rb +119 -0
  694. data/spec/models/ledger_entry_spec.rb +1 -1
  695. data/spec/models/ledger_info_spec.rb +83 -0
  696. data/spec/models/library_attribute_spec.rb +1 -1
  697. data/spec/models/limit_config_spec.rb +11 -1
  698. data/spec/models/limit_counter_spec.rb +125 -0
  699. data/spec/models/login_params_spec.rb +1 -1
  700. data/spec/models/loyalty_card_profile_registration_spec.rb +47 -0
  701. data/spec/models/loyalty_card_registration_spec.rb +41 -0
  702. data/spec/models/loyalty_card_spec.rb +95 -0
  703. data/spec/models/loyalty_dashboard_data_spec.rb +89 -0
  704. data/spec/models/loyalty_dashboard_points_breakdown_spec.rb +47 -0
  705. data/spec/models/loyalty_ledger_entry_spec.rb +7 -1
  706. data/spec/models/loyalty_ledger_spec.rb +1 -1
  707. data/spec/models/loyalty_membership_spec.rb +1 -1
  708. data/spec/models/loyalty_points_spec.rb +1 -1
  709. data/spec/models/loyalty_program_balance_spec.rb +1 -1
  710. data/spec/models/loyalty_program_entity_spec.rb +1 -1
  711. data/spec/models/loyalty_program_ledgers_spec.rb +1 -1
  712. data/spec/models/loyalty_program_spec.rb +32 -8
  713. data/spec/models/loyalty_projection_data_spec.rb +59 -0
  714. data/spec/models/loyalty_projection_spec.rb +53 -0
  715. data/spec/models/loyalty_spec.rb +7 -1
  716. data/spec/models/loyalty_statistics_spec.rb +31 -1
  717. data/spec/models/loyalty_sub_ledger_spec.rb +7 -1
  718. data/spec/models/loyalty_tier_spec.rb +1 -1
  719. data/spec/models/manager_config_spec.rb +1 -1
  720. data/spec/models/meta_spec.rb +1 -1
  721. data/spec/models/model_return_spec.rb +101 -0
  722. data/spec/models/multi_application_entity_spec.rb +1 -1
  723. data/spec/models/multiple_attribute_spec.rb +41 -0
  724. data/spec/models/multiple_customer_profile_integration_request_item_spec.rb +1 -1
  725. data/spec/models/multiple_customer_profile_integration_request_spec.rb +1 -1
  726. data/spec/models/multiple_customer_profile_integration_response_v2_spec.rb +1 -1
  727. data/spec/models/multiple_new_attribute_spec.rb +41 -0
  728. data/spec/models/mutable_entity_spec.rb +1 -1
  729. data/spec/models/new_account_sign_up_spec.rb +1 -1
  730. data/spec/models/new_account_spec.rb +1 -1
  731. data/spec/models/new_additional_cost_spec.rb +11 -1
  732. data/spec/models/new_application_api_key_spec.rb +2 -2
  733. data/spec/models/new_application_spec.rb +17 -1
  734. data/spec/models/new_attribute_spec.rb +13 -1
  735. data/spec/models/new_audience_spec.rb +1 -5
  736. data/spec/models/new_campaign_collection_spec.rb +47 -0
  737. data/spec/models/new_campaign_group_spec.rb +1 -1
  738. data/spec/models/new_campaign_set_spec.rb +1 -1
  739. data/spec/models/new_campaign_set_v2_spec.rb +53 -0
  740. data/spec/models/new_campaign_spec.rb +1 -1
  741. data/spec/models/new_campaign_template_spec.rb +121 -0
  742. data/spec/models/new_catalog_spec.rb +53 -0
  743. data/spec/models/new_collection_spec.rb +53 -0
  744. data/spec/models/new_coupon_creation_job_spec.rb +77 -0
  745. data/spec/models/new_coupons_for_multiple_recipients_spec.rb +1 -1
  746. data/spec/models/new_coupons_spec.rb +7 -1
  747. data/spec/models/new_custom_effect_spec.rb +7 -7
  748. data/spec/models/new_customer_profile_spec.rb +1 -1
  749. data/spec/models/new_customer_session_spec.rb +2 -2
  750. data/spec/models/new_customer_session_v2_spec.rb +8 -2
  751. data/spec/models/new_event_spec.rb +1 -1
  752. data/spec/models/new_event_type_spec.rb +1 -51
  753. data/spec/models/new_giveaways_pool_spec.rb +1 -1
  754. data/spec/models/new_invitation_spec.rb +1 -1
  755. data/spec/models/new_invite_email_spec.rb +1 -1
  756. data/spec/models/new_loyalty_program_spec.rb +31 -7
  757. data/spec/models/new_loyalty_tier_spec.rb +1 -1
  758. data/spec/models/new_notification_webhook_spec.rb +47 -0
  759. data/spec/models/new_password_email_spec.rb +1 -1
  760. data/spec/models/new_password_spec.rb +1 -1
  761. data/spec/models/new_referral_spec.rb +1 -1
  762. data/spec/models/new_referrals_for_multiple_advocates_spec.rb +1 -1
  763. data/spec/models/new_return_spec.rb +41 -0
  764. data/spec/models/new_role_spec.rb +2 -2
  765. data/spec/models/new_ruleset_spec.rb +1 -1
  766. data/spec/models/new_saml_connection_spec.rb +1 -1
  767. data/spec/models/new_template_def_spec.rb +1 -1
  768. data/spec/models/new_user_spec.rb +1 -1
  769. data/spec/models/new_webhook_spec.rb +1 -1
  770. data/spec/models/notification_spec.rb +1 -1
  771. data/spec/models/notification_webhook_spec.rb +71 -0
  772. data/spec/models/profile_audiences_changes_spec.rb +1 -1
  773. data/spec/models/redeem_referral_effect_props_spec.rb +1 -1
  774. data/spec/models/referral_constraints_spec.rb +1 -1
  775. data/spec/models/referral_created_effect_props_spec.rb +1 -1
  776. data/spec/models/referral_rejection_reason_spec.rb +1 -1
  777. data/spec/models/referral_spec.rb +1 -1
  778. data/spec/models/reject_coupon_effect_props_spec.rb +1 -1
  779. data/spec/models/reject_referral_effect_props_spec.rb +1 -1
  780. data/spec/models/return_integration_request_spec.rb +51 -0
  781. data/spec/models/returned_cart_item_spec.rb +47 -0
  782. data/spec/models/role_assign_spec.rb +1 -1
  783. data/spec/models/role_membership_spec.rb +1 -1
  784. data/spec/models/role_spec.rb +1 -1
  785. data/spec/models/rollback_added_loyalty_points_effect_props_spec.rb +19 -1
  786. data/spec/models/rollback_coupon_effect_props_spec.rb +1 -1
  787. data/spec/models/rollback_deducted_loyalty_points_effect_props_spec.rb +7 -1
  788. data/spec/models/rollback_discount_effect_props_spec.rb +31 -1
  789. data/spec/models/rollback_referral_effect_props_spec.rb +1 -1
  790. data/spec/models/rule_failure_reason_spec.rb +1 -1
  791. data/spec/models/rule_spec.rb +1 -1
  792. data/spec/models/ruleset_spec.rb +13 -7
  793. data/spec/models/saml_connection_metadata_spec.rb +1 -1
  794. data/spec/models/saml_connection_spec.rb +1 -1
  795. data/spec/models/saml_login_endpoint_spec.rb +1 -1
  796. data/spec/models/session_spec.rb +1 -1
  797. data/spec/models/set_discount_effect_props_spec.rb +7 -1
  798. data/spec/models/set_discount_per_additional_cost_effect_props_spec.rb +65 -0
  799. data/spec/models/set_discount_per_additional_cost_per_item_effect_props_spec.rb +77 -0
  800. data/spec/models/set_discount_per_item_effect_props_spec.rb +25 -1
  801. data/spec/models/show_bundle_metadata_effect_props_spec.rb +1 -1
  802. data/spec/models/show_notification_effect_props_spec.rb +1 -1
  803. data/spec/models/slot_def_spec.rb +1 -1
  804. data/spec/models/template_arg_def_spec.rb +1 -1
  805. data/spec/models/template_def_spec.rb +1 -1
  806. data/spec/models/template_limit_config_spec.rb +67 -0
  807. data/spec/models/tier_spec.rb +47 -0
  808. data/spec/models/trigger_webhook_effect_props_spec.rb +1 -1
  809. data/spec/models/update_account_spec.rb +1 -1
  810. data/spec/models/update_application_spec.rb +17 -1
  811. data/spec/models/update_attribute_effect_props_spec.rb +1 -1
  812. data/spec/models/update_audience_spec.rb +1 -1
  813. data/spec/models/update_campaign_collection_spec.rb +41 -0
  814. data/spec/models/update_campaign_group_spec.rb +1 -1
  815. data/spec/models/update_campaign_spec.rb +1 -1
  816. data/spec/models/update_campaign_template_spec.rb +133 -0
  817. data/spec/models/update_catalog_spec.rb +53 -0
  818. data/spec/models/update_collection_spec.rb +47 -0
  819. data/spec/models/update_coupon_batch_spec.rb +1 -1
  820. data/spec/models/update_coupon_spec.rb +7 -1
  821. data/spec/models/update_custom_effect_spec.rb +7 -7
  822. data/spec/models/update_loyalty_card_spec.rb +41 -0
  823. data/spec/models/update_loyalty_program_spec.rb +13 -1
  824. data/spec/models/update_referral_batch_spec.rb +65 -0
  825. data/spec/models/update_referral_spec.rb +1 -1
  826. data/spec/models/update_role_spec.rb +2 -2
  827. data/spec/models/update_user_latest_feed_timestamp_spec.rb +1 -1
  828. data/spec/models/update_user_spec.rb +1 -1
  829. data/spec/models/user_entity_spec.rb +1 -1
  830. data/spec/models/user_feed_notifications_spec.rb +1 -1
  831. data/spec/models/user_spec.rb +1 -1
  832. data/spec/models/webhook_activation_log_entry_spec.rb +1 -1
  833. data/spec/models/webhook_log_entry_spec.rb +1 -1
  834. data/spec/models/webhook_spec.rb +1 -1
  835. data/spec/models/will_award_giveaway_effect_props_spec.rb +1 -1
  836. data/spec/spec_helper.rb +1 -1
  837. data/talon_one.gemspec +1 -1
  838. metadata +493 -240
  839. data/docs/ApplicationCustomerSearch.md +0 -21
  840. data/docs/FeatureFlags.md +0 -23
  841. data/docs/NewFeatureFlags.md +0 -21
  842. data/docs/UpdateLoyaltyTier.md +0 -19
  843. data/spec/models/application_customer_search_spec.rb +0 -53
  844. data/spec/models/feature_flags_spec.rb +0 -59
  845. data/spec/models/new_feature_flags_spec.rb +0 -53
  846. data/spec/models/update_loyalty_tier_spec.rb +0 -47
@@ -1,7 +1,7 @@
1
1
  =begin
2
2
  #Talon.One API
3
3
 
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
4
+ #Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you are reading this page at `https://mycompany.talon.one/docs/api/`, the URL for the [updateCustomerSession](https://docs.talon.one/integration-api/#operation/updateCustomerSessionV2) endpoint is `https://mycompany.talon.one/v2/customer_sessions/{Id}`
5
5
 
6
6
  The version of the OpenAPI document: 1.0.0
7
7
 
@@ -19,8 +19,72 @@ module TalonOne
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
- # Create a new coupon reservation
23
- # Creates a coupon reservation for all passed customer profiles on this couponID
22
+ # Create audience
23
+ # Create an audience. The audience can be created directly from scratch or can come from third party platforms. To create an audience from an existing audience in mParticle or Segment: 1. Set the `integration` property to `mparticle` or `segment` depending on a third-party platform. 1. Set `integrationId` to the ID of this audience in a third-party platform. To create an audience from an existing audience in another platform than mParticle: 1. Do not use the `integration` property. 1. Set `integrationId` to the ID of this audience in the 3rd-party platform. To create an audience from scratch: 1. Only set the `name` property. Once you create your first audience, audience-specific rule conditions are enabled in the Rule Builder.
24
+ # @param body [NewAudience]
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Audience]
27
+ def create_audience_v2(body, opts = {})
28
+ data, _status_code, _headers = create_audience_v2_with_http_info(body, opts)
29
+ data
30
+ end
31
+
32
+ # Create audience
33
+ # Create an audience. The audience can be created directly from scratch or can come from third party platforms. To create an audience from an existing audience in mParticle or Segment: 1. Set the `integration` property to `mparticle` or `segment` depending on a third-party platform. 1. Set `integrationId` to the ID of this audience in a third-party platform. To create an audience from an existing audience in another platform than mParticle: 1. Do not use the `integration` property. 1. Set `integrationId` to the ID of this audience in the 3rd-party platform. To create an audience from scratch: 1. Only set the `name` property. Once you create your first audience, audience-specific rule conditions are enabled in the Rule Builder.
34
+ # @param body [NewAudience]
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Audience, Integer, Hash)>] Audience data, response status code and response headers
37
+ def create_audience_v2_with_http_info(body, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.create_audience_v2 ...'
40
+ end
41
+ # verify the required parameter 'body' is set
42
+ if @api_client.config.client_side_validation && body.nil?
43
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.create_audience_v2"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v2/audiences'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+ # HTTP header 'Content-Type'
56
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
63
+
64
+ # return_type
65
+ return_type = opts[:return_type] || 'Audience'
66
+
67
+ # auth_names
68
+ auth_names = opts[:auth_names] || ['api_key_v1']
69
+
70
+ new_options = opts.merge(
71
+ :header_params => header_params,
72
+ :query_params => query_params,
73
+ :form_params => form_params,
74
+ :body => post_body,
75
+ :auth_names => auth_names,
76
+ :return_type => return_type
77
+ )
78
+
79
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
80
+ if @api_client.config.debugging
81
+ @api_client.config.logger.debug "API called: IntegrationApi#create_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
+ end
83
+ return data, status_code, headers
84
+ end
85
+
86
+ # Create coupon reservation
87
+ # Create a coupon reservation for specified customer profiles on the specified coupon. Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data endpoint](/integration-api/#operation/getCustomerInventory). If a coupon gets created for a specific user, it will automatically show up in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data endpoint](/integration-api/#operation/getCustomerInventory). **Important:** - This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. - To create a hard reservation, use the [Create coupons](/management-api/#operation/createCoupons) or [Create coupons for multiple recipients](/management-api/#operation/createCouponsForMultipleRecipients) endpoints setting the `recipientsIntegrationId` property. For example, you can use this endpoint and `List customer data` to create a \"coupon wallet\" by reserving coupon codes for a customer, and then displaying their \"coupon wallet\" when they visit your store.
24
88
  # @param coupon_value [String] The value of a coupon
25
89
  # @param body [CouponReservations]
26
90
  # @param [Hash] opts the optional parameters
@@ -30,8 +94,8 @@ module TalonOne
30
94
  data
31
95
  end
32
96
 
33
- # Create a new coupon reservation
34
- # Creates a coupon reservation for all passed customer profiles on this couponID
97
+ # Create coupon reservation
98
+ # Create a coupon reservation for specified customer profiles on the specified coupon. Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data endpoint](/integration-api/#operation/getCustomerInventory). If a coupon gets created for a specific user, it will automatically show up in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data endpoint](/integration-api/#operation/getCustomerInventory). **Important:** - This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. - To create a hard reservation, use the [Create coupons](/management-api/#operation/createCoupons) or [Create coupons for multiple recipients](/management-api/#operation/createCouponsForMultipleRecipients) endpoints setting the &#x60;recipientsIntegrationId&#x60; property. For example, you can use this endpoint and &#x60;List customer data&#x60; to create a \&quot;coupon wallet\&quot; by reserving coupon codes for a customer, and then displaying their \&quot;coupon wallet\&quot; when they visit your store.
35
99
  # @param coupon_value [String] The value of a coupon
36
100
  # @param body [CouponReservations]
37
101
  # @param [Hash] opts the optional parameters
@@ -71,7 +135,7 @@ module TalonOne
71
135
  return_type = opts[:return_type] || 'Coupon'
72
136
 
73
137
  # auth_names
74
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
138
+ auth_names = opts[:auth_names] || ['api_key_v1']
75
139
 
76
140
  new_options = opts.merge(
77
141
  :header_params => header_params,
@@ -89,7 +153,7 @@ module TalonOne
89
153
  return data, status_code, headers
90
154
  end
91
155
 
92
- # Create a referral code for an advocate
156
+ # Create referral code for an advocate
93
157
  # 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.
94
158
  # @param body [NewReferral]
95
159
  # @param [Hash] opts the optional parameters
@@ -99,7 +163,7 @@ module TalonOne
99
163
  data
100
164
  end
101
165
 
102
- # Create a referral code for an advocate
166
+ # Create referral code for an advocate
103
167
  # 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.
104
168
  # @param body [NewReferral]
105
169
  # @param [Hash] opts the optional parameters
@@ -135,7 +199,7 @@ module TalonOne
135
199
  return_type = opts[:return_type] || 'Referral'
136
200
 
137
201
  # auth_names
138
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
202
+ auth_names = opts[:auth_names] || ['api_key_v1']
139
203
 
140
204
  new_options = opts.merge(
141
205
  :header_params => header_params,
@@ -157,7 +221,7 @@ module TalonOne
157
221
  # Creates unique referral codes for multiple advocates. The code will be valid for the referral campaign for which it is created, indicated in the `campaignId` parameter, and one referral code will be associated with one advocate using the profile specified in the `advocateProfileIntegrationId` parameter as the advocate's profile.
158
222
  # @param body [NewReferralsForMultipleAdvocates]
159
223
  # @param [Hash] opts the optional parameters
160
- # @option opts [String] :silent If set to &#x60;yes&#x60;, response will be an empty 204, otherwise a list of integration states will be generated (up to 1000).
224
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the perfomance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains essential data such as the updated customer profiles and session-related information. (default to 'yes')
161
225
  # @return [InlineResponse201]
162
226
  def create_referrals_for_multiple_advocates(body, opts = {})
163
227
  data, _status_code, _headers = create_referrals_for_multiple_advocates_with_http_info(body, opts)
@@ -168,7 +232,7 @@ module TalonOne
168
232
  # Creates unique referral codes for multiple advocates. The code will be valid for the referral campaign for which it is created, indicated in the &#x60;campaignId&#x60; parameter, and one referral code will be associated with one advocate using the profile specified in the &#x60;advocateProfileIntegrationId&#x60; parameter as the advocate&#39;s profile.
169
233
  # @param body [NewReferralsForMultipleAdvocates]
170
234
  # @param [Hash] opts the optional parameters
171
- # @option opts [String] :silent If set to &#x60;yes&#x60;, response will be an empty 204, otherwise a list of integration states will be generated (up to 1000).
235
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the perfomance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains essential data such as the updated customer profiles and session-related information.
172
236
  # @return [Array<(InlineResponse201, Integer, Hash)>] InlineResponse201 data, response status code and response headers
173
237
  def create_referrals_for_multiple_advocates_with_http_info(body, opts = {})
174
238
  if @api_client.config.debugging
@@ -202,7 +266,7 @@ module TalonOne
202
266
  return_type = opts[:return_type] || 'InlineResponse201'
203
267
 
204
268
  # auth_names
205
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
269
+ auth_names = opts[:auth_names] || ['api_key_v1']
206
270
 
207
271
  new_options = opts.merge(
208
272
  :header_params => header_params,
@@ -220,8 +284,132 @@ module TalonOne
220
284
  return data, status_code, headers
221
285
  end
222
286
 
287
+ # Delete audience memberships
288
+ # Remove all members from this audience.
289
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
290
+ # @param [Hash] opts the optional parameters
291
+ # @return [nil]
292
+ def delete_audience_memberships_v2(audience_id, opts = {})
293
+ delete_audience_memberships_v2_with_http_info(audience_id, opts)
294
+ nil
295
+ end
296
+
297
+ # Delete audience memberships
298
+ # Remove all members from this audience.
299
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
300
+ # @param [Hash] opts the optional parameters
301
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
302
+ def delete_audience_memberships_v2_with_http_info(audience_id, opts = {})
303
+ if @api_client.config.debugging
304
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_audience_memberships_v2 ...'
305
+ end
306
+ # verify the required parameter 'audience_id' is set
307
+ if @api_client.config.client_side_validation && audience_id.nil?
308
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.delete_audience_memberships_v2"
309
+ end
310
+ # resource path
311
+ local_var_path = '/v2/audiences/{audienceId}/memberships'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
312
+
313
+ # query parameters
314
+ query_params = opts[:query_params] || {}
315
+
316
+ # header parameters
317
+ header_params = opts[:header_params] || {}
318
+ # HTTP header 'Accept' (if needed)
319
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
320
+
321
+ # form parameters
322
+ form_params = opts[:form_params] || {}
323
+
324
+ # http body (model)
325
+ post_body = opts[:body]
326
+
327
+ # return_type
328
+ return_type = opts[:return_type]
329
+
330
+ # auth_names
331
+ auth_names = opts[:auth_names] || ['manager_auth']
332
+
333
+ new_options = opts.merge(
334
+ :header_params => header_params,
335
+ :query_params => query_params,
336
+ :form_params => form_params,
337
+ :body => post_body,
338
+ :auth_names => auth_names,
339
+ :return_type => return_type
340
+ )
341
+
342
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
343
+ if @api_client.config.debugging
344
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_audience_memberships_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
345
+ end
346
+ return data, status_code, headers
347
+ end
348
+
349
+ # Delete audience
350
+ # Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience.
351
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
352
+ # @param [Hash] opts the optional parameters
353
+ # @return [nil]
354
+ def delete_audience_v2(audience_id, opts = {})
355
+ delete_audience_v2_with_http_info(audience_id, opts)
356
+ nil
357
+ end
358
+
359
+ # Delete audience
360
+ # Delete an audience created by a third-party integration. **Warning:** This endpoint also removes any associations recorded between a customer profile and this audience.
361
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
362
+ # @param [Hash] opts the optional parameters
363
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
364
+ def delete_audience_v2_with_http_info(audience_id, opts = {})
365
+ if @api_client.config.debugging
366
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.delete_audience_v2 ...'
367
+ end
368
+ # verify the required parameter 'audience_id' is set
369
+ if @api_client.config.client_side_validation && audience_id.nil?
370
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.delete_audience_v2"
371
+ end
372
+ # resource path
373
+ local_var_path = '/v2/audiences/{audienceId}'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
374
+
375
+ # query parameters
376
+ query_params = opts[:query_params] || {}
377
+
378
+ # header parameters
379
+ header_params = opts[:header_params] || {}
380
+ # HTTP header 'Accept' (if needed)
381
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
382
+
383
+ # form parameters
384
+ form_params = opts[:form_params] || {}
385
+
386
+ # http body (model)
387
+ post_body = opts[:body]
388
+
389
+ # return_type
390
+ return_type = opts[:return_type]
391
+
392
+ # auth_names
393
+ auth_names = opts[:auth_names] || ['manager_auth']
394
+
395
+ new_options = opts.merge(
396
+ :header_params => header_params,
397
+ :query_params => query_params,
398
+ :form_params => form_params,
399
+ :body => post_body,
400
+ :auth_names => auth_names,
401
+ :return_type => return_type
402
+ )
403
+
404
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
405
+ if @api_client.config.debugging
406
+ @api_client.config.logger.debug "API called: IntegrationApi#delete_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
407
+ end
408
+ return data, status_code, headers
409
+ end
410
+
223
411
  # Delete coupon reservations
224
- # Removes all passed customer profiles reservation from this coupon
412
+ # Remove all passed customer profiles reservation from this coupon.
225
413
  # @param coupon_value [String] The value of a coupon
226
414
  # @param body [CouponReservations]
227
415
  # @param [Hash] opts the optional parameters
@@ -232,7 +420,7 @@ module TalonOne
232
420
  end
233
421
 
234
422
  # Delete coupon reservations
235
- # Removes all passed customer profiles reservation from this coupon
423
+ # Remove all passed customer profiles reservation from this coupon.
236
424
  # @param coupon_value [String] The value of a coupon
237
425
  # @param body [CouponReservations]
238
426
  # @param [Hash] opts the optional parameters
@@ -257,6 +445,8 @@ module TalonOne
257
445
 
258
446
  # header parameters
259
447
  header_params = opts[:header_params] || {}
448
+ # HTTP header 'Accept' (if needed)
449
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
260
450
  # HTTP header 'Content-Type'
261
451
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
262
452
 
@@ -270,7 +460,7 @@ module TalonOne
270
460
  return_type = opts[:return_type]
271
461
 
272
462
  # auth_names
273
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
463
+ auth_names = opts[:auth_names] || ['api_key_v1']
274
464
 
275
465
  new_options = opts.merge(
276
466
  :header_params => header_params,
@@ -288,9 +478,9 @@ module TalonOne
288
478
  return data, status_code, headers
289
479
  end
290
480
 
291
- # Delete the personal data of a customer
292
- # Delete all attributes on the customer profile and on entities that reference that customer profile.
293
- # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
481
+ # Delete customer's personal data
482
+ # Delete all attributes on the customer profile and on entities that reference this customer profile. **Important:** To preserve performance, we recommend avoiding deleting customer data during peak-traffic hours.
483
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration Id with the [Update customer session endpoint](https://docs.talon.one/integration-api/#operation/updateCustomerSessionV2). - The Management API with the [List application&#39;s customers endpoint](https://docs.talon.one/management-api/#operation/getApplicationCustomers).
294
484
  # @param [Hash] opts the optional parameters
295
485
  # @return [nil]
296
486
  def delete_customer_data(integration_id, opts = {})
@@ -298,9 +488,9 @@ module TalonOne
298
488
  nil
299
489
  end
300
490
 
301
- # Delete the personal data of a customer
302
- # Delete all attributes on the customer profile and on entities that reference that customer profile.
303
- # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
491
+ # Delete customer&#39;s personal data
492
+ # Delete all attributes on the customer profile and on entities that reference this customer profile. **Important:** To preserve performance, we recommend avoiding deleting customer data during peak-traffic hours.
493
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration Id with the [Update customer session endpoint](https://docs.talon.one/integration-api/#operation/updateCustomerSessionV2). - The Management API with the [List application&#39;s customers endpoint](https://docs.talon.one/management-api/#operation/getApplicationCustomers).
304
494
  # @param [Hash] opts the optional parameters
305
495
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
306
496
  def delete_customer_data_with_http_info(integration_id, opts = {})
@@ -319,6 +509,8 @@ module TalonOne
319
509
 
320
510
  # header parameters
321
511
  header_params = opts[:header_params] || {}
512
+ # HTTP header 'Accept' (if needed)
513
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
322
514
 
323
515
  # form parameters
324
516
  form_params = opts[:form_params] || {}
@@ -330,7 +522,7 @@ module TalonOne
330
522
  return_type = opts[:return_type]
331
523
 
332
524
  # auth_names
333
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
525
+ auth_names = opts[:auth_names] || ['api_key_v1']
334
526
 
335
527
  new_options = opts.merge(
336
528
  :header_params => header_params,
@@ -348,30 +540,32 @@ module TalonOne
348
540
  return data, status_code, headers
349
541
  end
350
542
 
351
- # Get an inventory of all data associated with a specific customer profile
352
- # 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.
353
- # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
543
+ # List customer data
544
+ # Return the customer inventory regarding entities referencing this customer profile's `integrationId`. Typical entities returned are: customer profile information, referral codes, loyalty points and reserved coupons. Reserved coupons also include redeemed coupons. You can also use this endpoint to get the projected loyalty balances in order to notify your customers about points that are about to expire, or to remind them how many points they have.
545
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration Id with the [Update customer session endpoint](https://docs.talon.one/integration-api/#operation/updateCustomerSessionV2). - The Management API with the [List application&#39;s customers endpoint](https://docs.talon.one/management-api/#operation/getApplicationCustomers).
354
546
  # @param [Hash] opts the optional parameters
355
- # @option opts [Boolean] :profile optional flag to decide if you would like customer profile information in the response
356
- # @option opts [Boolean] :referrals optional flag to decide if you would like referral information in the response
357
- # @option opts [Boolean] :coupons optional flag to decide if you would like coupon information in the response
358
- # @option opts [Boolean] :loyalty optional flag to decide if you would like loyalty information in the response
359
- # @option opts [Boolean] :giveaways optional flag to decide if you would like giveaways information in the response
547
+ # @option opts [Boolean] :profile Set to &#x60;true&#x60; to include customer profile information in the response.
548
+ # @option opts [Boolean] :referrals Set to &#x60;true&#x60; to include referral information in the response.
549
+ # @option opts [Boolean] :coupons Set to &#x60;true&#x60; to include coupon information in the response.
550
+ # @option opts [Boolean] :loyalty Set to &#x60;true&#x60; to include loyalty information in the response.
551
+ # @option opts [Boolean] :giveaways Set to &#x60;true&#x60; to include giveaways information in the response.
552
+ # @option opts [DateTime] :loyalty_projection_end_date Set an end date to query the projected loyalty balances. You can project results up to 31 days from today.
360
553
  # @return [CustomerInventory]
361
554
  def get_customer_inventory(integration_id, opts = {})
362
555
  data, _status_code, _headers = get_customer_inventory_with_http_info(integration_id, opts)
363
556
  data
364
557
  end
365
558
 
366
- # Get an inventory of all data associated with a specific customer profile
367
- # 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.
368
- # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
559
+ # List customer data
560
+ # Return the customer inventory regarding entities referencing this customer profile&#39;s &#x60;integrationId&#x60;. Typical entities returned are: customer profile information, referral codes, loyalty points and reserved coupons. Reserved coupons also include redeemed coupons. You can also use this endpoint to get the projected loyalty balances in order to notify your customers about points that are about to expire, or to remind them how many points they have.
561
+ # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration Id with the [Update customer session endpoint](https://docs.talon.one/integration-api/#operation/updateCustomerSessionV2). - The Management API with the [List application&#39;s customers endpoint](https://docs.talon.one/management-api/#operation/getApplicationCustomers).
369
562
  # @param [Hash] opts the optional parameters
370
- # @option opts [Boolean] :profile optional flag to decide if you would like customer profile information in the response
371
- # @option opts [Boolean] :referrals optional flag to decide if you would like referral information in the response
372
- # @option opts [Boolean] :coupons optional flag to decide if you would like coupon information in the response
373
- # @option opts [Boolean] :loyalty optional flag to decide if you would like loyalty information in the response
374
- # @option opts [Boolean] :giveaways optional flag to decide if you would like giveaways information in the response
563
+ # @option opts [Boolean] :profile Set to &#x60;true&#x60; to include customer profile information in the response.
564
+ # @option opts [Boolean] :referrals Set to &#x60;true&#x60; to include referral information in the response.
565
+ # @option opts [Boolean] :coupons Set to &#x60;true&#x60; to include coupon information in the response.
566
+ # @option opts [Boolean] :loyalty Set to &#x60;true&#x60; to include loyalty information in the response.
567
+ # @option opts [Boolean] :giveaways Set to &#x60;true&#x60; to include giveaways information in the response.
568
+ # @option opts [DateTime] :loyalty_projection_end_date Set an end date to query the projected loyalty balances. You can project results up to 31 days from today.
375
569
  # @return [Array<(CustomerInventory, Integer, Hash)>] CustomerInventory data, response status code and response headers
376
570
  def get_customer_inventory_with_http_info(integration_id, opts = {})
377
571
  if @api_client.config.debugging
@@ -391,6 +585,7 @@ module TalonOne
391
585
  query_params[:'coupons'] = opts[:'coupons'] if !opts[:'coupons'].nil?
392
586
  query_params[:'loyalty'] = opts[:'loyalty'] if !opts[:'loyalty'].nil?
393
587
  query_params[:'giveaways'] = opts[:'giveaways'] if !opts[:'giveaways'].nil?
588
+ query_params[:'loyaltyProjectionEndDate'] = opts[:'loyalty_projection_end_date'] if !opts[:'loyalty_projection_end_date'].nil?
394
589
 
395
590
  # header parameters
396
591
  header_params = opts[:header_params] || {}
@@ -407,7 +602,7 @@ module TalonOne
407
602
  return_type = opts[:return_type] || 'CustomerInventory'
408
603
 
409
604
  # auth_names
410
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
605
+ auth_names = opts[:auth_names] || ['api_key_v1']
411
606
 
412
607
  new_options = opts.merge(
413
608
  :header_params => header_params,
@@ -425,8 +620,70 @@ module TalonOne
425
620
  return data, status_code, headers
426
621
  end
427
622
 
428
- # Get the users that have this coupon reserved
429
- # Returns all users that have this coupon marked as reserved
623
+ # Get customer session
624
+ # Get customer session data.
625
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session endpoint](https://docs.talon.one/management-api/#operation/getApplicationSessions).
626
+ # @param [Hash] opts the optional parameters
627
+ # @return [IntegrationCustomerSessionResponse]
628
+ def get_customer_session(customer_session_id, opts = {})
629
+ data, _status_code, _headers = get_customer_session_with_http_info(customer_session_id, opts)
630
+ data
631
+ end
632
+
633
+ # Get customer session
634
+ # Get customer session data.
635
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session endpoint](https://docs.talon.one/management-api/#operation/getApplicationSessions).
636
+ # @param [Hash] opts the optional parameters
637
+ # @return [Array<(IntegrationCustomerSessionResponse, Integer, Hash)>] IntegrationCustomerSessionResponse data, response status code and response headers
638
+ def get_customer_session_with_http_info(customer_session_id, opts = {})
639
+ if @api_client.config.debugging
640
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_session ...'
641
+ end
642
+ # verify the required parameter 'customer_session_id' is set
643
+ if @api_client.config.client_side_validation && customer_session_id.nil?
644
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.get_customer_session"
645
+ end
646
+ # resource path
647
+ local_var_path = '/v2/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
648
+
649
+ # query parameters
650
+ query_params = opts[:query_params] || {}
651
+
652
+ # header parameters
653
+ header_params = opts[:header_params] || {}
654
+ # HTTP header 'Accept' (if needed)
655
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
656
+
657
+ # form parameters
658
+ form_params = opts[:form_params] || {}
659
+
660
+ # http body (model)
661
+ post_body = opts[:body]
662
+
663
+ # return_type
664
+ return_type = opts[:return_type] || 'IntegrationCustomerSessionResponse'
665
+
666
+ # auth_names
667
+ auth_names = opts[:auth_names] || ['api_key_v1']
668
+
669
+ new_options = opts.merge(
670
+ :header_params => header_params,
671
+ :query_params => query_params,
672
+ :form_params => form_params,
673
+ :body => post_body,
674
+ :auth_names => auth_names,
675
+ :return_type => return_type
676
+ )
677
+
678
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
679
+ if @api_client.config.debugging
680
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
681
+ end
682
+ return data, status_code, headers
683
+ end
684
+
685
+ # List customers that have this coupon reserved
686
+ # Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](/management-api/#operation/createCoupons) or [Create coupons for multiple recipients](/management-api/#operation/createCouponsForMultipleRecipients) endpoints.
430
687
  # @param coupon_value [String] The value of a coupon
431
688
  # @param [Hash] opts the optional parameters
432
689
  # @return [InlineResponse200]
@@ -435,8 +692,8 @@ module TalonOne
435
692
  data
436
693
  end
437
694
 
438
- # Get the users that have this coupon reserved
439
- # Returns all users that have this coupon marked as reserved
695
+ # List customers that have this coupon reserved
696
+ # Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given &#x60;recipientIntegrationId&#x60; or use the [Create coupons](/management-api/#operation/createCoupons) or [Create coupons for multiple recipients](/management-api/#operation/createCouponsForMultipleRecipients) endpoints.
440
697
  # @param coupon_value [String] The value of a coupon
441
698
  # @param [Hash] opts the optional parameters
442
699
  # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
@@ -469,7 +726,7 @@ module TalonOne
469
726
  return_type = opts[:return_type] || 'InlineResponse200'
470
727
 
471
728
  # auth_names
472
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
729
+ auth_names = opts[:auth_names] || ['api_key_v1']
473
730
 
474
731
  new_options = opts.merge(
475
732
  :header_params => header_params,
@@ -487,8 +744,81 @@ module TalonOne
487
744
  return data, status_code, headers
488
745
  end
489
746
 
490
- # Track an Event
491
- # 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.
747
+ # Return cart items
748
+ # Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially returned`. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/campaign-evaluation/#flattened-cart-items) is enabled for the campaign. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session).
749
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session endpoint](https://docs.talon.one/management-api/#operation/getApplicationSessions).
750
+ # @param body [ReturnIntegrationRequest]
751
+ # @param [Hash] opts the optional parameters
752
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
753
+ # @return [IntegrationStateV2]
754
+ def return_cart_items(customer_session_id, body, opts = {})
755
+ data, _status_code, _headers = return_cart_items_with_http_info(customer_session_id, body, opts)
756
+ data
757
+ end
758
+
759
+ # Return cart items
760
+ # Create a new return request for the specified cart items. This endpoint automatically changes the session state from &#x60;closed&#x60; to &#x60;partially returned&#x60;. Its behavior depends on whether [cart item flattening](https://docs.talon.one/docs/product/campaigns/campaign-evaluation/#flattened-cart-items) is enabled for the campaign. **Note:** This will roll back any effects associated with these cart items. For more information, see [our documentation on session states](https://docs.talon.one/docs/dev/concepts/entities#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session).
761
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session endpoint](https://docs.talon.one/management-api/#operation/getApplicationSessions).
762
+ # @param body [ReturnIntegrationRequest]
763
+ # @param [Hash] opts the optional parameters
764
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
765
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
766
+ def return_cart_items_with_http_info(customer_session_id, body, opts = {})
767
+ if @api_client.config.debugging
768
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.return_cart_items ...'
769
+ end
770
+ # verify the required parameter 'customer_session_id' is set
771
+ if @api_client.config.client_side_validation && customer_session_id.nil?
772
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.return_cart_items"
773
+ end
774
+ # verify the required parameter 'body' is set
775
+ if @api_client.config.client_side_validation && body.nil?
776
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.return_cart_items"
777
+ end
778
+ # resource path
779
+ local_var_path = '/v2/customer_sessions/{customerSessionId}/returns'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
780
+
781
+ # query parameters
782
+ query_params = opts[:query_params] || {}
783
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
784
+
785
+ # header parameters
786
+ header_params = opts[:header_params] || {}
787
+ # HTTP header 'Accept' (if needed)
788
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
789
+ # HTTP header 'Content-Type'
790
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
791
+
792
+ # form parameters
793
+ form_params = opts[:form_params] || {}
794
+
795
+ # http body (model)
796
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
797
+
798
+ # return_type
799
+ return_type = opts[:return_type] || 'IntegrationStateV2'
800
+
801
+ # auth_names
802
+ auth_names = opts[:auth_names] || ['api_key_v1']
803
+
804
+ new_options = opts.merge(
805
+ :header_params => header_params,
806
+ :query_params => query_params,
807
+ :form_params => form_params,
808
+ :body => post_body,
809
+ :auth_names => auth_names,
810
+ :return_type => return_type
811
+ )
812
+
813
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
814
+ if @api_client.config.debugging
815
+ @api_client.config.logger.debug "API called: IntegrationApi#return_cart_items\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
816
+ end
817
+ return data, status_code, headers
818
+ end
819
+
820
+ # Track event
821
+ # **Important:** This endpoint is **DEPRECATED**. Use [Track Event V2](https://docs.talon.one/integration-api/#tag/Events/operation/trackEventV2) instead. > Triggers a custom event in a customer session. You can then check this event in your rules. **Important:** Talon.One offers a set of [built-in events](/docs/dev/concepts/events), ensure you do not create a custom event when you can use a built-in event. > For example, use this endpoint to trigger an event when a user updates their payment information. > Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](/docs/dev/concepts/events/#creating-a-custom-event). > An event is always part of a session. If either the profile or the session does not exist, a new empty profile/session is created. If the specified session already exists, it must belong to the same `profileId` or an error will be returned.
492
822
  # @param body [NewEvent]
493
823
  # @param [Hash] opts the optional parameters
494
824
  # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
@@ -498,8 +828,8 @@ module TalonOne
498
828
  data
499
829
  end
500
830
 
501
- # Track an Event
502
- # 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.
831
+ # Track event
832
+ # **Important:** This endpoint is **DEPRECATED**. Use [Track Event V2](https://docs.talon.one/integration-api/#tag/Events/operation/trackEventV2) instead. &gt; Triggers a custom event in a customer session. You can then check this event in your rules. **Important:** Talon.One offers a set of [built-in events](/docs/dev/concepts/events), ensure you do not create a custom event when you can use a built-in event. &gt; For example, use this endpoint to trigger an event when a user updates their payment information. &gt; Before using this endpoint, create your event as a custom attribute of type &#x60;event&#x60;. See the [Developer docs](/docs/dev/concepts/events/#creating-a-custom-event). &gt; An event is always part of a session. If either the profile or the session does not exist, a new empty profile/session is created. If the specified session already exists, it must belong to the same &#x60;profileId&#x60; or an error will be returned.
503
833
  # @param body [NewEvent]
504
834
  # @param [Hash] opts the optional parameters
505
835
  # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
@@ -536,7 +866,7 @@ module TalonOne
536
866
  return_type = opts[:return_type] || 'IntegrationState'
537
867
 
538
868
  # auth_names
539
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
869
+ auth_names = opts[:auth_names] || ['api_key_v1']
540
870
 
541
871
  new_options = opts.merge(
542
872
  :header_params => header_params,
@@ -554,42 +884,39 @@ module TalonOne
554
884
  return data, status_code, headers
555
885
  end
556
886
 
557
- # Update a Customer Profile V1
558
- # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, migrate to [API V2.0](/Getting-Started/APIV2). Update (or create) a [Customer Profile](https://developers.talon.one/Getting-Started/entities#customer-profile). This profile information can then be matched and/or updated by campaign [Rules][]. The `integrationId` may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the `integrationId`. It is vital that this ID **not** change over time, so **don't** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
559
- # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
560
- # @param body [NewCustomerProfile]
887
+ # Track event V2
888
+ # Triggers a custom event. You can then check this event in your rules. **Important:** Talon.One offers a set of [built-in events](/docs/dev/concepts/events), ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a user updates their payment information. Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](/docs/dev/concepts/events/#creating-a-custom-event). **Important:** `profileId` is required. An event V2 is associated with a customer profile.
889
+ # @param body [IntegrationEventV2Request]
561
890
  # @param [Hash] opts the optional parameters
891
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the perfomance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains essential data such as the updated customer profiles and session-related information. (default to 'yes')
562
892
  # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
563
- # @return [IntegrationState]
564
- def update_customer_profile(integration_id, body, opts = {})
565
- data, _status_code, _headers = update_customer_profile_with_http_info(integration_id, body, opts)
893
+ # @return [IntegrationStateV2]
894
+ def track_event_v2(body, opts = {})
895
+ data, _status_code, _headers = track_event_v2_with_http_info(body, opts)
566
896
  data
567
897
  end
568
898
 
569
- # Update a Customer Profile V1
570
- # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, migrate to [API V2.0](/Getting-Started/APIV2). Update (or create) a [Customer Profile](https://developers.talon.one/Getting-Started/entities#customer-profile). This profile information can then be matched and/or updated by campaign [Rules][]. The &#x60;integrationId&#x60; may be any identifier that will remain stable for the customer. For example, you might use a database ID, an email, or a phone number as the &#x60;integrationId&#x60;. It is vital that this ID **not** change over time, so **don&#39;t** use any identifier that the customer can update themselves. E.g. if your application allows a customer to update their e-mail address, you should instead use a database ID. Updating a customer profile will return a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. [Customer Profile]: /Getting-Started/entities#customer-profile [Rules]: /Getting-Started/entities#campaigns-rulesets-and-coupons
571
- # @param integration_id [String] The custom identifier for this profile, must be unique within the account.
572
- # @param body [NewCustomerProfile]
899
+ # Track event V2
900
+ # Triggers a custom event. You can then check this event in your rules. **Important:** Talon.One offers a set of [built-in events](/docs/dev/concepts/events), ensure you do not create a custom event when you can use a built-in event. For example, use this endpoint to trigger an event when a user updates their payment information. Before using this endpoint, create your event as a custom attribute of type &#x60;event&#x60;. See the [Developer docs](/docs/dev/concepts/events/#creating-a-custom-event). **Important:** &#x60;profileId&#x60; is required. An event V2 is associated with a customer profile.
901
+ # @param body [IntegrationEventV2Request]
573
902
  # @param [Hash] opts the optional parameters
903
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the perfomance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains essential data such as the updated customer profiles and session-related information.
574
904
  # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
575
- # @return [Array<(IntegrationState, Integer, Hash)>] IntegrationState data, response status code and response headers
576
- def update_customer_profile_with_http_info(integration_id, body, opts = {})
905
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
906
+ def track_event_v2_with_http_info(body, opts = {})
577
907
  if @api_client.config.debugging
578
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile ...'
579
- end
580
- # verify the required parameter 'integration_id' is set
581
- if @api_client.config.client_side_validation && integration_id.nil?
582
- fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile"
908
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event_v2 ...'
583
909
  end
584
910
  # verify the required parameter 'body' is set
585
911
  if @api_client.config.client_side_validation && body.nil?
586
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile"
912
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.track_event_v2"
587
913
  end
588
914
  # resource path
589
- local_var_path = '/v1/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
915
+ local_var_path = '/v2/events'
590
916
 
591
917
  # query parameters
592
918
  query_params = opts[:query_params] || {}
919
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
593
920
  query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
594
921
 
595
922
  # header parameters
@@ -606,10 +933,10 @@ module TalonOne
606
933
  post_body = opts[:body] || @api_client.object_to_http_body(body)
607
934
 
608
935
  # return_type
609
- return_type = opts[:return_type] || 'IntegrationState'
936
+ return_type = opts[:return_type] || 'IntegrationStateV2'
610
937
 
611
938
  # auth_names
612
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
939
+ auth_names = opts[:auth_names] || ['api_key_v1']
613
940
 
614
941
  new_options = opts.merge(
615
942
  :header_params => header_params,
@@ -620,44 +947,52 @@ module TalonOne
620
947
  :return_type => return_type
621
948
  )
622
949
 
623
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
950
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
624
951
  if @api_client.config.debugging
625
- @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
952
+ @api_client.config.logger.debug "API called: IntegrationApi#track_event_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
626
953
  end
627
954
  return data, status_code, headers
628
955
  end
629
956
 
630
- # Update a Customer Profile Audiences
631
- # Update one ore multiple Customer Profiles with the specified Audiences
632
- # @param body [CustomerProfileAudienceRequest]
957
+ # Update profile attributes for all customers in audience
958
+ # Update the specified profile attributes to the provided values for all customers in the specified audience.
959
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
960
+ # @param body [Object]
633
961
  # @param [Hash] opts the optional parameters
634
962
  # @return [nil]
635
- def update_customer_profile_audiences(body, opts = {})
636
- update_customer_profile_audiences_with_http_info(body, opts)
963
+ def update_audience_customers_attributes(audience_id, body, opts = {})
964
+ update_audience_customers_attributes_with_http_info(audience_id, body, opts)
637
965
  nil
638
966
  end
639
967
 
640
- # Update a Customer Profile Audiences
641
- # Update one ore multiple Customer Profiles with the specified Audiences
642
- # @param body [CustomerProfileAudienceRequest]
968
+ # Update profile attributes for all customers in audience
969
+ # Update the specified profile attributes to the provided values for all customers in the specified audience.
970
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
971
+ # @param body [Object]
643
972
  # @param [Hash] opts the optional parameters
644
973
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
645
- def update_customer_profile_audiences_with_http_info(body, opts = {})
974
+ def update_audience_customers_attributes_with_http_info(audience_id, body, opts = {})
646
975
  if @api_client.config.debugging
647
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_audiences ...'
976
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_audience_customers_attributes ...'
977
+ end
978
+ # verify the required parameter 'audience_id' is set
979
+ if @api_client.config.client_side_validation && audience_id.nil?
980
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.update_audience_customers_attributes"
648
981
  end
649
982
  # verify the required parameter 'body' is set
650
983
  if @api_client.config.client_side_validation && body.nil?
651
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_audiences"
984
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_audience_customers_attributes"
652
985
  end
653
986
  # resource path
654
- local_var_path = '/v2/customer_audiences'
987
+ local_var_path = '/v2/audience_customers/{audienceId}/attributes'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
655
988
 
656
989
  # query parameters
657
990
  query_params = opts[:query_params] || {}
658
991
 
659
992
  # header parameters
660
993
  header_params = opts[:header_params] || {}
994
+ # HTTP header 'Accept' (if needed)
995
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
661
996
  # HTTP header 'Content-Type'
662
997
  header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
663
998
 
@@ -682,53 +1017,47 @@ module TalonOne
682
1017
  :return_type => return_type
683
1018
  )
684
1019
 
685
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1020
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
686
1021
  if @api_client.config.debugging
687
- @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_audiences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1022
+ @api_client.config.logger.debug "API called: IntegrationApi#update_audience_customers_attributes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
688
1023
  end
689
1024
  return data, status_code, headers
690
1025
  end
691
1026
 
692
- # Update a Customer Profile
693
- # Update (or create) a [Customer Profile](https://developers.talon.one/Getting-Started/entities#customer-profile). The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Updating a customer profile returns a response with the requested integration state. If `runRuleEngine` is set to `true`, the response includes: - The effects generated by the triggered campaigns. - The created coupons and referral objects. - Any entity that was requested in the `responseContent` request parameter.
694
- # @param integration_id [String] The custom identifier for this profile. Must be unique within the account.
695
- # @param body [CustomerProfileIntegrationRequestV2]
1027
+ # Update audience
1028
+ # Update an Audience created by a third-party integration.
1029
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
1030
+ # @param body [UpdateAudience]
696
1031
  # @param [Hash] opts the optional parameters
697
- # @option opts [Boolean] :run_rule_engine Indicates whether to run the rule engine. (default to false)
698
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. Only used when &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;.
699
- # @return [IntegrationStateV2]
700
- def update_customer_profile_v2(integration_id, body, opts = {})
701
- data, _status_code, _headers = update_customer_profile_v2_with_http_info(integration_id, body, opts)
1032
+ # @return [Audience]
1033
+ def update_audience_v2(audience_id, body, opts = {})
1034
+ data, _status_code, _headers = update_audience_v2_with_http_info(audience_id, body, opts)
702
1035
  data
703
1036
  end
704
1037
 
705
- # Update a Customer Profile
706
- # Update (or create) a [Customer Profile](https://developers.talon.one/Getting-Started/entities#customer-profile). The &#x60;integrationId&#x60; must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Updating a customer profile returns a response with the requested integration state. If &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns. - The created coupons and referral objects. - Any entity that was requested in the &#x60;responseContent&#x60; request parameter.
707
- # @param integration_id [String] The custom identifier for this profile. Must be unique within the account.
708
- # @param body [CustomerProfileIntegrationRequestV2]
1038
+ # Update audience
1039
+ # Update an Audience created by a third-party integration.
1040
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
1041
+ # @param body [UpdateAudience]
709
1042
  # @param [Hash] opts the optional parameters
710
- # @option opts [Boolean] :run_rule_engine Indicates whether to run the rule engine.
711
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. Only used when &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;.
712
- # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
713
- def update_customer_profile_v2_with_http_info(integration_id, body, opts = {})
1043
+ # @return [Array<(Audience, Integer, Hash)>] Audience data, response status code and response headers
1044
+ def update_audience_v2_with_http_info(audience_id, body, opts = {})
714
1045
  if @api_client.config.debugging
715
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_v2 ...'
1046
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_audience_v2 ...'
716
1047
  end
717
- # verify the required parameter 'integration_id' is set
718
- if @api_client.config.client_side_validation && integration_id.nil?
719
- fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile_v2"
1048
+ # verify the required parameter 'audience_id' is set
1049
+ if @api_client.config.client_side_validation && audience_id.nil?
1050
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.update_audience_v2"
720
1051
  end
721
1052
  # verify the required parameter 'body' is set
722
1053
  if @api_client.config.client_side_validation && body.nil?
723
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_v2"
1054
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_audience_v2"
724
1055
  end
725
1056
  # resource path
726
- local_var_path = '/v2/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
1057
+ local_var_path = '/v2/audiences/{audienceId}'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
727
1058
 
728
1059
  # query parameters
729
1060
  query_params = opts[:query_params] || {}
730
- query_params[:'runRuleEngine'] = opts[:'run_rule_engine'] if !opts[:'run_rule_engine'].nil?
731
- query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
732
1061
 
733
1062
  # header parameters
734
1063
  header_params = opts[:header_params] || {}
@@ -744,7 +1073,7 @@ module TalonOne
744
1073
  post_body = opts[:body] || @api_client.object_to_http_body(body)
745
1074
 
746
1075
  # return_type
747
- return_type = opts[:return_type] || 'IntegrationStateV2'
1076
+ return_type = opts[:return_type] || 'Audience'
748
1077
 
749
1078
  # auth_names
750
1079
  auth_names = opts[:auth_names] || ['api_key_v1']
@@ -760,42 +1089,39 @@ module TalonOne
760
1089
 
761
1090
  data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
762
1091
  if @api_client.config.debugging
763
- @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1092
+ @api_client.config.logger.debug "API called: IntegrationApi#update_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
764
1093
  end
765
1094
  return data, status_code, headers
766
1095
  end
767
1096
 
768
- # Update multiple Customer Profiles
769
- # Update (or create) up to 1000 [Customer Profiles](https://developers.talon.one/Getting-Started/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://developers.talon.one/Integration-API/API-Reference#updateCustomerSessionV2).
770
- # @param body [MultipleCustomerProfileIntegrationRequest]
1097
+ # Update multiple customer profiles' audiences
1098
+ # Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000.
1099
+ # @param body [CustomerProfileAudienceRequest]
771
1100
  # @param [Hash] opts the optional parameters
772
- # @option opts [String] :silent If set to &#x60;yes&#x60;, response will be an empty 204, otherwise a list of integration states will be generated (up to 1000).
773
- # @return [MultipleCustomerProfileIntegrationResponseV2]
774
- def update_customer_profiles_v2(body, opts = {})
775
- data, _status_code, _headers = update_customer_profiles_v2_with_http_info(body, opts)
776
- data
1101
+ # @return [nil]
1102
+ def update_customer_profile_audiences(body, opts = {})
1103
+ update_customer_profile_audiences_with_http_info(body, opts)
1104
+ nil
777
1105
  end
778
1106
 
779
- # Update multiple Customer Profiles
780
- # Update (or create) up to 1000 [Customer Profiles](https://developers.talon.one/Getting-Started/entities#customer-profile) in 1 request. The &#x60;integrationId&#x60; must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](https://developers.talon.one/Integration-API/API-Reference#updateCustomerSessionV2).
781
- # @param body [MultipleCustomerProfileIntegrationRequest]
1107
+ # Update multiple customer profiles&#39; audiences
1108
+ # Update the specified customer profiles with the specified audiences. Use this endpoint when customers join or leave audiences. The limit of customer profiles per request is 1000.
1109
+ # @param body [CustomerProfileAudienceRequest]
782
1110
  # @param [Hash] opts the optional parameters
783
- # @option opts [String] :silent If set to &#x60;yes&#x60;, response will be an empty 204, otherwise a list of integration states will be generated (up to 1000).
784
- # @return [Array<(MultipleCustomerProfileIntegrationResponseV2, Integer, Hash)>] MultipleCustomerProfileIntegrationResponseV2 data, response status code and response headers
785
- def update_customer_profiles_v2_with_http_info(body, opts = {})
1111
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1112
+ def update_customer_profile_audiences_with_http_info(body, opts = {})
786
1113
  if @api_client.config.debugging
787
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profiles_v2 ...'
1114
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_audiences ...'
788
1115
  end
789
1116
  # verify the required parameter 'body' is set
790
1117
  if @api_client.config.client_side_validation && body.nil?
791
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profiles_v2"
1118
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_audiences"
792
1119
  end
793
1120
  # resource path
794
- local_var_path = '/v2/customer_profiles'
1121
+ local_var_path = '/v2/customer_audiences'
795
1122
 
796
1123
  # query parameters
797
1124
  query_params = opts[:query_params] || {}
798
- query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
799
1125
 
800
1126
  # header parameters
801
1127
  header_params = opts[:header_params] || {}
@@ -811,7 +1137,7 @@ module TalonOne
811
1137
  post_body = opts[:body] || @api_client.object_to_http_body(body)
812
1138
 
813
1139
  # return_type
814
- return_type = opts[:return_type] || 'MultipleCustomerProfileIntegrationResponseV2'
1140
+ return_type = opts[:return_type]
815
1141
 
816
1142
  # auth_names
817
1143
  auth_names = opts[:auth_names] || ['api_key_v1']
@@ -825,49 +1151,52 @@ module TalonOne
825
1151
  :return_type => return_type
826
1152
  )
827
1153
 
828
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1154
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
829
1155
  if @api_client.config.debugging
830
- @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profiles_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1156
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_audiences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
831
1157
  end
832
1158
  return data, status_code, headers
833
1159
  end
834
1160
 
835
- # Update a Customer Session V1
836
- # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, migrate to [API V2.0](https://developers.talon.one/Getting-Started/APIV2). Update (or create) a [Customer Session](https://developers.talon.one/Getting-Started/entities#customer-session). For example, use this endpoint to represent which items are in the customer's cart. The Talon.One platform supports multiple simultaneous sessions for the same profile. If you have multiple ways of accessing the same application you can either: - Track multiple independent sessions or, - Use the same session across all of them. You should share sessions when application access points share other state, such as the user's cart. If two points of access to the application have independent states, for example a user can have different items in their cart across the two) they should use independent customer session ID's. To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. To track an anonymous session use the empty string (`\"\"`) as the `profileId`. **Note:** You do **not** have to create a customer profile first. If the specified profile does not exist, an empty profile is created automatically. Updating a customer profile returns a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated.
837
- # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
838
- # @param body [NewCustomerSession]
1161
+ # Update customer profile
1162
+ # Update (or create) a [Customer Profile](/docs/dev/concepts/entities#customer-profile). **Performance tips** Updating a customer profile returns a response with the requested integration state. You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. You can also set `runRuleEngine` to `false` to prevent unwanted rule executions. This allows you to improve response times. If `runRuleEngine` is set to `true`, the response includes: - The effects generated by the triggered campaigns. - The created coupons and referral objects.
1163
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1164
+ # @param body [CustomerProfileIntegrationRequestV2]
839
1165
  # @param [Hash] opts the optional parameters
840
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
841
- # @return [IntegrationState]
842
- def update_customer_session(customer_session_id, body, opts = {})
843
- data, _status_code, _headers = update_customer_session_with_http_info(customer_session_id, body, opts)
1166
+ # @option opts [Boolean] :run_rule_engine Indicates whether to run the rule engine. Setting this property to &#x60;false&#x60; improves response times. (default to false)
1167
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. Only used when &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;.
1168
+ # @return [IntegrationStateV2]
1169
+ def update_customer_profile_v2(integration_id, body, opts = {})
1170
+ data, _status_code, _headers = update_customer_profile_v2_with_http_info(integration_id, body, opts)
844
1171
  data
845
1172
  end
846
1173
 
847
- # Update a Customer Session V1
848
- # ⚠️ Deprecation Notice: Support for requests to this endpoint will end on 15.07.2021. We will not remove the endpoint, and it will still be accessible for you to use. For new features support, migrate to [API V2.0](https://developers.talon.one/Getting-Started/APIV2). Update (or create) a [Customer Session](https://developers.talon.one/Getting-Started/entities#customer-session). For example, use this endpoint to represent which items are in the customer&#39;s cart. The Talon.One platform supports multiple simultaneous sessions for the same profile. If you have multiple ways of accessing the same application you can either: - Track multiple independent sessions or, - Use the same session across all of them. You should share sessions when application access points share other state, such as the user&#39;s cart. If two points of access to the application have independent states, for example a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. To link a session to a customer profile, set the &#x60;profileId&#x60; parameter in the request body to a customer profile&#39;s &#x60;integrationId&#x60;. To track an anonymous session use the empty string (&#x60;\&quot;\&quot;&#x60;) as the &#x60;profileId&#x60;. **Note:** You do **not** have to create a customer profile first. If the specified profile does not exist, an empty profile is created automatically. Updating a customer profile returns a response with the full integration state. This includes the current state of the customer profile, the customer session, the event that was recorded, and an array of effects that took place. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated.
849
- # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
850
- # @param body [NewCustomerSession]
1174
+ # Update customer profile
1175
+ # Update (or create) a [Customer Profile](/docs/dev/concepts/entities#customer-profile). **Performance tips** Updating a customer profile returns a response with the requested integration state. You can use the &#x60;responseContent&#x60; property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. You can also set &#x60;runRuleEngine&#x60; to &#x60;false&#x60; to prevent unwanted rule executions. This allows you to improve response times. If &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns. - The created coupons and referral objects.
1176
+ # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1177
+ # @param body [CustomerProfileIntegrationRequestV2]
851
1178
  # @param [Hash] opts the optional parameters
852
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
853
- # @return [Array<(IntegrationState, Integer, Hash)>] IntegrationState data, response status code and response headers
854
- def update_customer_session_with_http_info(customer_session_id, body, opts = {})
1179
+ # @option opts [Boolean] :run_rule_engine Indicates whether to run the rule engine. Setting this property to &#x60;false&#x60; improves response times.
1180
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. Only used when &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;.
1181
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
1182
+ def update_customer_profile_v2_with_http_info(integration_id, body, opts = {})
855
1183
  if @api_client.config.debugging
856
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_session ...'
1184
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_v2 ...'
857
1185
  end
858
- # verify the required parameter 'customer_session_id' is set
859
- if @api_client.config.client_side_validation && customer_session_id.nil?
860
- fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.update_customer_session"
1186
+ # verify the required parameter 'integration_id' is set
1187
+ if @api_client.config.client_side_validation && integration_id.nil?
1188
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile_v2"
861
1189
  end
862
1190
  # verify the required parameter 'body' is set
863
1191
  if @api_client.config.client_side_validation && body.nil?
864
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_session"
1192
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_v2"
865
1193
  end
866
1194
  # resource path
867
- local_var_path = '/v1/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
1195
+ local_var_path = '/v2/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
868
1196
 
869
1197
  # query parameters
870
1198
  query_params = opts[:query_params] || {}
1199
+ query_params[:'runRuleEngine'] = opts[:'run_rule_engine'] if !opts[:'run_rule_engine'].nil?
871
1200
  query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
872
1201
 
873
1202
  # header parameters
@@ -884,10 +1213,77 @@ module TalonOne
884
1213
  post_body = opts[:body] || @api_client.object_to_http_body(body)
885
1214
 
886
1215
  # return_type
887
- return_type = opts[:return_type] || 'IntegrationState'
1216
+ return_type = opts[:return_type] || 'IntegrationStateV2'
1217
+
1218
+ # auth_names
1219
+ auth_names = opts[:auth_names] || ['api_key_v1']
1220
+
1221
+ new_options = opts.merge(
1222
+ :header_params => header_params,
1223
+ :query_params => query_params,
1224
+ :form_params => form_params,
1225
+ :body => post_body,
1226
+ :auth_names => auth_names,
1227
+ :return_type => return_type
1228
+ )
1229
+
1230
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1231
+ if @api_client.config.debugging
1232
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1233
+ end
1234
+ return data, status_code, headers
1235
+ end
1236
+
1237
+ # Update multiple customer profiles
1238
+ # Update (or create) up to 1000 [customer profiles](/docs/dev/concepts/entities#customer-profile) in 1 request. The `integrationId` must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](/integration-api/#tag/Customer-sessions).
1239
+ # @param body [MultipleCustomerProfileIntegrationRequest]
1240
+ # @param [Hash] opts the optional parameters
1241
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the perfomance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains essential data such as the updated customer profiles and session-related information. (default to 'yes')
1242
+ # @return [MultipleCustomerProfileIntegrationResponseV2]
1243
+ def update_customer_profiles_v2(body, opts = {})
1244
+ data, _status_code, _headers = update_customer_profiles_v2_with_http_info(body, opts)
1245
+ data
1246
+ end
1247
+
1248
+ # Update multiple customer profiles
1249
+ # Update (or create) up to 1000 [customer profiles](/docs/dev/concepts/entities#customer-profile) in 1 request. The &#x60;integrationId&#x60; must be any identifier that remains stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. A customer profile [can be linked to one or more sessions](/integration-api/#tag/Customer-sessions).
1250
+ # @param body [MultipleCustomerProfileIntegrationRequest]
1251
+ # @param [Hash] opts the optional parameters
1252
+ # @option opts [String] :silent Possible values: &#x60;yes&#x60; or &#x60;no&#x60;. - &#x60;yes&#x60;: Increases the perfomance of the API call by returning a 204 response. - &#x60;no&#x60;: Returns a 200 response that contains essential data such as the updated customer profiles and session-related information.
1253
+ # @return [Array<(MultipleCustomerProfileIntegrationResponseV2, Integer, Hash)>] MultipleCustomerProfileIntegrationResponseV2 data, response status code and response headers
1254
+ def update_customer_profiles_v2_with_http_info(body, opts = {})
1255
+ if @api_client.config.debugging
1256
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profiles_v2 ...'
1257
+ end
1258
+ # verify the required parameter 'body' is set
1259
+ if @api_client.config.client_side_validation && body.nil?
1260
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profiles_v2"
1261
+ end
1262
+ # resource path
1263
+ local_var_path = '/v2/customer_profiles'
1264
+
1265
+ # query parameters
1266
+ query_params = opts[:query_params] || {}
1267
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
1268
+
1269
+ # header parameters
1270
+ header_params = opts[:header_params] || {}
1271
+ # HTTP header 'Accept' (if needed)
1272
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1273
+ # HTTP header 'Content-Type'
1274
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1275
+
1276
+ # form parameters
1277
+ form_params = opts[:form_params] || {}
1278
+
1279
+ # http body (model)
1280
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1281
+
1282
+ # return_type
1283
+ return_type = opts[:return_type] || 'MultipleCustomerProfileIntegrationResponseV2'
888
1284
 
889
1285
  # auth_names
890
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
1286
+ auth_names = opts[:auth_names] || ['api_key_v1']
891
1287
 
892
1288
  new_options = opts.merge(
893
1289
  :header_params => header_params,
@@ -900,14 +1296,14 @@ module TalonOne
900
1296
 
901
1297
  data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
902
1298
  if @api_client.config.debugging
903
- @api_client.config.logger.debug "API called: IntegrationApi#update_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1299
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profiles_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
904
1300
  end
905
1301
  return data, status_code, headers
906
1302
  end
907
1303
 
908
- # Update a Customer Session
909
- # Update (or create) a [Customer Session](https://developers.talon.one/Getting-Started/entities#customer-session). For example, use this endpoint to represent which items are in the customer's cart. The Talon.One platform supports multiple simultaneous sessions for the same profile. If you have multiple ways of accessing the same application you can either: - Track multiple independent sessions or, - Use the same session across all of them. You should share sessions when application access points share other state, such as the user's cart. If two points of access to the application have independent states, for example a user can have different items in their cart across the two) they should use independent customer session ID's. To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. To track an anonymous session use the empty string (`\"\"`) as the `profileId`. **Note:** You do **not** have to create a customer profile first. If the specified profile does not exist, an empty profile is created automatically. Updating a customer session returns a response with the requested integration state. If `runRuleEngine` is set to `true`, the response includes: - The effects generated by the triggered campaigns. - The created coupons and referral objects. - Any entity that was requested in the `responseContent` request parameter. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated.
910
- # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
1304
+ # Update customer session
1305
+ # Update or create a [customer session](/docs/dev/concepts/entities#customer-session). For example, use this endpoint to share the content of a customer's cart with Talon.One and to check which promotion rules apply. **Note:** The currency for the session and the cart items in the session is the same as the Application that owns this session. **Session management** The Talon.One platform supports multiple simultaneous sessions for the same profile. If you have multiple ways of accessing the same Application you can either: - Track multiple independent sessions or, - Use the same session across all of them. You should share sessions when application access points share other state, such as the user's cart. If two points of access to the application have independent states, for example a user can have different items in their cart across the two) they should use independent customer session ID's. See more information and tips about session management in the [documentation](/docs/dev/concepts/entities#customer-session). **Sessions and customer profiles** - To link a session to a customer profile, set the `profileId` parameter in the request body to a customer profile's `integrationId`. - While you can create an anonymous session with `profileId=\"\"`, we recommend you use a guest ID instead. **Note:** You do **not** have to create a customer profile first. If the specified profile does not exist, an empty profile is created automatically. **Performance tips** Updating a customer session returns a response with the requested integration state. You can use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. For more information, see the [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
1306
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session endpoint](https://docs.talon.one/management-api/#operation/getApplicationSessions).
911
1307
  # @param body [IntegrationRequest]
912
1308
  # @param [Hash] opts the optional parameters
913
1309
  # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
@@ -917,9 +1313,9 @@ module TalonOne
917
1313
  data
918
1314
  end
919
1315
 
920
- # Update a Customer Session
921
- # Update (or create) a [Customer Session](https://developers.talon.one/Getting-Started/entities#customer-session). For example, use this endpoint to represent which items are in the customer&#39;s cart. The Talon.One platform supports multiple simultaneous sessions for the same profile. If you have multiple ways of accessing the same application you can either: - Track multiple independent sessions or, - Use the same session across all of them. You should share sessions when application access points share other state, such as the user&#39;s cart. If two points of access to the application have independent states, for example a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. To link a session to a customer profile, set the &#x60;profileId&#x60; parameter in the request body to a customer profile&#39;s &#x60;integrationId&#x60;. To track an anonymous session use the empty string (&#x60;\&quot;\&quot;&#x60;) as the &#x60;profileId&#x60;. **Note:** You do **not** have to create a customer profile first. If the specified profile does not exist, an empty profile is created automatically. Updating a customer session returns a response with the requested integration state. If &#x60;runRuleEngine&#x60; is set to &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns. - The created coupons and referral objects. - Any entity that was requested in the &#x60;responseContent&#x60; request parameter. The currency for the session and the cart items in the session is the same as that of the application with which the session is associated.
922
- # @param customer_session_id [String] The custom identifier for this session, must be unique within the account.
1316
+ # Update customer session
1317
+ # Update or create a [customer session](/docs/dev/concepts/entities#customer-session). For example, use this endpoint to share the content of a customer&#39;s cart with Talon.One and to check which promotion rules apply. **Note:** The currency for the session and the cart items in the session is the same as the Application that owns this session. **Session management** The Talon.One platform supports multiple simultaneous sessions for the same profile. If you have multiple ways of accessing the same Application you can either: - Track multiple independent sessions or, - Use the same session across all of them. You should share sessions when application access points share other state, such as the user&#39;s cart. If two points of access to the application have independent states, for example a user can have different items in their cart across the two) they should use independent customer session ID&#39;s. See more information and tips about session management in the [documentation](/docs/dev/concepts/entities#customer-session). **Sessions and customer profiles** - To link a session to a customer profile, set the &#x60;profileId&#x60; parameter in the request body to a customer profile&#39;s &#x60;integrationId&#x60;. - While you can create an anonymous session with &#x60;profileId&#x3D;\&quot;\&quot;&#x60;, we recommend you use a guest ID instead. **Note:** You do **not** have to create a customer profile first. If the specified profile does not exist, an empty profile is created automatically. **Performance tips** Updating a customer session returns a response with the requested integration state. You can use the &#x60;responseContent&#x60; property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. For more information, see the [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
1318
+ # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session endpoint](https://docs.talon.one/management-api/#operation/getApplicationSessions).
923
1319
  # @param body [IntegrationRequest]
924
1320
  # @param [Hash] opts the optional parameters
925
1321
  # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.