talon_one 2.4.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1161) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +43 -0
  3. data/README.md +325 -179
  4. data/docs/AcceptCouponEffectProps.md +1 -1
  5. data/docs/AcceptReferralEffectProps.md +1 -1
  6. data/docs/AccessLogEntry.md +15 -10
  7. data/docs/Account.md +9 -9
  8. data/docs/AccountAdditionalCost.md +13 -11
  9. data/docs/AccountAnalytics.md +37 -35
  10. data/docs/AccountDashboardStatistic.md +27 -0
  11. data/docs/AccountDashboardStatisticApiCalls.md +19 -0
  12. data/docs/AccountDashboardStatisticCampaigns.md +19 -0
  13. data/docs/AccountDashboardStatisticDiscount.md +21 -0
  14. data/docs/AccountDashboardStatisticLoyaltyPoints.md +19 -0
  15. data/docs/AccountDashboardStatisticReferrals.md +19 -0
  16. data/docs/AccountDashboardStatisticRevenue.md +21 -0
  17. data/docs/AccountEntity.md +1 -1
  18. data/docs/AccountLimits.md +12 -12
  19. data/docs/AddFreeItemEffectProps.md +3 -3
  20. data/docs/AddItemCatalogAction.md +23 -0
  21. data/docs/AddLoyaltyPoints.md +31 -0
  22. data/docs/AddLoyaltyPointsEffectProps.md +22 -10
  23. data/docs/AddedDeductedPointsNotificationPolicy.md +19 -0
  24. data/docs/AdditionalCost.md +1 -1
  25. data/docs/Application.md +33 -29
  26. data/docs/ApplicationAPIKey.md +16 -16
  27. data/docs/ApplicationApiHealth.md +3 -3
  28. data/docs/ApplicationCampaignStats.md +6 -6
  29. data/docs/ApplicationCustomer.md +16 -12
  30. data/docs/ApplicationCustomerEntity.md +1 -1
  31. data/docs/ApplicationEntity.md +1 -1
  32. data/docs/ApplicationEvent.md +7 -7
  33. data/docs/ApplicationNotification.md +17 -0
  34. data/docs/ApplicationReferee.md +5 -5
  35. data/docs/ApplicationSession.md +17 -15
  36. data/docs/ApplicationSessionEntity.md +1 -1
  37. data/docs/AsyncCouponCreationResponse.md +17 -0
  38. data/docs/Attribute.md +24 -14
  39. data/docs/Audience.md +19 -11
  40. data/docs/AudienceAnalytics.md +19 -0
  41. data/docs/AudienceCustomer.md +41 -0
  42. data/docs/AudienceIntegrationID.md +17 -0
  43. data/docs/AudienceMembership.md +2 -2
  44. data/docs/AwardGiveawayEffectProps.md +5 -5
  45. data/docs/BaseLoyaltyProgram.md +31 -0
  46. data/docs/BaseNotification.md +21 -0
  47. data/docs/BaseNotificationEntity.md +17 -0
  48. data/docs/BaseNotificationWebhook.md +25 -0
  49. data/docs/BaseNotifications.md +17 -0
  50. data/docs/BaseSamlConnection.md +1 -1
  51. data/docs/Binding.md +6 -4
  52. data/docs/BulkApplicationNotification.md +19 -0
  53. data/docs/BulkCampaignNotification.md +19 -0
  54. data/docs/Campaign.md +47 -37
  55. data/docs/CampaignActivationRequest.md +17 -0
  56. data/docs/CampaignAnalytics.md +8 -8
  57. data/docs/CampaignCollection.md +37 -0
  58. data/docs/CampaignCollectionWithoutPayload.md +35 -0
  59. data/docs/CampaignCopy.md +10 -10
  60. data/docs/CampaignCreatedNotification.md +21 -0
  61. data/docs/CampaignDeletedNotification.md +19 -0
  62. data/docs/CampaignEditedNotification.md +21 -0
  63. data/docs/CampaignEntity.md +1 -1
  64. data/docs/CampaignGroup.md +12 -12
  65. data/docs/CampaignNotification.md +17 -0
  66. data/docs/CampaignPrioritiesChangedNotification.md +21 -0
  67. data/docs/CampaignPrioritiesV2.md +21 -0
  68. data/docs/CampaignRulesetChangedNotification.md +21 -0
  69. data/docs/CampaignSearch.md +1 -1
  70. data/docs/CampaignSet.md +10 -8
  71. data/docs/CampaignSetBranchNode.md +6 -6
  72. data/docs/CampaignSetIDs.md +17 -0
  73. data/docs/CampaignSetLeafNode.md +1 -1
  74. data/docs/CampaignSetNode.md +1 -1
  75. data/docs/CampaignSetV2.md +25 -0
  76. data/docs/CampaignStateChangedNotification.md +23 -0
  77. data/docs/CampaignTemplate.md +61 -0
  78. data/docs/CampaignTemplateCollection.md +19 -0
  79. data/docs/CampaignTemplateParams.md +23 -0
  80. data/docs/CardLedgerTransactionLogEntry.md +41 -0
  81. data/docs/CardLedgerTransactionLogEntryIntegrationAPI.md +41 -0
  82. data/docs/CartItem.md +26 -18
  83. data/docs/Catalog.md +33 -0
  84. data/docs/CatalogAction.md +19 -0
  85. data/docs/CatalogActionFilter.md +21 -0
  86. data/docs/CatalogItem.md +29 -0
  87. data/docs/CatalogSyncRequest.md +19 -0
  88. data/docs/CatalogsStrikethroughNotificationPolicy.md +17 -0
  89. data/docs/Change.md +12 -10
  90. data/docs/ChangeProfilePassword.md +2 -2
  91. data/docs/CodeGeneratorSettings.md +4 -4
  92. data/docs/Collection.md +39 -0
  93. data/docs/CollectionItem.md +17 -0
  94. data/docs/CollectionWithoutPayload.md +37 -0
  95. data/docs/Coupon.md +33 -25
  96. data/docs/CouponConstraints.md +9 -7
  97. data/docs/CouponCreatedEffectProps.md +2 -2
  98. data/docs/CouponCreationJob.md +59 -0
  99. data/docs/CouponLimitConfigs.md +17 -0
  100. data/docs/CouponRejectionReason.md +3 -3
  101. data/docs/CouponReservations.md +2 -2
  102. data/docs/CouponSearch.md +1 -1
  103. data/docs/CouponValue.md +2 -2
  104. data/docs/CouponsNotificationPolicy.md +19 -0
  105. data/docs/CreateApplicationAPIKey.md +6 -6
  106. data/docs/CreateManagementKey.md +23 -0
  107. data/docs/CreateTemplateCampaign.md +31 -0
  108. data/docs/CreateTemplateCampaignResponse.md +21 -0
  109. data/docs/CustomEffect.md +14 -12
  110. data/docs/CustomEffectProps.md +12 -2
  111. data/docs/CustomerActivityReport.md +4 -4
  112. data/docs/CustomerAnalytics.md +7 -7
  113. data/docs/CustomerInventory.md +2 -2
  114. data/docs/CustomerProfile.md +17 -13
  115. data/docs/CustomerProfileAudienceRequestItem.md +6 -6
  116. data/docs/CustomerProfileIntegrationRequestV2.md +6 -4
  117. data/docs/CustomerProfileSearchQuery.md +1 -1
  118. data/docs/CustomerProfileUpdateV2Response.md +17 -0
  119. data/docs/CustomerSession.md +16 -14
  120. data/docs/CustomerSessionV2.md +34 -26
  121. data/docs/DeductLoyaltyPoints.md +23 -0
  122. data/docs/DeductLoyaltyPointsEffectProps.md +10 -6
  123. data/docs/Effect.md +15 -13
  124. data/docs/EffectEntity.md +14 -12
  125. data/docs/EmailEntity.md +1 -1
  126. data/docs/Endpoint.md +17 -0
  127. data/docs/Entity.md +4 -4
  128. data/docs/EntityWithTalangVisibleID.md +2 -2
  129. data/docs/Environment.md +9 -7
  130. data/docs/ErrorResponseWithStatus.md +21 -0
  131. data/docs/ErrorSource.md +1 -1
  132. data/docs/EvaluableCampaignIds.md +17 -0
  133. data/docs/Event.md +11 -11
  134. data/docs/EventType.md +10 -24
  135. data/docs/EventV2.md +23 -0
  136. data/docs/ExpiringPointsNotificationPolicy.md +19 -0
  137. data/docs/ExpiringPointsNotificationTrigger.md +19 -0
  138. data/docs/Export.md +8 -8
  139. data/docs/FeatureFlag.md +7 -7
  140. data/docs/FeedNotification.md +6 -6
  141. data/docs/FrontendState.md +16 -0
  142. data/docs/Giveaway.md +13 -9
  143. data/docs/GiveawaysPool.md +11 -9
  144. data/docs/Import.md +11 -11
  145. data/docs/ImportEntity.md +1 -1
  146. data/docs/InlineResponse200.md +1 -1
  147. data/docs/InlineResponse2001.md +3 -3
  148. data/docs/InlineResponse20010.md +2 -2
  149. data/docs/InlineResponse20011.md +3 -5
  150. data/docs/InlineResponse20012.md +2 -2
  151. data/docs/InlineResponse20013.md +3 -3
  152. data/docs/InlineResponse20014.md +4 -2
  153. data/docs/InlineResponse20015.md +2 -2
  154. data/docs/InlineResponse20016.md +5 -3
  155. data/docs/InlineResponse20017.md +1 -1
  156. data/docs/InlineResponse20018.md +2 -2
  157. data/docs/InlineResponse20019.md +3 -5
  158. data/docs/InlineResponse2002.md +2 -2
  159. data/docs/InlineResponse20020.md +5 -3
  160. data/docs/InlineResponse20021.md +5 -3
  161. data/docs/InlineResponse20022.md +5 -3
  162. data/docs/InlineResponse20023.md +3 -3
  163. data/docs/InlineResponse20024.md +3 -3
  164. data/docs/InlineResponse20025.md +3 -3
  165. data/docs/InlineResponse20026.md +3 -3
  166. data/docs/InlineResponse20027.md +3 -5
  167. data/docs/InlineResponse20028.md +5 -3
  168. data/docs/InlineResponse20029.md +5 -3
  169. data/docs/InlineResponse2003.md +2 -2
  170. data/docs/InlineResponse20030.md +19 -0
  171. data/docs/InlineResponse20031.md +19 -0
  172. data/docs/InlineResponse20032.md +19 -0
  173. data/docs/InlineResponse20033.md +19 -0
  174. data/docs/InlineResponse20034.md +19 -0
  175. data/docs/InlineResponse20035.md +19 -0
  176. data/docs/InlineResponse20036.md +19 -0
  177. data/docs/InlineResponse20037.md +21 -0
  178. data/docs/InlineResponse20038.md +19 -0
  179. data/docs/InlineResponse20039.md +19 -0
  180. data/docs/InlineResponse2004.md +2 -2
  181. data/docs/InlineResponse2005.md +3 -3
  182. data/docs/InlineResponse2006.md +3 -3
  183. data/docs/InlineResponse2007.md +3 -3
  184. data/docs/InlineResponse2008.md +3 -3
  185. data/docs/InlineResponse2009.md +2 -2
  186. data/docs/InlineResponse201.md +1 -1
  187. data/docs/IntegrationApi.md +932 -220
  188. data/docs/IntegrationCoupon.md +59 -0
  189. data/docs/IntegrationCustomerSessionResponse.md +19 -0
  190. data/docs/IntegrationEntity.md +4 -4
  191. data/docs/IntegrationEvent.md +4 -4
  192. data/docs/IntegrationEventV2Request.md +25 -0
  193. data/docs/IntegrationProfileEntity.md +2 -2
  194. data/docs/IntegrationRequest.md +2 -2
  195. data/docs/IntegrationStateV2.md +8 -4
  196. data/docs/InventoryCoupon.md +36 -28
  197. data/docs/InventoryReferral.md +43 -0
  198. data/docs/ItemAttribute.md +21 -0
  199. data/docs/LedgerEntry.md +17 -17
  200. data/docs/LedgerInfo.md +31 -0
  201. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +39 -0
  202. data/docs/LimitConfig.md +8 -6
  203. data/docs/LimitCounter.md +45 -0
  204. data/docs/LoginParams.md +2 -2
  205. data/docs/Loyalty.md +4 -2
  206. data/docs/LoyaltyBalance.md +23 -0
  207. data/docs/LoyaltyBalances.md +19 -0
  208. data/docs/LoyaltyCard.md +39 -0
  209. data/docs/LoyaltyCardProfileRegistration.md +19 -0
  210. data/docs/LoyaltyCardRegistration.md +17 -0
  211. data/docs/LoyaltyDashboardData.md +33 -0
  212. data/docs/LoyaltyDashboardPointsBreakdown.md +19 -0
  213. data/docs/LoyaltyLedger.md +2 -2
  214. data/docs/LoyaltyLedgerEntry.md +19 -15
  215. data/docs/LoyaltyLedgerTransactions.md +19 -0
  216. data/docs/LoyaltyMembership.md +1 -1
  217. data/docs/LoyaltyProgram.md +26 -16
  218. data/docs/LoyaltyProgramBalance.md +12 -10
  219. data/docs/LoyaltyProgramEntity.md +1 -1
  220. data/docs/LoyaltyProgramLedgers.md +8 -8
  221. data/docs/LoyaltyProgramTransaction.md +49 -0
  222. data/docs/LoyaltyStatistics.md +18 -8
  223. data/docs/LoyaltySubLedger.md +13 -11
  224. data/docs/LoyaltyTier.md +8 -8
  225. data/docs/ManagementApi.md +4100 -1835
  226. data/docs/ManagementKey.md +31 -0
  227. data/docs/ModelReturn.md +37 -0
  228. data/docs/MultipleAttribute.md +17 -0
  229. data/docs/MultipleAudiences.md +19 -0
  230. data/docs/MultipleAudiencesItem.md +25 -0
  231. data/docs/MultipleCustomerProfileIntegrationRequestItem.md +4 -4
  232. data/docs/MultipleCustomerProfileIntegrationResponseV2.md +1 -1
  233. data/docs/MultipleNewAttribute.md +17 -0
  234. data/docs/MultipleNewAudiences.md +17 -0
  235. data/docs/MutableEntity.md +2 -2
  236. data/docs/NewAccountSignUp.md +2 -2
  237. data/docs/NewAdditionalCost.md +8 -6
  238. data/docs/NewApplication.md +26 -22
  239. data/docs/NewApplicationAPIKey.md +18 -18
  240. data/docs/NewAttribute.md +17 -9
  241. data/docs/NewAudience.md +14 -6
  242. data/docs/NewBaseNotification.md +19 -0
  243. data/docs/NewCampaign.md +17 -17
  244. data/docs/NewCampaignCollection.md +19 -0
  245. data/docs/NewCampaignGroup.md +5 -5
  246. data/docs/NewCampaignSet.md +3 -3
  247. data/docs/NewCampaignSetV2.md +21 -0
  248. data/docs/NewCampaignTemplate.md +43 -0
  249. data/docs/NewCatalog.md +21 -0
  250. data/docs/NewCollection.md +21 -0
  251. data/docs/NewCouponCreationJob.md +31 -0
  252. data/docs/NewCoupons.md +24 -18
  253. data/docs/NewCouponsForMultipleRecipients.md +17 -15
  254. data/docs/NewCustomEffect.md +6 -4
  255. data/docs/NewCustomerProfile.md +2 -2
  256. data/docs/NewCustomerSession.md +8 -8
  257. data/docs/NewCustomerSessionV2.md +19 -15
  258. data/docs/NewEvent.md +5 -5
  259. data/docs/NewEventType.md +6 -20
  260. data/docs/NewGiveawaysPool.md +6 -4
  261. data/docs/NewInternalAudience.md +21 -0
  262. data/docs/NewInvitation.md +5 -5
  263. data/docs/NewLoyaltyProgram.md +21 -11
  264. data/docs/NewLoyaltyTier.md +3 -3
  265. data/docs/NewManagementKey.md +33 -0
  266. data/docs/NewMultipleAudiencesItem.md +19 -0
  267. data/docs/NewNotificationWebhook.md +19 -0
  268. data/docs/NewPassword.md +2 -2
  269. data/docs/NewPicklist.md +19 -0
  270. data/docs/NewReferral.md +10 -10
  271. data/docs/NewReferralsForMultipleAdvocates.md +13 -13
  272. data/docs/NewReturn.md +17 -0
  273. data/docs/NewRole.md +8 -8
  274. data/docs/NewRuleset.md +7 -5
  275. data/docs/NewSamlConnection.md +1 -1
  276. data/docs/NewUser.md +3 -3
  277. data/docs/NewWebhook.md +16 -14
  278. data/docs/Notification.md +3 -3
  279. data/docs/NotificationWebhook.md +27 -0
  280. data/docs/OutgoingIntegrationBrazePolicy.md +19 -0
  281. data/docs/OutgoingIntegrationConfiguration.md +21 -0
  282. data/docs/OutgoingIntegrationType.md +25 -0
  283. data/docs/OutgoingIntegrationTypes.md +17 -0
  284. data/docs/OutgoingIntegrationWebhookTemplate.md +27 -0
  285. data/docs/OutgoingIntegrationWebhookTemplates.md +17 -0
  286. data/docs/PatchItemCatalogAction.md +23 -0
  287. data/docs/PatchManyItemsCatalogAction.md +21 -0
  288. data/docs/Picklist.md +31 -0
  289. data/docs/PriorityPosition.md +19 -0
  290. data/docs/ProfileAudiencesChanges.md +2 -2
  291. data/docs/RedeemReferralEffectProps.md +2 -2
  292. data/docs/Referral.md +19 -19
  293. data/docs/ReferralConstraints.md +5 -5
  294. data/docs/ReferralCreatedEffectProps.md +1 -1
  295. data/docs/ReferralRejectionReason.md +1 -1
  296. data/docs/RejectCouponEffectProps.md +5 -5
  297. data/docs/RejectReferralEffectProps.md +5 -5
  298. data/docs/RemoveItemCatalogAction.md +17 -0
  299. data/docs/RemoveManyItemsCatalogAction.md +17 -0
  300. data/docs/ReserveCouponEffectProps.md +21 -0
  301. data/docs/ReturnIntegrationRequest.md +19 -0
  302. data/docs/ReturnedCartItem.md +19 -0
  303. data/docs/Role.md +17 -17
  304. data/docs/RoleAssign.md +4 -4
  305. data/docs/RoleMembership.md +2 -2
  306. data/docs/RoleV2.md +25 -0
  307. data/docs/RoleV2ApplicationDetails.md +21 -0
  308. data/docs/RoleV2PermissionSet.md +19 -0
  309. data/docs/RoleV2Permissions.md +19 -0
  310. data/docs/RoleV2PermissionsRoles.md +21 -0
  311. data/docs/RollbackAddedLoyaltyPointsEffectProps.md +12 -6
  312. data/docs/RollbackCouponEffectProps.md +1 -1
  313. data/docs/RollbackDeductedLoyaltyPointsEffectProps.md +11 -9
  314. data/docs/RollbackDiscountEffectProps.md +13 -3
  315. data/docs/RollbackReferralEffectProps.md +1 -1
  316. data/docs/Rule.md +8 -4
  317. data/docs/RuleFailureReason.md +13 -13
  318. data/docs/Ruleset.md +17 -13
  319. data/docs/SamlConnection.md +5 -5
  320. data/docs/Session.md +5 -5
  321. data/docs/SetDiscountEffectProps.md +6 -4
  322. data/docs/SetDiscountPerAdditionalCostEffectProps.md +25 -0
  323. data/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +29 -0
  324. data/docs/SetDiscountPerItemEffectProps.md +17 -5
  325. data/docs/ShowBundleMetadataEffectProps.md +3 -3
  326. data/docs/ShowNotificationEffectProps.md +3 -3
  327. data/docs/StrikethroughChangedItem.md +29 -0
  328. data/docs/StrikethroughEffect.md +27 -0
  329. data/docs/StrikethroughLabelingNotification.md +25 -0
  330. data/docs/StrikethroughSetDiscountPerItemEffectProps.md +19 -0
  331. data/docs/StrikethroughTrigger.md +25 -0
  332. data/docs/TalangAttribute.md +33 -0
  333. data/docs/TalangAttributeVisibility.md +19 -0
  334. data/docs/TemplateArgDef.md +5 -1
  335. data/docs/TemplateDef.md +5 -5
  336. data/docs/TemplateLimitConfig.md +23 -0
  337. data/docs/Tier.md +19 -0
  338. data/docs/TransferLoyaltyCard.md +17 -0
  339. data/docs/TriggerWebhookEffectProps.md +2 -2
  340. data/docs/UpdateAccount.md +2 -2
  341. data/docs/UpdateApplication.md +25 -21
  342. data/docs/UpdateAttributeEffectProps.md +2 -2
  343. data/docs/UpdateAudience.md +2 -2
  344. data/docs/UpdateCampaign.md +15 -15
  345. data/docs/UpdateCampaignCollection.md +17 -0
  346. data/docs/UpdateCampaignGroup.md +5 -5
  347. data/docs/UpdateCampaignTemplate.md +47 -0
  348. data/docs/UpdateCatalog.md +21 -0
  349. data/docs/UpdateCollection.md +19 -0
  350. data/docs/UpdateCoupon.md +17 -11
  351. data/docs/UpdateCouponBatch.md +11 -9
  352. data/docs/UpdateCustomEffect.md +6 -4
  353. data/docs/UpdateLoyaltyCard.md +17 -0
  354. data/docs/UpdateLoyaltyProgram.md +15 -9
  355. data/docs/UpdatePicklist.md +19 -0
  356. data/docs/UpdateReferral.md +7 -7
  357. data/docs/UpdateReferralBatch.md +25 -0
  358. data/docs/UpdateRole.md +8 -8
  359. data/docs/UpdateUser.md +7 -7
  360. data/docs/UpdateUserLatestFeedTimestamp.md +1 -1
  361. data/docs/User.md +17 -17
  362. data/docs/UserEntity.md +2 -2
  363. data/docs/UserFeedNotifications.md +2 -2
  364. data/docs/Webhook.md +22 -20
  365. data/docs/WebhookActivationLogEntry.md +9 -9
  366. data/docs/WebhookLogEntry.md +18 -15
  367. data/docs/WillAwardGiveawayEffectProps.md +3 -3
  368. data/lib/talon_one/api/integration_api.rb +1168 -231
  369. data/lib/talon_one/api/management_api.rb +5076 -2861
  370. data/lib/talon_one/api_client.rb +2 -2
  371. data/lib/talon_one/api_error.rb +2 -2
  372. data/lib/talon_one/configuration.rb +8 -8
  373. data/lib/talon_one/models/accept_coupon_effect_props.rb +3 -3
  374. data/lib/talon_one/models/accept_referral_effect_props.rb +3 -3
  375. data/lib/talon_one/models/access_log_entry.rb +6 -6
  376. data/lib/talon_one/models/account.rb +8 -8
  377. data/lib/talon_one/models/account_additional_cost.rb +98 -10
  378. data/lib/talon_one/models/account_analytics.rb +39 -24
  379. data/lib/talon_one/models/account_dashboard_statistic.rb +271 -0
  380. data/lib/talon_one/models/account_dashboard_statistic_api_calls.rb +227 -0
  381. data/lib/talon_one/models/account_dashboard_statistic_campaigns.rb +227 -0
  382. data/lib/talon_one/models/account_dashboard_statistic_discount.rb +242 -0
  383. data/lib/talon_one/models/account_dashboard_statistic_loyalty_points.rb +227 -0
  384. data/lib/talon_one/models/account_dashboard_statistic_referrals.rb +227 -0
  385. data/lib/talon_one/models/account_dashboard_statistic_revenue.rb +242 -0
  386. data/lib/talon_one/models/account_entity.rb +2 -2
  387. data/lib/talon_one/models/account_limits.rb +14 -14
  388. data/lib/talon_one/models/add_free_item_effect_props.rb +4 -4
  389. data/lib/talon_one/models/add_item_catalog_action.rb +245 -0
  390. data/lib/talon_one/models/add_loyalty_points.rb +311 -0
  391. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +109 -15
  392. data/lib/talon_one/models/added_deducted_points_notification_policy.rb +269 -0
  393. data/lib/talon_one/models/additional_cost.rb +2 -2
  394. data/lib/talon_one/models/api_error.rb +2 -2
  395. data/lib/talon_one/models/application.rb +53 -17
  396. data/lib/talon_one/models/application_api_health.rb +5 -5
  397. data/lib/talon_one/models/application_api_key.rb +12 -12
  398. data/lib/talon_one/models/application_campaign_stats.rb +9 -9
  399. data/lib/talon_one/models/application_customer.rb +68 -14
  400. data/lib/talon_one/models/application_customer_entity.rb +2 -2
  401. data/lib/talon_one/models/application_entity.rb +2 -2
  402. data/lib/talon_one/models/application_event.rb +5 -5
  403. data/lib/talon_one/models/application_notification.rb +212 -0
  404. data/lib/talon_one/models/application_referee.rb +44 -6
  405. data/lib/talon_one/models/application_session.rb +60 -11
  406. data/lib/talon_one/models/application_session_entity.rb +2 -2
  407. data/lib/talon_one/models/async_coupon_creation_response.rb +212 -0
  408. data/lib/talon_one/models/attribute.rb +108 -9
  409. data/lib/talon_one/models/attributes_mandatory.rb +2 -2
  410. data/lib/talon_one/models/attributes_settings.rb +2 -2
  411. data/lib/talon_one/models/audience.rb +57 -56
  412. data/lib/talon_one/models/audience_analytics.rb +218 -0
  413. data/lib/talon_one/models/audience_customer.rb +395 -0
  414. data/lib/talon_one/models/audience_integration_id.rb +231 -0
  415. data/lib/talon_one/models/audience_membership.rb +2 -2
  416. data/lib/talon_one/models/award_giveaway_effect_props.rb +21 -2
  417. data/lib/talon_one/models/base_loyalty_program.rb +294 -0
  418. data/lib/talon_one/models/base_notification.rb +260 -0
  419. data/lib/talon_one/models/base_notification_entity.rb +211 -0
  420. data/lib/talon_one/models/base_notification_webhook.rb +275 -0
  421. data/lib/talon_one/models/base_notifications.rb +209 -0
  422. data/lib/talon_one/models/base_saml_connection.rb +2 -2
  423. data/lib/talon_one/models/binding.rb +17 -7
  424. data/lib/talon_one/models/bulk_application_notification.rb +227 -0
  425. data/lib/talon_one/models/bulk_campaign_notification.rb +227 -0
  426. data/lib/talon_one/models/campaign.rb +66 -16
  427. data/lib/talon_one/models/campaign_activation_request.rb +214 -0
  428. data/lib/talon_one/models/campaign_analytics.rb +2 -2
  429. data/lib/talon_one/models/campaign_collection.rb +370 -0
  430. data/lib/talon_one/models/campaign_collection_without_payload.rb +358 -0
  431. data/lib/talon_one/models/campaign_copy.rb +6 -6
  432. data/lib/talon_one/models/campaign_created_notification.rb +235 -0
  433. data/lib/talon_one/models/campaign_deleted_notification.rb +227 -0
  434. data/lib/talon_one/models/campaign_edited_notification.rb +235 -0
  435. data/lib/talon_one/models/campaign_entity.rb +2 -2
  436. data/lib/talon_one/models/campaign_group.rb +7 -7
  437. data/lib/talon_one/models/campaign_group_entity.rb +2 -2
  438. data/lib/talon_one/models/campaign_notification.rb +212 -0
  439. data/lib/talon_one/models/campaign_priorities_changed_notification.rb +236 -0
  440. data/lib/talon_one/models/campaign_priorities_v2.rb +230 -0
  441. data/lib/talon_one/models/campaign_ruleset_changed_notification.rb +230 -0
  442. data/lib/talon_one/models/campaign_search.rb +3 -3
  443. data/lib/talon_one/models/campaign_set.rb +19 -9
  444. data/lib/talon_one/models/campaign_set_branch_node.rb +5 -5
  445. data/lib/talon_one/models/campaign_set_i_ds.rb +208 -0
  446. data/lib/talon_one/models/campaign_set_leaf_node.rb +3 -3
  447. data/lib/talon_one/models/campaign_set_node.rb +2 -2
  448. data/lib/talon_one/models/campaign_set_v2.rb +291 -0
  449. data/lib/talon_one/models/campaign_state_changed_notification.rb +251 -0
  450. data/lib/talon_one/models/campaign_template.rb +543 -0
  451. data/lib/talon_one/models/campaign_template_collection.rb +252 -0
  452. data/lib/talon_one/models/campaign_template_params.rb +305 -0
  453. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +508 -0
  454. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +508 -0
  455. data/lib/talon_one/models/cart_item.rb +59 -41
  456. data/lib/talon_one/models/catalog.rb +330 -0
  457. data/lib/talon_one/models/catalog_action.rb +261 -0
  458. data/lib/talon_one/models/catalog_action_filter.rb +277 -0
  459. data/lib/talon_one/models/catalog_item.rb +313 -0
  460. data/lib/talon_one/models/catalog_sync_request.rb +238 -0
  461. data/lib/talon_one/models/catalogs_strikethrough_notification_policy.rb +231 -0
  462. data/lib/talon_one/models/change.rb +20 -10
  463. data/lib/talon_one/models/change_profile_password.rb +2 -2
  464. data/lib/talon_one/models/code_generator_settings.rb +4 -4
  465. data/lib/talon_one/models/collection.rb +382 -0
  466. data/lib/talon_one/models/collection_item.rb +212 -0
  467. data/lib/talon_one/models/collection_without_payload.rb +370 -0
  468. data/lib/talon_one/models/coupon.rb +100 -15
  469. data/lib/talon_one/models/coupon_constraints.rb +40 -6
  470. data/lib/talon_one/models/coupon_created_effect_props.rb +4 -4
  471. data/lib/talon_one/models/coupon_creation_job.rb +603 -0
  472. data/lib/talon_one/models/coupon_limit_configs.rb +209 -0
  473. data/lib/talon_one/models/coupon_rejection_reason.rb +4 -4
  474. data/lib/talon_one/models/coupon_reservations.rb +3 -3
  475. data/lib/talon_one/models/coupon_search.rb +3 -3
  476. data/lib/talon_one/models/coupon_value.rb +3 -3
  477. data/lib/talon_one/models/coupons_notification_policy.rb +269 -0
  478. data/lib/talon_one/models/create_application_api_key.rb +7 -7
  479. data/lib/talon_one/models/create_management_key.rb +256 -0
  480. data/lib/talon_one/models/create_template_campaign.rb +314 -0
  481. data/lib/talon_one/models/create_template_campaign_response.rb +236 -0
  482. data/lib/talon_one/models/custom_effect.rb +76 -19
  483. data/lib/talon_one/models/custom_effect_props.rb +67 -12
  484. data/lib/talon_one/models/customer_activity_report.rb +24 -5
  485. data/lib/talon_one/models/customer_analytics.rb +10 -10
  486. data/lib/talon_one/models/customer_inventory.rb +4 -3
  487. data/lib/talon_one/models/customer_profile.rb +66 -22
  488. data/lib/talon_one/models/customer_profile_audience_request.rb +2 -2
  489. data/lib/talon_one/models/customer_profile_audience_request_item.rb +24 -2
  490. data/lib/talon_one/models/customer_profile_integration_request_v2.rb +17 -5
  491. data/lib/talon_one/models/customer_profile_search_query.rb +3 -3
  492. data/lib/talon_one/models/customer_profile_update_v2_response.rb +212 -0
  493. data/lib/talon_one/models/customer_session.rb +47 -13
  494. data/lib/talon_one/models/customer_session_v2.rb +103 -30
  495. data/lib/talon_one/models/{loyalty_points.rb → deduct_loyalty_points.rb} +28 -38
  496. data/lib/talon_one/models/deduct_loyalty_points_effect_props.rb +51 -11
  497. data/lib/talon_one/models/effect.rb +20 -9
  498. data/lib/talon_one/models/effect_entity.rb +23 -13
  499. data/lib/talon_one/models/email_entity.rb +2 -2
  500. data/lib/talon_one/models/endpoint.rb +212 -0
  501. data/lib/talon_one/models/entity.rb +4 -4
  502. data/lib/talon_one/models/entity_with_talang_visible_id.rb +2 -2
  503. data/lib/talon_one/models/environment.rb +24 -11
  504. data/lib/talon_one/models/error_effect_props.rb +2 -2
  505. data/lib/talon_one/models/error_response.rb +2 -2
  506. data/lib/talon_one/models/error_response_with_status.rb +228 -0
  507. data/lib/talon_one/models/error_source.rb +3 -3
  508. data/lib/talon_one/models/evaluable_campaign_ids.rb +209 -0
  509. data/lib/talon_one/models/event.rb +6 -6
  510. data/lib/talon_one/models/event_type.rb +11 -154
  511. data/lib/talon_one/models/event_v2.rb +264 -0
  512. data/lib/talon_one/models/expiring_points_notification_policy.rb +247 -0
  513. data/lib/talon_one/models/expiring_points_notification_trigger.rb +280 -0
  514. data/lib/talon_one/models/export.rb +8 -8
  515. data/lib/talon_one/models/feature_flag.rb +6 -6
  516. data/lib/talon_one/models/features_feed.rb +2 -2
  517. data/lib/talon_one/models/feed_notification.rb +9 -9
  518. data/lib/talon_one/models/frontend_state.rb +39 -0
  519. data/lib/talon_one/models/func_arg_def.rb +4 -4
  520. data/lib/talon_one/models/function_def.rb +2 -2
  521. data/lib/talon_one/models/giveaway.rb +29 -9
  522. data/lib/talon_one/models/giveaways_pool.rb +22 -7
  523. data/lib/talon_one/models/import.rb +7 -7
  524. data/lib/talon_one/models/import_entity.rb +2 -2
  525. data/lib/talon_one/models/inline_response200.rb +2 -2
  526. data/lib/talon_one/models/inline_response2001.rb +13 -13
  527. data/lib/talon_one/models/inline_response20010.rb +3 -3
  528. data/lib/talon_one/models/inline_response20011.rb +9 -13
  529. data/lib/talon_one/models/inline_response20012.rb +3 -3
  530. data/lib/talon_one/models/inline_response20013.rb +15 -13
  531. data/lib/talon_one/models/inline_response20014.rb +13 -9
  532. data/lib/talon_one/models/inline_response20015.rb +8 -3
  533. data/lib/talon_one/models/inline_response20016.rb +13 -9
  534. data/lib/talon_one/models/inline_response20017.rb +3 -3
  535. data/lib/talon_one/models/inline_response20018.rb +3 -3
  536. data/lib/talon_one/models/inline_response20019.rb +9 -13
  537. data/lib/talon_one/models/inline_response2002.rb +3 -3
  538. data/lib/talon_one/models/inline_response20020.rb +13 -9
  539. data/lib/talon_one/models/inline_response20021.rb +13 -9
  540. data/lib/talon_one/models/inline_response20022.rb +13 -9
  541. data/lib/talon_one/models/inline_response20023.rb +13 -13
  542. data/lib/talon_one/models/inline_response20024.rb +13 -13
  543. data/lib/talon_one/models/inline_response20025.rb +10 -15
  544. data/lib/talon_one/models/inline_response20026.rb +13 -13
  545. data/lib/talon_one/models/inline_response20027.rb +9 -13
  546. data/lib/talon_one/models/inline_response20028.rb +13 -9
  547. data/lib/talon_one/models/inline_response20029.rb +13 -9
  548. data/lib/talon_one/models/inline_response2003.rb +3 -3
  549. data/lib/talon_one/models/inline_response20030.rb +227 -0
  550. data/lib/talon_one/models/inline_response20031.rb +227 -0
  551. data/lib/talon_one/models/inline_response20032.rb +227 -0
  552. data/lib/talon_one/models/inline_response20033.rb +227 -0
  553. data/lib/talon_one/models/inline_response20034.rb +227 -0
  554. data/lib/talon_one/models/inline_response20035.rb +227 -0
  555. data/lib/talon_one/models/inline_response20036.rb +227 -0
  556. data/lib/talon_one/models/inline_response20037.rb +231 -0
  557. data/lib/talon_one/models/inline_response20038.rb +227 -0
  558. data/lib/talon_one/models/inline_response20039.rb +227 -0
  559. data/lib/talon_one/models/inline_response2004.rb +3 -3
  560. data/lib/talon_one/models/inline_response2005.rb +13 -13
  561. data/lib/talon_one/models/inline_response2006.rb +13 -13
  562. data/lib/talon_one/models/inline_response2007.rb +13 -13
  563. data/lib/talon_one/models/inline_response2008.rb +13 -13
  564. data/lib/talon_one/models/inline_response2009.rb +3 -3
  565. data/lib/talon_one/models/inline_response201.rb +2 -2
  566. data/lib/talon_one/models/integration_coupon.rb +569 -0
  567. data/lib/talon_one/models/integration_customer_session_response.rb +217 -0
  568. data/lib/talon_one/models/integration_entity.rb +23 -4
  569. data/lib/talon_one/models/integration_event.rb +3 -3
  570. data/lib/talon_one/models/integration_event_v2_request.rb +298 -0
  571. data/lib/talon_one/models/integration_profile_entity.rb +3 -3
  572. data/lib/talon_one/models/integration_request.rb +3 -3
  573. data/lib/talon_one/models/integration_state.rb +2 -2
  574. data/lib/talon_one/models/integration_state_v2.rb +30 -9
  575. data/lib/talon_one/models/inventory_coupon.rb +98 -13
  576. data/lib/talon_one/models/inventory_referral.rb +446 -0
  577. data/lib/talon_one/models/item_attribute.rb +243 -0
  578. data/lib/talon_one/models/ledger_entry.rb +11 -11
  579. data/lib/talon_one/models/ledger_info.rb +302 -0
  580. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +474 -0
  581. data/lib/talon_one/models/library_attribute.rb +2 -2
  582. data/lib/talon_one/models/limit_config.rb +28 -6
  583. data/lib/talon_one/models/limit_counter.rb +398 -0
  584. data/lib/talon_one/models/login_params.rb +2 -2
  585. data/lib/talon_one/models/loyalty.rb +16 -4
  586. data/lib/talon_one/models/loyalty_balance.rb +238 -0
  587. data/lib/talon_one/models/{new_feature_flags.rb → loyalty_balances.rb} +22 -30
  588. data/lib/talon_one/models/loyalty_card.rb +419 -0
  589. data/lib/talon_one/models/loyalty_card_profile_registration.rb +246 -0
  590. data/lib/talon_one/models/loyalty_card_registration.rb +212 -0
  591. data/lib/talon_one/models/loyalty_dashboard_data.rb +331 -0
  592. data/lib/talon_one/models/loyalty_dashboard_points_breakdown.rb +225 -0
  593. data/lib/talon_one/models/loyalty_ledger.rb +4 -4
  594. data/lib/talon_one/models/loyalty_ledger_entry.rb +27 -13
  595. data/lib/talon_one/models/loyalty_ledger_transactions.rb +220 -0
  596. data/lib/talon_one/models/loyalty_membership.rb +2 -2
  597. data/lib/talon_one/models/loyalty_program.rb +143 -37
  598. data/lib/talon_one/models/loyalty_program_balance.rb +21 -11
  599. data/lib/talon_one/models/loyalty_program_entity.rb +2 -2
  600. data/lib/talon_one/models/loyalty_program_ledgers.rb +8 -8
  601. data/lib/talon_one/models/loyalty_program_transaction.rb +553 -0
  602. data/lib/talon_one/models/loyalty_statistics.rb +83 -10
  603. data/lib/talon_one/models/loyalty_sub_ledger.rb +26 -17
  604. data/lib/talon_one/models/loyalty_tier.rb +10 -10
  605. data/lib/talon_one/models/management_key.rb +317 -0
  606. data/lib/talon_one/models/manager_config.rb +2 -2
  607. data/lib/talon_one/models/meta.rb +2 -2
  608. data/lib/talon_one/models/model_return.rb +384 -0
  609. data/lib/talon_one/models/multi_application_entity.rb +2 -2
  610. data/lib/talon_one/models/multiple_attribute.rb +208 -0
  611. data/lib/talon_one/models/{feature_flags.rb → multiple_audiences.rb} +19 -34
  612. data/lib/talon_one/models/multiple_audiences_item.rb +354 -0
  613. data/lib/talon_one/models/multiple_customer_profile_integration_request.rb +2 -2
  614. data/lib/talon_one/models/multiple_customer_profile_integration_request_item.rb +23 -4
  615. data/lib/talon_one/models/multiple_customer_profile_integration_response_v2.rb +3 -3
  616. data/lib/talon_one/models/multiple_new_attribute.rb +208 -0
  617. data/lib/talon_one/models/multiple_new_audiences.rb +213 -0
  618. data/lib/talon_one/models/mutable_entity.rb +3 -3
  619. data/lib/talon_one/models/new_account.rb +2 -2
  620. data/lib/talon_one/models/new_account_sign_up.rb +2 -2
  621. data/lib/talon_one/models/new_additional_cost.rb +96 -8
  622. data/lib/talon_one/models/new_application.rb +50 -14
  623. data/lib/talon_one/models/new_application_api_key.rb +13 -13
  624. data/lib/talon_one/models/new_attribute.rb +97 -7
  625. data/lib/talon_one/models/new_audience.rb +56 -54
  626. data/lib/talon_one/models/new_base_notification.rb +226 -0
  627. data/lib/talon_one/models/new_campaign.rb +10 -10
  628. data/lib/talon_one/models/new_campaign_collection.rb +253 -0
  629. data/lib/talon_one/models/new_campaign_group.rb +4 -4
  630. data/lib/talon_one/models/new_campaign_set.rb +3 -3
  631. data/lib/talon_one/models/new_campaign_set_v2.rb +261 -0
  632. data/lib/talon_one/models/new_campaign_template.rb +418 -0
  633. data/lib/talon_one/models/new_catalog.rb +240 -0
  634. data/lib/talon_one/models/new_collection.rb +265 -0
  635. data/lib/talon_one/models/new_coupon_creation_job.rb +396 -0
  636. data/lib/talon_one/models/new_coupons.rb +87 -14
  637. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +44 -10
  638. data/lib/talon_one/models/new_custom_effect.rb +74 -16
  639. data/lib/talon_one/models/new_customer_profile.rb +3 -3
  640. data/lib/talon_one/models/new_customer_session.rb +7 -7
  641. data/lib/talon_one/models/new_customer_session_v2.rb +38 -14
  642. data/lib/talon_one/models/new_event.rb +3 -3
  643. data/lib/talon_one/models/new_event_type.rb +9 -152
  644. data/lib/talon_one/models/new_giveaways_pool.rb +22 -7
  645. data/lib/talon_one/models/{update_loyalty_tier.rb → new_internal_audience.rb} +34 -39
  646. data/lib/talon_one/models/new_invitation.rb +5 -5
  647. data/lib/talon_one/models/new_invite_email.rb +2 -2
  648. data/lib/talon_one/models/new_loyalty_program.rb +128 -25
  649. data/lib/talon_one/models/new_loyalty_tier.rb +9 -9
  650. data/lib/talon_one/models/new_management_key.rb +332 -0
  651. data/lib/talon_one/models/new_multiple_audiences_item.rb +266 -0
  652. data/lib/talon_one/models/new_notification_webhook.rb +229 -0
  653. data/lib/talon_one/models/new_password.rb +2 -2
  654. data/lib/talon_one/models/new_password_email.rb +2 -2
  655. data/lib/talon_one/models/new_picklist.rb +263 -0
  656. data/lib/talon_one/models/new_referral.rb +24 -5
  657. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +7 -7
  658. data/lib/talon_one/models/new_return.rb +214 -0
  659. data/lib/talon_one/models/new_role.rb +17 -17
  660. data/lib/talon_one/models/new_ruleset.rb +17 -5
  661. data/lib/talon_one/models/new_saml_connection.rb +2 -2
  662. data/lib/talon_one/models/new_template_def.rb +2 -2
  663. data/lib/talon_one/models/new_user.rb +2 -2
  664. data/lib/talon_one/models/new_webhook.rb +30 -9
  665. data/lib/talon_one/models/notification.rb +5 -5
  666. data/lib/talon_one/models/notification_webhook.rb +290 -0
  667. data/lib/talon_one/models/outgoing_integration_braze_policy.rb +227 -0
  668. data/lib/talon_one/models/outgoing_integration_configuration.rb +241 -0
  669. data/lib/talon_one/models/outgoing_integration_type.rb +357 -0
  670. data/lib/talon_one/models/outgoing_integration_types.rb +209 -0
  671. data/lib/talon_one/models/outgoing_integration_webhook_template.rb +328 -0
  672. data/lib/talon_one/models/outgoing_integration_webhook_templates.rb +209 -0
  673. data/lib/talon_one/models/patch_item_catalog_action.rb +245 -0
  674. data/lib/talon_one/models/patch_many_items_catalog_action.rb +230 -0
  675. data/lib/talon_one/models/picklist.rb +339 -0
  676. data/lib/talon_one/models/priority_position.rb +264 -0
  677. data/lib/talon_one/models/profile_audiences_changes.rb +2 -2
  678. data/lib/talon_one/models/redeem_referral_effect_props.rb +5 -5
  679. data/lib/talon_one/models/referral.rb +27 -8
  680. data/lib/talon_one/models/referral_constraints.rb +4 -4
  681. data/lib/talon_one/models/referral_created_effect_props.rb +3 -3
  682. data/lib/talon_one/models/referral_rejection_reason.rb +4 -4
  683. data/lib/talon_one/models/reject_coupon_effect_props.rb +7 -7
  684. data/lib/talon_one/models/reject_referral_effect_props.rb +7 -7
  685. data/lib/talon_one/models/remove_item_catalog_action.rb +213 -0
  686. data/lib/talon_one/models/remove_many_items_catalog_action.rb +210 -0
  687. data/lib/talon_one/models/reserve_coupon_effect_props.rb +243 -0
  688. data/lib/talon_one/models/return_integration_request.rb +246 -0
  689. data/lib/talon_one/models/returned_cart_item.rb +222 -0
  690. data/lib/talon_one/models/role.rb +10 -10
  691. data/lib/talon_one/models/role_assign.rb +4 -4
  692. data/lib/talon_one/models/role_membership.rb +4 -4
  693. data/lib/talon_one/models/role_v2.rb +248 -0
  694. data/lib/talon_one/models/role_v2_application_details.rb +227 -0
  695. data/lib/talon_one/models/role_v2_permission_set.rb +228 -0
  696. data/lib/talon_one/models/role_v2_permissions.rb +218 -0
  697. data/lib/talon_one/models/role_v2_permissions_roles.rb +230 -0
  698. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +74 -10
  699. data/lib/talon_one/models/rollback_coupon_effect_props.rb +3 -3
  700. data/lib/talon_one/models/rollback_deducted_loyalty_points_effect_props.rb +57 -13
  701. data/lib/talon_one/models/rollback_discount_effect_props.rb +59 -9
  702. data/lib/talon_one/models/rollback_referral_effect_props.rb +3 -3
  703. data/lib/talon_one/models/rule.rb +23 -3
  704. data/lib/talon_one/models/rule_failure_reason.rb +15 -15
  705. data/lib/talon_one/models/ruleset.rb +40 -23
  706. data/lib/talon_one/models/saml_connection.rb +4 -4
  707. data/lib/talon_one/models/saml_connection_metadata.rb +2 -2
  708. data/lib/talon_one/models/saml_login_endpoint.rb +2 -2
  709. data/lib/talon_one/models/session.rb +4 -4
  710. data/lib/talon_one/models/set_discount_effect_props.rb +19 -9
  711. data/lib/talon_one/models/set_discount_per_additional_cost_effect_props.rb +268 -0
  712. data/lib/talon_one/models/set_discount_per_additional_cost_per_item_effect_props.rb +293 -0
  713. data/lib/talon_one/models/set_discount_per_item_effect_props.rb +71 -11
  714. data/lib/talon_one/models/show_bundle_metadata_effect_props.rb +6 -6
  715. data/lib/talon_one/models/show_notification_effect_props.rb +5 -5
  716. data/lib/talon_one/models/slot_def.rb +2 -2
  717. data/lib/talon_one/models/strikethrough_changed_item.rb +318 -0
  718. data/lib/talon_one/models/strikethrough_effect.rb +287 -0
  719. data/lib/talon_one/models/strikethrough_labeling_notification.rb +273 -0
  720. data/lib/talon_one/models/strikethrough_set_discount_per_item_effect_props.rb +228 -0
  721. data/lib/talon_one/models/strikethrough_trigger.rb +273 -0
  722. data/lib/talon_one/models/talang_attribute.rb +363 -0
  723. data/lib/talon_one/models/{application_customer_search.rb → talang_attribute_visibility.rb} +22 -30
  724. data/lib/talon_one/models/template_arg_def.rb +28 -8
  725. data/lib/talon_one/models/template_def.rb +4 -4
  726. data/lib/talon_one/models/template_limit_config.rb +308 -0
  727. data/lib/talon_one/models/tier.rb +227 -0
  728. data/lib/talon_one/models/transfer_loyalty_card.rb +231 -0
  729. data/lib/talon_one/models/trigger_webhook_effect_props.rb +4 -4
  730. data/lib/talon_one/models/update_account.rb +4 -4
  731. data/lib/talon_one/models/update_application.rb +52 -16
  732. data/lib/talon_one/models/update_attribute_effect_props.rb +4 -4
  733. data/lib/talon_one/models/update_audience.rb +3 -3
  734. data/lib/talon_one/models/update_campaign.rb +7 -7
  735. data/lib/talon_one/models/update_campaign_collection.rb +207 -0
  736. data/lib/talon_one/models/update_campaign_group.rb +4 -4
  737. data/lib/talon_one/models/update_campaign_template.rb +445 -0
  738. data/lib/talon_one/models/update_catalog.rb +229 -0
  739. data/lib/talon_one/models/update_collection.rb +219 -0
  740. data/lib/talon_one/models/update_coupon.rb +84 -11
  741. data/lib/talon_one/models/update_coupon_batch.rb +39 -10
  742. data/lib/talon_one/models/update_custom_effect.rb +73 -16
  743. data/lib/talon_one/models/update_loyalty_card.rb +212 -0
  744. data/lib/talon_one/models/update_loyalty_program.rb +57 -10
  745. data/lib/talon_one/models/update_picklist.rb +264 -0
  746. data/lib/talon_one/models/update_referral.rb +20 -5
  747. data/lib/talon_one/models/update_referral_batch.rb +276 -0
  748. data/lib/talon_one/models/update_role.rb +14 -14
  749. data/lib/talon_one/models/update_user.rb +5 -5
  750. data/lib/talon_one/models/update_user_latest_feed_timestamp.rb +4 -4
  751. data/lib/talon_one/models/user.rb +7 -7
  752. data/lib/talon_one/models/user_entity.rb +3 -3
  753. data/lib/talon_one/models/user_feed_notifications.rb +5 -5
  754. data/lib/talon_one/models/webhook.rb +33 -12
  755. data/lib/talon_one/models/webhook_activation_log_entry.rb +7 -7
  756. data/lib/talon_one/models/webhook_log_entry.rb +8 -8
  757. data/lib/talon_one/models/will_award_giveaway_effect_props.rb +21 -2
  758. data/lib/talon_one/version.rb +3 -3
  759. data/lib/talon_one.rb +153 -7
  760. data/spec/api/integration_api_spec.rb +249 -72
  761. data/spec/api/management_api_spec.rb +951 -580
  762. data/spec/api_client_spec.rb +2 -2
  763. data/spec/configuration_spec.rb +5 -5
  764. data/spec/models/accept_coupon_effect_props_spec.rb +2 -2
  765. data/spec/models/accept_referral_effect_props_spec.rb +2 -2
  766. data/spec/models/access_log_entry_spec.rb +2 -2
  767. data/spec/models/account_additional_cost_spec.rb +12 -2
  768. data/spec/models/account_analytics_spec.rb +8 -2
  769. data/spec/models/account_dashboard_statistic_api_calls_spec.rb +47 -0
  770. data/spec/models/account_dashboard_statistic_campaigns_spec.rb +47 -0
  771. data/spec/models/account_dashboard_statistic_discount_spec.rb +53 -0
  772. data/spec/models/account_dashboard_statistic_loyalty_points_spec.rb +47 -0
  773. data/spec/models/account_dashboard_statistic_referrals_spec.rb +47 -0
  774. data/spec/models/account_dashboard_statistic_revenue_spec.rb +53 -0
  775. data/spec/models/account_dashboard_statistic_spec.rb +71 -0
  776. data/spec/models/account_entity_spec.rb +2 -2
  777. data/spec/models/account_limits_spec.rb +2 -2
  778. data/spec/models/account_spec.rb +2 -2
  779. data/spec/models/add_free_item_effect_props_spec.rb +2 -2
  780. data/spec/models/add_item_catalog_action_spec.rb +59 -0
  781. data/spec/models/add_loyalty_points_effect_props_spec.rb +38 -2
  782. data/spec/models/add_loyalty_points_spec.rb +83 -0
  783. data/spec/models/added_deducted_points_notification_policy_spec.rb +51 -0
  784. data/spec/models/additional_cost_spec.rb +2 -2
  785. data/spec/models/api_error_spec.rb +2 -2
  786. data/spec/models/application_api_health_spec.rb +2 -2
  787. data/spec/models/application_api_key_spec.rb +3 -3
  788. data/spec/models/application_campaign_stats_spec.rb +2 -2
  789. data/spec/models/application_customer_entity_spec.rb +2 -2
  790. data/spec/models/application_customer_spec.rb +14 -2
  791. data/spec/models/application_entity_spec.rb +2 -2
  792. data/spec/models/application_event_spec.rb +2 -2
  793. data/spec/models/application_notification_spec.rb +41 -0
  794. data/spec/models/application_referee_spec.rb +2 -2
  795. data/spec/models/application_session_entity_spec.rb +2 -2
  796. data/spec/models/application_session_spec.rb +9 -3
  797. data/spec/models/application_spec.rb +18 -2
  798. data/spec/models/async_coupon_creation_response_spec.rb +41 -0
  799. data/spec/models/attribute_spec.rb +36 -2
  800. data/spec/models/attributes_mandatory_spec.rb +2 -2
  801. data/spec/models/attributes_settings_spec.rb +2 -2
  802. data/spec/models/audience_analytics_spec.rb +47 -0
  803. data/spec/models/audience_customer_spec.rb +113 -0
  804. data/spec/models/audience_integration_id_spec.rb +41 -0
  805. data/spec/models/audience_membership_spec.rb +2 -2
  806. data/spec/models/audience_spec.rb +26 -6
  807. data/spec/models/award_giveaway_effect_props_spec.rb +2 -2
  808. data/spec/models/base_loyalty_program_spec.rb +83 -0
  809. data/spec/models/base_notification_entity_spec.rb +41 -0
  810. data/spec/models/base_notification_spec.rb +53 -0
  811. data/spec/models/base_notification_webhook_spec.rb +65 -0
  812. data/spec/models/base_notifications_spec.rb +41 -0
  813. data/spec/models/base_saml_connection_spec.rb +2 -2
  814. data/spec/models/binding_spec.rb +8 -2
  815. data/spec/models/bulk_application_notification_spec.rb +47 -0
  816. data/spec/models/bulk_campaign_notification_spec.rb +47 -0
  817. data/spec/models/campaign_activation_request_spec.rb +41 -0
  818. data/spec/models/campaign_analytics_spec.rb +2 -2
  819. data/spec/models/campaign_collection_spec.rb +101 -0
  820. data/spec/models/campaign_collection_without_payload_spec.rb +95 -0
  821. data/spec/models/campaign_copy_spec.rb +2 -2
  822. data/spec/models/campaign_created_notification_spec.rb +53 -0
  823. data/spec/models/campaign_deleted_notification_spec.rb +47 -0
  824. data/spec/models/campaign_edited_notification_spec.rb +53 -0
  825. data/spec/models/campaign_entity_spec.rb +2 -2
  826. data/spec/models/campaign_group_entity_spec.rb +2 -2
  827. data/spec/models/campaign_group_spec.rb +2 -2
  828. data/spec/models/campaign_notification_spec.rb +41 -0
  829. data/spec/models/campaign_priorities_changed_notification_spec.rb +53 -0
  830. data/spec/models/campaign_priorities_v2_spec.rb +53 -0
  831. data/spec/models/campaign_ruleset_changed_notification_spec.rb +53 -0
  832. data/spec/models/campaign_search_spec.rb +2 -2
  833. data/spec/models/campaign_set_branch_node_spec.rb +2 -2
  834. data/spec/models/campaign_set_i_ds_spec.rb +41 -0
  835. data/spec/models/campaign_set_leaf_node_spec.rb +2 -2
  836. data/spec/models/campaign_set_node_spec.rb +2 -2
  837. data/spec/models/campaign_set_spec.rb +8 -2
  838. data/spec/models/campaign_set_v2_spec.rb +65 -0
  839. data/spec/models/campaign_spec.rb +33 -3
  840. data/spec/models/campaign_state_changed_notification_spec.rb +59 -0
  841. data/spec/models/campaign_template_collection_spec.rb +47 -0
  842. data/spec/models/campaign_template_params_spec.rb +63 -0
  843. data/spec/models/campaign_template_spec.rb +181 -0
  844. data/spec/models/card_ledger_transaction_log_entry_integration_api_spec.rb +117 -0
  845. data/spec/models/card_ledger_transaction_log_entry_spec.rb +117 -0
  846. data/spec/models/cart_item_spec.rb +26 -2
  847. data/spec/models/catalog_action_filter_spec.rb +57 -0
  848. data/spec/models/catalog_action_spec.rb +51 -0
  849. data/spec/models/catalog_item_spec.rb +77 -0
  850. data/spec/models/catalog_spec.rb +89 -0
  851. data/spec/models/catalog_sync_request_spec.rb +47 -0
  852. data/spec/models/catalogs_strikethrough_notification_policy_spec.rb +41 -0
  853. data/spec/models/change_profile_password_spec.rb +2 -2
  854. data/spec/models/change_spec.rb +8 -2
  855. data/spec/models/code_generator_settings_spec.rb +2 -2
  856. data/spec/models/collection_item_spec.rb +41 -0
  857. data/spec/models/collection_spec.rb +107 -0
  858. data/spec/models/collection_without_payload_spec.rb +101 -0
  859. data/spec/models/coupon_constraints_spec.rb +8 -2
  860. data/spec/models/coupon_created_effect_props_spec.rb +2 -2
  861. data/spec/models/coupon_creation_job_spec.rb +167 -0
  862. data/spec/models/coupon_limit_configs_spec.rb +41 -0
  863. data/spec/models/coupon_rejection_reason_spec.rb +3 -3
  864. data/spec/models/coupon_reservations_spec.rb +2 -2
  865. data/spec/models/coupon_search_spec.rb +2 -2
  866. data/spec/models/coupon_spec.rb +26 -2
  867. data/spec/models/coupon_value_spec.rb +2 -2
  868. data/spec/models/coupons_notification_policy_spec.rb +51 -0
  869. data/spec/models/create_application_api_key_spec.rb +3 -3
  870. data/spec/models/create_management_key_spec.rb +59 -0
  871. data/spec/models/create_template_campaign_response_spec.rb +53 -0
  872. data/spec/models/create_template_campaign_spec.rb +83 -0
  873. data/spec/models/custom_effect_props_spec.rb +33 -3
  874. data/spec/models/custom_effect_spec.rb +14 -8
  875. data/spec/models/customer_activity_report_spec.rb +2 -2
  876. data/spec/models/customer_analytics_spec.rb +2 -2
  877. data/spec/models/customer_inventory_spec.rb +2 -2
  878. data/spec/models/customer_profile_audience_request_item_spec.rb +2 -2
  879. data/spec/models/customer_profile_audience_request_spec.rb +2 -2
  880. data/spec/models/customer_profile_integration_request_v2_spec.rb +8 -2
  881. data/spec/models/customer_profile_search_query_spec.rb +2 -2
  882. data/spec/models/customer_profile_spec.rb +15 -3
  883. data/spec/models/customer_profile_update_v2_response_spec.rb +41 -0
  884. data/spec/models/customer_session_spec.rb +9 -3
  885. data/spec/models/customer_session_v2_spec.rb +28 -4
  886. data/spec/models/deduct_loyalty_points_effect_props_spec.rb +14 -2
  887. data/spec/models/deduct_loyalty_points_spec.rb +59 -0
  888. data/spec/models/effect_entity_spec.rb +8 -2
  889. data/spec/models/effect_spec.rb +8 -2
  890. data/spec/models/email_entity_spec.rb +2 -2
  891. data/spec/models/endpoint_spec.rb +41 -0
  892. data/spec/models/entity_spec.rb +2 -2
  893. data/spec/models/entity_with_talang_visible_id_spec.rb +2 -2
  894. data/spec/models/environment_spec.rb +9 -3
  895. data/spec/models/error_effect_props_spec.rb +2 -2
  896. data/spec/models/error_response_spec.rb +2 -2
  897. data/spec/models/error_response_with_status_spec.rb +53 -0
  898. data/spec/models/error_source_spec.rb +2 -2
  899. data/spec/models/evaluable_campaign_ids_spec.rb +41 -0
  900. data/spec/models/event_spec.rb +2 -2
  901. data/spec/models/event_type_spec.rb +2 -52
  902. data/spec/models/event_v2_spec.rb +59 -0
  903. data/spec/models/expiring_points_notification_policy_spec.rb +47 -0
  904. data/spec/models/expiring_points_notification_trigger_spec.rb +51 -0
  905. data/spec/models/export_spec.rb +3 -3
  906. data/spec/models/feature_flag_spec.rb +2 -2
  907. data/spec/models/features_feed_spec.rb +2 -2
  908. data/spec/models/feed_notification_spec.rb +2 -2
  909. data/spec/models/frontend_state_spec.rb +35 -0
  910. data/spec/models/func_arg_def_spec.rb +3 -3
  911. data/spec/models/function_def_spec.rb +2 -2
  912. data/spec/models/giveaway_spec.rb +14 -2
  913. data/spec/models/giveaways_pool_spec.rb +8 -2
  914. data/spec/models/import_entity_spec.rb +2 -2
  915. data/spec/models/import_spec.rb +2 -2
  916. data/spec/models/inline_response20010_spec.rb +2 -2
  917. data/spec/models/inline_response20011_spec.rb +2 -8
  918. data/spec/models/inline_response20012_spec.rb +2 -2
  919. data/spec/models/inline_response20013_spec.rb +3 -3
  920. data/spec/models/inline_response20014_spec.rb +8 -2
  921. data/spec/models/inline_response20015_spec.rb +2 -2
  922. data/spec/models/inline_response20016_spec.rb +8 -2
  923. data/spec/models/inline_response20017_spec.rb +2 -2
  924. data/spec/models/inline_response20018_spec.rb +2 -2
  925. data/spec/models/inline_response20019_spec.rb +2 -8
  926. data/spec/models/inline_response2001_spec.rb +3 -3
  927. data/spec/models/inline_response20020_spec.rb +8 -2
  928. data/spec/models/inline_response20021_spec.rb +8 -2
  929. data/spec/models/inline_response20022_spec.rb +8 -2
  930. data/spec/models/inline_response20023_spec.rb +3 -3
  931. data/spec/models/inline_response20024_spec.rb +3 -3
  932. data/spec/models/inline_response20025_spec.rb +3 -3
  933. data/spec/models/inline_response20026_spec.rb +3 -3
  934. data/spec/models/inline_response20027_spec.rb +2 -8
  935. data/spec/models/inline_response20028_spec.rb +8 -2
  936. data/spec/models/inline_response20029_spec.rb +8 -2
  937. data/spec/models/inline_response2002_spec.rb +2 -2
  938. data/spec/models/inline_response20030_spec.rb +47 -0
  939. data/spec/models/inline_response20031_spec.rb +47 -0
  940. data/spec/models/inline_response20032_spec.rb +47 -0
  941. data/spec/models/inline_response20033_spec.rb +47 -0
  942. data/spec/models/inline_response20034_spec.rb +47 -0
  943. data/spec/models/inline_response20035_spec.rb +47 -0
  944. data/spec/models/inline_response20036_spec.rb +47 -0
  945. data/spec/models/inline_response20037_spec.rb +53 -0
  946. data/spec/models/inline_response20038_spec.rb +47 -0
  947. data/spec/models/inline_response20039_spec.rb +47 -0
  948. data/spec/models/inline_response2003_spec.rb +2 -2
  949. data/spec/models/inline_response2004_spec.rb +2 -2
  950. data/spec/models/inline_response2005_spec.rb +3 -3
  951. data/spec/models/inline_response2006_spec.rb +3 -3
  952. data/spec/models/inline_response2007_spec.rb +3 -3
  953. data/spec/models/inline_response2008_spec.rb +3 -3
  954. data/spec/models/inline_response2009_spec.rb +2 -2
  955. data/spec/models/inline_response200_spec.rb +2 -2
  956. data/spec/models/inline_response201_spec.rb +2 -2
  957. data/spec/models/integration_coupon_spec.rb +167 -0
  958. data/spec/models/integration_customer_session_response_spec.rb +47 -0
  959. data/spec/models/integration_entity_spec.rb +2 -2
  960. data/spec/models/integration_event_spec.rb +2 -2
  961. data/spec/models/integration_event_v2_request_spec.rb +69 -0
  962. data/spec/models/integration_profile_entity_spec.rb +2 -2
  963. data/spec/models/integration_request_spec.rb +3 -3
  964. data/spec/models/integration_state_spec.rb +2 -2
  965. data/spec/models/integration_state_v2_spec.rb +14 -2
  966. data/spec/models/inventory_coupon_spec.rb +26 -2
  967. data/spec/models/inventory_referral_spec.rb +119 -0
  968. data/spec/models/item_attribute_spec.rb +53 -0
  969. data/spec/models/ledger_entry_spec.rb +2 -2
  970. data/spec/models/ledger_info_spec.rb +83 -0
  971. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +111 -0
  972. data/spec/models/library_attribute_spec.rb +2 -2
  973. data/spec/models/limit_config_spec.rb +12 -2
  974. data/spec/models/limit_counter_spec.rb +125 -0
  975. data/spec/models/login_params_spec.rb +2 -2
  976. data/spec/models/loyalty_balance_spec.rb +59 -0
  977. data/spec/models/loyalty_balances_spec.rb +47 -0
  978. data/spec/models/loyalty_card_profile_registration_spec.rb +47 -0
  979. data/spec/models/loyalty_card_registration_spec.rb +41 -0
  980. data/spec/models/loyalty_card_spec.rb +107 -0
  981. data/spec/models/loyalty_dashboard_data_spec.rb +89 -0
  982. data/spec/models/loyalty_dashboard_points_breakdown_spec.rb +47 -0
  983. data/spec/models/loyalty_ledger_entry_spec.rb +14 -2
  984. data/spec/models/loyalty_ledger_spec.rb +2 -2
  985. data/spec/models/loyalty_ledger_transactions_spec.rb +47 -0
  986. data/spec/models/loyalty_membership_spec.rb +2 -2
  987. data/spec/models/loyalty_program_balance_spec.rb +8 -2
  988. data/spec/models/loyalty_program_entity_spec.rb +2 -2
  989. data/spec/models/loyalty_program_ledgers_spec.rb +2 -2
  990. data/spec/models/loyalty_program_spec.rb +39 -9
  991. data/spec/models/loyalty_program_transaction_spec.rb +141 -0
  992. data/spec/models/loyalty_spec.rb +8 -2
  993. data/spec/models/loyalty_statistics_spec.rb +32 -2
  994. data/spec/models/loyalty_sub_ledger_spec.rb +8 -2
  995. data/spec/models/loyalty_tier_spec.rb +2 -2
  996. data/spec/models/management_key_spec.rb +83 -0
  997. data/spec/models/manager_config_spec.rb +2 -2
  998. data/spec/models/meta_spec.rb +2 -2
  999. data/spec/models/model_return_spec.rb +101 -0
  1000. data/spec/models/multi_application_entity_spec.rb +2 -2
  1001. data/spec/models/multiple_attribute_spec.rb +41 -0
  1002. data/spec/models/multiple_audiences_item_spec.rb +69 -0
  1003. data/spec/models/multiple_audiences_spec.rb +47 -0
  1004. data/spec/models/multiple_customer_profile_integration_request_item_spec.rb +2 -2
  1005. data/spec/models/multiple_customer_profile_integration_request_spec.rb +2 -2
  1006. data/spec/models/multiple_customer_profile_integration_response_v2_spec.rb +2 -2
  1007. data/spec/models/multiple_new_attribute_spec.rb +41 -0
  1008. data/spec/models/multiple_new_audiences_spec.rb +41 -0
  1009. data/spec/models/mutable_entity_spec.rb +2 -2
  1010. data/spec/models/new_account_sign_up_spec.rb +2 -2
  1011. data/spec/models/new_account_spec.rb +2 -2
  1012. data/spec/models/new_additional_cost_spec.rb +12 -2
  1013. data/spec/models/new_application_api_key_spec.rb +3 -3
  1014. data/spec/models/new_application_spec.rb +18 -2
  1015. data/spec/models/new_attribute_spec.rb +30 -2
  1016. data/spec/models/new_audience_spec.rb +26 -6
  1017. data/spec/models/new_base_notification_spec.rb +47 -0
  1018. data/spec/models/new_campaign_collection_spec.rb +47 -0
  1019. data/spec/models/new_campaign_group_spec.rb +2 -2
  1020. data/spec/models/new_campaign_set_spec.rb +2 -2
  1021. data/spec/models/new_campaign_set_v2_spec.rb +53 -0
  1022. data/spec/models/new_campaign_spec.rb +3 -3
  1023. data/spec/models/new_campaign_template_spec.rb +127 -0
  1024. data/spec/models/new_catalog_spec.rb +53 -0
  1025. data/spec/models/new_collection_spec.rb +53 -0
  1026. data/spec/models/new_coupon_creation_job_spec.rb +83 -0
  1027. data/spec/models/new_coupons_for_multiple_recipients_spec.rb +8 -2
  1028. data/spec/models/new_coupons_spec.rb +20 -2
  1029. data/spec/models/new_custom_effect_spec.rb +14 -8
  1030. data/spec/models/new_customer_profile_spec.rb +2 -2
  1031. data/spec/models/new_customer_session_spec.rb +3 -3
  1032. data/spec/models/new_customer_session_v2_spec.rb +15 -3
  1033. data/spec/models/new_event_spec.rb +2 -2
  1034. data/spec/models/new_event_type_spec.rb +2 -52
  1035. data/spec/models/new_giveaways_pool_spec.rb +8 -2
  1036. data/spec/models/new_internal_audience_spec.rb +53 -0
  1037. data/spec/models/new_invitation_spec.rb +2 -2
  1038. data/spec/models/new_invite_email_spec.rb +2 -2
  1039. data/spec/models/new_loyalty_program_spec.rb +38 -8
  1040. data/spec/models/new_loyalty_tier_spec.rb +2 -2
  1041. data/spec/models/new_management_key_spec.rb +89 -0
  1042. data/spec/models/new_multiple_audiences_item_spec.rb +47 -0
  1043. data/spec/models/new_notification_webhook_spec.rb +47 -0
  1044. data/spec/models/new_password_email_spec.rb +2 -2
  1045. data/spec/models/new_password_spec.rb +2 -2
  1046. data/spec/models/new_picklist_spec.rb +51 -0
  1047. data/spec/models/new_referral_spec.rb +2 -2
  1048. data/spec/models/new_referrals_for_multiple_advocates_spec.rb +2 -2
  1049. data/spec/models/new_return_spec.rb +41 -0
  1050. data/spec/models/new_role_spec.rb +3 -3
  1051. data/spec/models/new_ruleset_spec.rb +8 -2
  1052. data/spec/models/new_saml_connection_spec.rb +2 -2
  1053. data/spec/models/new_template_def_spec.rb +2 -2
  1054. data/spec/models/new_user_spec.rb +2 -2
  1055. data/spec/models/new_webhook_spec.rb +2 -2
  1056. data/spec/models/notification_spec.rb +2 -2
  1057. data/spec/models/notification_webhook_spec.rb +71 -0
  1058. data/spec/models/outgoing_integration_braze_policy_spec.rb +47 -0
  1059. data/spec/models/outgoing_integration_configuration_spec.rb +53 -0
  1060. data/spec/models/outgoing_integration_type_spec.rb +65 -0
  1061. data/spec/models/outgoing_integration_types_spec.rb +41 -0
  1062. data/spec/models/outgoing_integration_webhook_template_spec.rb +65 -0
  1063. data/spec/models/outgoing_integration_webhook_templates_spec.rb +41 -0
  1064. data/spec/models/patch_item_catalog_action_spec.rb +59 -0
  1065. data/spec/models/patch_many_items_catalog_action_spec.rb +53 -0
  1066. data/spec/models/picklist_spec.rb +87 -0
  1067. data/spec/models/priority_position_spec.rb +51 -0
  1068. data/spec/models/profile_audiences_changes_spec.rb +2 -2
  1069. data/spec/models/redeem_referral_effect_props_spec.rb +2 -2
  1070. data/spec/models/referral_constraints_spec.rb +2 -2
  1071. data/spec/models/referral_created_effect_props_spec.rb +2 -2
  1072. data/spec/models/referral_rejection_reason_spec.rb +3 -3
  1073. data/spec/models/referral_spec.rb +2 -2
  1074. data/spec/models/reject_coupon_effect_props_spec.rb +2 -2
  1075. data/spec/models/reject_referral_effect_props_spec.rb +2 -2
  1076. data/spec/models/remove_item_catalog_action_spec.rb +41 -0
  1077. data/spec/models/remove_many_items_catalog_action_spec.rb +41 -0
  1078. data/spec/models/reserve_coupon_effect_props_spec.rb +53 -0
  1079. data/spec/models/return_integration_request_spec.rb +51 -0
  1080. data/spec/models/returned_cart_item_spec.rb +47 -0
  1081. data/spec/models/role_assign_spec.rb +2 -2
  1082. data/spec/models/role_membership_spec.rb +2 -2
  1083. data/spec/models/role_spec.rb +2 -2
  1084. data/spec/models/role_v2_application_details_spec.rb +53 -0
  1085. data/spec/models/role_v2_permission_set_spec.rb +47 -0
  1086. data/spec/models/role_v2_permissions_roles_spec.rb +53 -0
  1087. data/spec/models/role_v2_permissions_spec.rb +47 -0
  1088. data/spec/models/role_v2_spec.rb +65 -0
  1089. data/spec/models/rollback_added_loyalty_points_effect_props_spec.rb +20 -2
  1090. data/spec/models/rollback_coupon_effect_props_spec.rb +2 -2
  1091. data/spec/models/rollback_deducted_loyalty_points_effect_props_spec.rb +8 -2
  1092. data/spec/models/rollback_discount_effect_props_spec.rb +32 -2
  1093. data/spec/models/rollback_referral_effect_props_spec.rb +2 -2
  1094. data/spec/models/rule_failure_reason_spec.rb +2 -2
  1095. data/spec/models/rule_spec.rb +14 -2
  1096. data/spec/models/ruleset_spec.rb +17 -5
  1097. data/spec/models/saml_connection_metadata_spec.rb +2 -2
  1098. data/spec/models/saml_connection_spec.rb +2 -2
  1099. data/spec/models/saml_login_endpoint_spec.rb +2 -2
  1100. data/spec/models/session_spec.rb +2 -2
  1101. data/spec/models/set_discount_effect_props_spec.rb +8 -2
  1102. data/spec/models/set_discount_per_additional_cost_effect_props_spec.rb +65 -0
  1103. data/spec/models/set_discount_per_additional_cost_per_item_effect_props_spec.rb +77 -0
  1104. data/spec/models/set_discount_per_item_effect_props_spec.rb +38 -2
  1105. data/spec/models/show_bundle_metadata_effect_props_spec.rb +2 -2
  1106. data/spec/models/show_notification_effect_props_spec.rb +2 -2
  1107. data/spec/models/slot_def_spec.rb +2 -2
  1108. data/spec/models/strikethrough_changed_item_spec.rb +77 -0
  1109. data/spec/models/strikethrough_effect_spec.rb +71 -0
  1110. data/spec/models/strikethrough_labeling_notification_spec.rb +65 -0
  1111. data/spec/models/strikethrough_set_discount_per_item_effect_props_spec.rb +47 -0
  1112. data/spec/models/strikethrough_trigger_spec.rb +65 -0
  1113. data/spec/models/talang_attribute_spec.rb +97 -0
  1114. data/spec/models/talang_attribute_visibility_spec.rb +47 -0
  1115. data/spec/models/template_arg_def_spec.rb +15 -3
  1116. data/spec/models/template_def_spec.rb +2 -2
  1117. data/spec/models/template_limit_config_spec.rb +67 -0
  1118. data/spec/models/tier_spec.rb +47 -0
  1119. data/spec/models/transfer_loyalty_card_spec.rb +41 -0
  1120. data/spec/models/trigger_webhook_effect_props_spec.rb +2 -2
  1121. data/spec/models/update_account_spec.rb +2 -2
  1122. data/spec/models/update_application_spec.rb +18 -2
  1123. data/spec/models/update_attribute_effect_props_spec.rb +2 -2
  1124. data/spec/models/update_audience_spec.rb +2 -2
  1125. data/spec/models/update_campaign_collection_spec.rb +41 -0
  1126. data/spec/models/update_campaign_group_spec.rb +2 -2
  1127. data/spec/models/update_campaign_spec.rb +3 -3
  1128. data/spec/models/update_campaign_template_spec.rb +139 -0
  1129. data/spec/models/update_catalog_spec.rb +53 -0
  1130. data/spec/models/update_collection_spec.rb +47 -0
  1131. data/spec/models/update_coupon_batch_spec.rb +8 -2
  1132. data/spec/models/update_coupon_spec.rb +20 -2
  1133. data/spec/models/update_custom_effect_spec.rb +14 -8
  1134. data/spec/models/update_loyalty_card_spec.rb +41 -0
  1135. data/spec/models/update_loyalty_program_spec.rb +20 -2
  1136. data/spec/models/update_picklist_spec.rb +51 -0
  1137. data/spec/models/update_referral_batch_spec.rb +65 -0
  1138. data/spec/models/update_referral_spec.rb +2 -2
  1139. data/spec/models/update_role_spec.rb +3 -3
  1140. data/spec/models/update_user_latest_feed_timestamp_spec.rb +2 -2
  1141. data/spec/models/update_user_spec.rb +2 -2
  1142. data/spec/models/user_entity_spec.rb +2 -2
  1143. data/spec/models/user_feed_notifications_spec.rb +2 -2
  1144. data/spec/models/user_spec.rb +2 -2
  1145. data/spec/models/webhook_activation_log_entry_spec.rb +2 -2
  1146. data/spec/models/webhook_log_entry_spec.rb +2 -2
  1147. data/spec/models/webhook_spec.rb +2 -2
  1148. data/spec/models/will_award_giveaway_effect_props_spec.rb +2 -2
  1149. data/spec/spec_helper.rb +2 -2
  1150. data/talon_one.gemspec +2 -2
  1151. metadata +828 -243
  1152. data/docs/ApplicationCustomerSearch.md +0 -21
  1153. data/docs/FeatureFlags.md +0 -23
  1154. data/docs/LoyaltyPoints.md +0 -25
  1155. data/docs/NewFeatureFlags.md +0 -21
  1156. data/docs/UpdateLoyaltyTier.md +0 -19
  1157. data/spec/models/application_customer_search_spec.rb +0 -53
  1158. data/spec/models/feature_flags_spec.rb +0 -59
  1159. data/spec/models/loyalty_points_spec.rb +0 -65
  1160. data/spec/models/new_feature_flags_spec.rb +0 -53
  1161. data/spec/models/update_loyalty_tier_spec.rb +0 -47
@@ -1,9 +1,9 @@
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 access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
5
5
 
6
- The version of the OpenAPI document: 1.0.0
6
+ The version of the OpenAPI document:
7
7
 
8
8
  Generated by: https://openapi-generator.tech
9
9
  OpenAPI Generator version: 4.3.1
@@ -19,10 +19,74 @@ 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
24
- # @param coupon_value [String] The value of a coupon
25
- # @param body [CouponReservations]
22
+ # Create audience
23
+ # Create an audience. The audience can be created directly from scratch or can come from third party platforms. **Note:** Audiences can also be created from scratch via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/creating-audiences). To create an audience from an existing audience from a [technology partner](https://docs.talon.one/docs/dev/technology-partners/overview): 1. Set the `integration` property to `mparticle`, `segment` etc., 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: 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] body
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. **Note:** Audiences can also be created from scratch via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/creating-audiences). To create an audience from an existing audience from a [technology partner](https://docs.talon.one/docs/dev/technology-partners/overview): 1. Set the `integration` property to `mparticle`, `segment` etc., 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: 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] body
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. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). 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](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear 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](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. 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. <div class=\"redoc-section\"> <p class=\"title\">Important</p> This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the `recipientsIntegrationId` property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
88
+ # @param coupon_value [String] The code of the coupon.
89
+ # @param body [CouponReservations] body
26
90
  # @param [Hash] opts the optional parameters
27
91
  # @return [Coupon]
28
92
  def create_coupon_reservation(coupon_value, body, opts = {})
@@ -30,10 +94,10 @@ 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
35
- # @param coupon_value [String] The value of a coupon
36
- # @param body [CouponReservations]
97
+ # Create coupon reservation
98
+ # Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). 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](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear 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](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and &#x60;List customer data&#x60; to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Important&lt;/p&gt; This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the &#x60;recipientsIntegrationId&#x60; property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). &lt;/div&gt; To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
99
+ # @param coupon_value [String] The code of the coupon.
100
+ # @param body [CouponReservations] body
37
101
  # @param [Hash] opts the optional parameters
38
102
  # @return [Array<(Coupon, Integer, Hash)>] Coupon data, response status code and response headers
39
103
  def create_coupon_reservation_with_http_info(coupon_value, body, opts = {})
@@ -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,9 +153,9 @@ 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
- # @param body [NewReferral]
158
+ # @param body [NewReferral] body
95
159
  # @param [Hash] opts the optional parameters
96
160
  # @return [Referral]
97
161
  def create_referral(body, opts = {})
@@ -99,9 +163,9 @@ 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
- # @param body [NewReferral]
168
+ # @param body [NewReferral] body
105
169
  # @param [Hash] opts the optional parameters
106
170
  # @return [Array<(Referral, Integer, Hash)>] Referral data, response status code and response headers
107
171
  def create_referral_with_http_info(body, opts = {})
@@ -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,
@@ -155,9 +219,9 @@ module TalonOne
155
219
 
156
220
  # Create referral codes for multiple advocates
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
- # @param body [NewReferralsForMultipleAdvocates]
222
+ # @param body [NewReferralsForMultipleAdvocates] body
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 the updated customer profiles. (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)
@@ -166,9 +230,9 @@ module TalonOne
166
230
 
167
231
  # Create referral codes for multiple advocates
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
- # @param body [NewReferralsForMultipleAdvocates]
233
+ # @param body [NewReferralsForMultipleAdvocates] body
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 the updated customer profiles.
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,10 +284,134 @@ 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] || ['api_key_v1']
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. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-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. **Note:** Audiences can also be deleted via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/managing-audiences#deleting-an-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] || ['api_key_v1']
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
225
- # @param coupon_value [String] The value of a coupon
226
- # @param body [CouponReservations]
412
+ # Remove all the coupon reservations from the provided customer profile integration IDs and the provided coupon code.
413
+ # @param coupon_value [String] The code of the coupon.
414
+ # @param body [CouponReservations] body
227
415
  # @param [Hash] opts the optional parameters
228
416
  # @return [nil]
229
417
  def delete_coupon_reservation(coupon_value, body, opts = {})
@@ -232,9 +420,9 @@ module TalonOne
232
420
  end
233
421
 
234
422
  # Delete coupon reservations
235
- # Removes all passed customer profiles reservation from this coupon
236
- # @param coupon_value [String] The value of a coupon
237
- # @param body [CouponReservations]
423
+ # Remove all the coupon reservations from the provided customer profile integration IDs and the provided coupon code.
424
+ # @param coupon_value [String] The code of the coupon.
425
+ # @param body [CouponReservations] body
238
426
  # @param [Hash] opts the optional parameters
239
427
  # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
240
428
  def delete_coupon_reservation_with_http_info(coupon_value, body, opts = {})
@@ -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](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
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](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
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,30 @@ 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, loyalty cards and reserved coupons. Reserved coupons also include redeemed coupons.
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](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
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.
360
552
  # @return [CustomerInventory]
361
553
  def get_customer_inventory(integration_id, opts = {})
362
554
  data, _status_code, _headers = get_customer_inventory_with_http_info(integration_id, opts)
363
555
  data
364
556
  end
365
557
 
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.
558
+ # List customer data
559
+ # 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, loyalty cards and reserved coupons. Reserved coupons also include redeemed coupons.
560
+ # @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](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
369
561
  # @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
562
+ # @option opts [Boolean] :profile Set to &#x60;true&#x60; to include customer profile information in the response.
563
+ # @option opts [Boolean] :referrals Set to &#x60;true&#x60; to include referral information in the response.
564
+ # @option opts [Boolean] :coupons Set to &#x60;true&#x60; to include coupon information in the response.
565
+ # @option opts [Boolean] :loyalty Set to &#x60;true&#x60; to include loyalty information in the response.
566
+ # @option opts [Boolean] :giveaways Set to &#x60;true&#x60; to include giveaways information in the response.
375
567
  # @return [Array<(CustomerInventory, Integer, Hash)>] CustomerInventory data, response status code and response headers
376
568
  def get_customer_inventory_with_http_info(integration_id, opts = {})
377
569
  if @api_client.config.debugging
@@ -407,7 +599,7 @@ module TalonOne
407
599
  return_type = opts[:return_type] || 'CustomerInventory'
408
600
 
409
601
  # auth_names
410
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
602
+ auth_names = opts[:auth_names] || ['api_key_v1']
411
603
 
412
604
  new_options = opts.merge(
413
605
  :header_params => header_params,
@@ -425,31 +617,31 @@ module TalonOne
425
617
  return data, status_code, headers
426
618
  end
427
619
 
428
- # Get the users that have this coupon reserved
429
- # Returns all users that have this coupon marked as reserved
430
- # @param coupon_value [String] The value of a coupon
620
+ # Get customer session
621
+ # Get the details of the given customer session. You can get the same data via other endpoints that also apply changes, which can help you save requests and increase performance. See: - [Update customer session](#tag/Customer-sessions/operation/updateCustomerSessionV2) - [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2)
622
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
431
623
  # @param [Hash] opts the optional parameters
432
- # @return [InlineResponse200]
433
- def get_reserved_customers(coupon_value, opts = {})
434
- data, _status_code, _headers = get_reserved_customers_with_http_info(coupon_value, opts)
624
+ # @return [IntegrationCustomerSessionResponse]
625
+ def get_customer_session(customer_session_id, opts = {})
626
+ data, _status_code, _headers = get_customer_session_with_http_info(customer_session_id, opts)
435
627
  data
436
628
  end
437
629
 
438
- # Get the users that have this coupon reserved
439
- # Returns all users that have this coupon marked as reserved
440
- # @param coupon_value [String] The value of a coupon
630
+ # Get customer session
631
+ # Get the details of the given customer session. You can get the same data via other endpoints that also apply changes, which can help you save requests and increase performance. See: - [Update customer session](#tag/Customer-sessions/operation/updateCustomerSessionV2) - [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2)
632
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
441
633
  # @param [Hash] opts the optional parameters
442
- # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
443
- def get_reserved_customers_with_http_info(coupon_value, opts = {})
634
+ # @return [Array<(IntegrationCustomerSessionResponse, Integer, Hash)>] IntegrationCustomerSessionResponse data, response status code and response headers
635
+ def get_customer_session_with_http_info(customer_session_id, opts = {})
444
636
  if @api_client.config.debugging
445
- @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_customers ...'
637
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_customer_session ...'
446
638
  end
447
- # verify the required parameter 'coupon_value' is set
448
- if @api_client.config.client_side_validation && coupon_value.nil?
449
- fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.get_reserved_customers"
639
+ # verify the required parameter 'customer_session_id' is set
640
+ if @api_client.config.client_side_validation && customer_session_id.nil?
641
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.get_customer_session"
450
642
  end
451
643
  # resource path
452
- local_var_path = '/v1/coupon_reservations/customerprofiles/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
644
+ local_var_path = '/v2/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
453
645
 
454
646
  # query parameters
455
647
  query_params = opts[:query_params] || {}
@@ -466,10 +658,10 @@ module TalonOne
466
658
  post_body = opts[:body]
467
659
 
468
660
  # return_type
469
- return_type = opts[:return_type] || 'InlineResponse200'
661
+ return_type = opts[:return_type] || 'IntegrationCustomerSessionResponse'
470
662
 
471
663
  # auth_names
472
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
664
+ auth_names = opts[:auth_names] || ['api_key_v1']
473
665
 
474
666
  new_options = opts.merge(
475
667
  :header_params => header_params,
@@ -482,61 +674,65 @@ module TalonOne
482
674
 
483
675
  data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
484
676
  if @api_client.config.debugging
485
- @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_customers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
677
+ @api_client.config.logger.debug "API called: IntegrationApi#get_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
486
678
  end
487
679
  return data, status_code, headers
488
680
  end
489
681
 
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.
492
- # @param body [NewEvent]
682
+ # Get customer's loyalty points
683
+ # Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer).
684
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
685
+ # @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.
493
686
  # @param [Hash] opts the optional parameters
494
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
495
- # @return [IntegrationState]
496
- def track_event(body, opts = {})
497
- data, _status_code, _headers = track_event_with_http_info(body, opts)
687
+ # @option opts [DateTime] :end_date Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string.
688
+ # @return [LoyaltyBalances]
689
+ def get_loyalty_balances(loyalty_program_id, integration_id, opts = {})
690
+ data, _status_code, _headers = get_loyalty_balances_with_http_info(loyalty_program_id, integration_id, opts)
498
691
  data
499
692
  end
500
693
 
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.
503
- # @param body [NewEvent]
694
+ # Get customer&#39;s loyalty points
695
+ # Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date. If no filtering options are applied, you retrieve all loyalty balances on the current date for the given integration ID. Loyalty balances are calculated when Talon.One receives your request using the points stored in our database, so retrieving a large number of balances at once can impact performance. **Note:** For more information, see [our documentation on managing loyalty data](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-data#obtaining-the-loyalty-balances-of-a-customer).
696
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
697
+ # @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.
504
698
  # @param [Hash] opts the optional parameters
505
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
506
- # @return [Array<(IntegrationState, Integer, Hash)>] IntegrationState data, response status code and response headers
507
- def track_event_with_http_info(body, opts = {})
699
+ # @option opts [DateTime] :end_date Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string.
700
+ # @return [Array<(LoyaltyBalances, Integer, Hash)>] LoyaltyBalances data, response status code and response headers
701
+ def get_loyalty_balances_with_http_info(loyalty_program_id, integration_id, opts = {})
508
702
  if @api_client.config.debugging
509
- @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event ...'
703
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_balances ...'
510
704
  end
511
- # verify the required parameter 'body' is set
512
- if @api_client.config.client_side_validation && body.nil?
513
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.track_event"
705
+ # verify the required parameter 'loyalty_program_id' is set
706
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
707
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_balances"
708
+ end
709
+ # verify the required parameter 'integration_id' is set
710
+ if @api_client.config.client_side_validation && integration_id.nil?
711
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_loyalty_balances"
514
712
  end
515
713
  # resource path
516
- local_var_path = '/v1/events'
714
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/balances'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
517
715
 
518
716
  # query parameters
519
717
  query_params = opts[:query_params] || {}
520
- query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
718
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
521
719
 
522
720
  # header parameters
523
721
  header_params = opts[:header_params] || {}
524
722
  # HTTP header 'Accept' (if needed)
525
723
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
526
- # HTTP header 'Content-Type'
527
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
528
724
 
529
725
  # form parameters
530
726
  form_params = opts[:form_params] || {}
531
727
 
532
728
  # http body (model)
533
- post_body = opts[:body] || @api_client.object_to_http_body(body)
729
+ post_body = opts[:body]
534
730
 
535
731
  # return_type
536
- return_type = opts[:return_type] || 'IntegrationState'
732
+ return_type = opts[:return_type] || 'LoyaltyBalances'
537
733
 
538
734
  # auth_names
539
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
735
+ auth_names = opts[:auth_names] || ['api_key_v1']
540
736
 
541
737
  new_options = opts.merge(
542
738
  :header_params => header_params,
@@ -547,69 +743,71 @@ module TalonOne
547
743
  :return_type => return_type
548
744
  )
549
745
 
550
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
746
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
551
747
  if @api_client.config.debugging
552
- @api_client.config.logger.debug "API called: IntegrationApi#track_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
748
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_balances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
553
749
  end
554
750
  return data, status_code, headers
555
751
  end
556
752
 
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]
753
+ # Get loyalty balances for a loyalty card
754
+ # Retrieve loyalty balances for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, all loyalty balances for the given loyalty card are returned.
755
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
756
+ # @param loyalty_card_identifier [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
561
757
  # @param [Hash] opts the optional parameters
562
- # @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)
758
+ # @option opts [DateTime] :end_date Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string.
759
+ # @return [LoyaltyBalances]
760
+ def get_loyalty_card_balances(loyalty_program_id, loyalty_card_identifier, opts = {})
761
+ data, _status_code, _headers = get_loyalty_card_balances_with_http_info(loyalty_program_id, loyalty_card_identifier, opts)
566
762
  data
567
763
  end
568
764
 
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]
765
+ # Get loyalty balances for a loyalty card
766
+ # Retrieve loyalty balances for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, all loyalty balances for the given loyalty card are returned.
767
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
768
+ # @param loyalty_card_identifier [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
573
769
  # @param [Hash] opts the optional parameters
574
- # @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 = {})
770
+ # @option opts [DateTime] :end_date Used to return balances only for entries older than this timestamp. The expired, active, and pending points are relative to this timestamp. **Note:** It must be an RFC3339 timestamp string.
771
+ # @return [Array<(LoyaltyBalances, Integer, Hash)>] LoyaltyBalances data, response status code and response headers
772
+ def get_loyalty_card_balances_with_http_info(loyalty_program_id, loyalty_card_identifier, opts = {})
577
773
  if @api_client.config.debugging
578
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile ...'
774
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_card_balances ...'
579
775
  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"
776
+ # verify the required parameter 'loyalty_program_id' is set
777
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
778
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_card_balances"
583
779
  end
584
- # verify the required parameter 'body' is set
585
- if @api_client.config.client_side_validation && body.nil?
586
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile"
780
+ # verify the required parameter 'loyalty_card_identifier' is set
781
+ if @api_client.config.client_side_validation && loyalty_card_identifier.nil?
782
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_identifier' when calling IntegrationApi.get_loyalty_card_balances"
783
+ end
784
+ if @api_client.config.client_side_validation && loyalty_card_identifier.to_s.length > 108
785
+ fail ArgumentError, 'invalid value for "loyalty_card_identifier" when calling IntegrationApi.get_loyalty_card_balances, the character length must be smaller than or equal to 108.'
587
786
  end
787
+
588
788
  # resource path
589
- local_var_path = '/v1/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
789
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardIdentifier}/balances'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardIdentifier' + '}', CGI.escape(loyalty_card_identifier.to_s))
590
790
 
591
791
  # query parameters
592
792
  query_params = opts[:query_params] || {}
593
- query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
793
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
594
794
 
595
795
  # header parameters
596
796
  header_params = opts[:header_params] || {}
597
797
  # HTTP header 'Accept' (if needed)
598
798
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
599
- # HTTP header 'Content-Type'
600
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
601
799
 
602
800
  # form parameters
603
801
  form_params = opts[:form_params] || {}
604
802
 
605
803
  # http body (model)
606
- post_body = opts[:body] || @api_client.object_to_http_body(body)
804
+ post_body = opts[:body]
607
805
 
608
806
  # return_type
609
- return_type = opts[:return_type] || 'IntegrationState'
807
+ return_type = opts[:return_type] || 'LoyaltyBalances'
610
808
 
611
809
  # auth_names
612
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
810
+ auth_names = opts[:auth_names] || ['api_key_v1']
613
811
 
614
812
  new_options = opts.merge(
615
813
  :header_params => header_params,
@@ -620,55 +818,88 @@ module TalonOne
620
818
  :return_type => return_type
621
819
  )
622
820
 
623
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
821
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
624
822
  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}"
823
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_card_balances\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
626
824
  end
627
825
  return data, status_code, headers
628
826
  end
629
827
 
630
- # Update a Customer Profile Audiences
631
- # Update one ore multiple Customer Profiles with the specified Audiences
632
- # @param body [CustomerProfileAudienceRequest]
828
+ # Get loyalty card transaction logs
829
+ # Retrieve loyalty transaction logs for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
830
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
831
+ # @param loyalty_card_identifier [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
633
832
  # @param [Hash] opts the optional parameters
634
- # @return [nil]
635
- def update_customer_profile_audiences(body, opts = {})
636
- update_customer_profile_audiences_with_http_info(body, opts)
637
- nil
833
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
834
+ # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
835
+ # @option opts [DateTime] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
836
+ # @option opts [Integer] :page_size The number of items in this response. (default to 1000)
837
+ # @option opts [Integer] :skip Skips the given number of items when paging through large result sets.
838
+ # @return [CardLedgerTransactionLogEntryIntegrationAPI]
839
+ def get_loyalty_card_transactions(loyalty_program_id, loyalty_card_identifier, opts = {})
840
+ data, _status_code, _headers = get_loyalty_card_transactions_with_http_info(loyalty_program_id, loyalty_card_identifier, opts)
841
+ data
638
842
  end
639
843
 
640
- # Update a Customer Profile Audiences
641
- # Update one ore multiple Customer Profiles with the specified Audiences
642
- # @param body [CustomerProfileAudienceRequest]
844
+ # Get loyalty card transaction logs
845
+ # Retrieve loyalty transaction logs for the given loyalty card in the specified loyalty program with filtering options applied. If no filtering options are applied, the last 50 loyalty transactions for the given loyalty card are returned.
846
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
847
+ # @param loyalty_card_identifier [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
643
848
  # @param [Hash] opts the optional parameters
644
- # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
645
- def update_customer_profile_audiences_with_http_info(body, opts = {})
849
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
850
+ # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
851
+ # @option opts [DateTime] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
852
+ # @option opts [Integer] :page_size The number of items in this response.
853
+ # @option opts [Integer] :skip Skips the given number of items when paging through large result sets.
854
+ # @return [Array<(CardLedgerTransactionLogEntryIntegrationAPI, Integer, Hash)>] CardLedgerTransactionLogEntryIntegrationAPI data, response status code and response headers
855
+ def get_loyalty_card_transactions_with_http_info(loyalty_program_id, loyalty_card_identifier, opts = {})
646
856
  if @api_client.config.debugging
647
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_audiences ...'
857
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_card_transactions ...'
648
858
  end
649
- # verify the required parameter 'body' is set
650
- if @api_client.config.client_side_validation && body.nil?
651
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_audiences"
859
+ # verify the required parameter 'loyalty_program_id' is set
860
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
861
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_card_transactions"
862
+ end
863
+ # verify the required parameter 'loyalty_card_identifier' is set
864
+ if @api_client.config.client_side_validation && loyalty_card_identifier.nil?
865
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_identifier' when calling IntegrationApi.get_loyalty_card_transactions"
866
+ end
867
+ if @api_client.config.client_side_validation && loyalty_card_identifier.to_s.length > 108
868
+ fail ArgumentError, 'invalid value for "loyalty_card_identifier" when calling IntegrationApi.get_loyalty_card_transactions, the character length must be smaller than or equal to 108.'
869
+ end
870
+
871
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 1000
872
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_transactions, must be smaller than or equal to 1000.'
873
+ end
874
+
875
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
876
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_transactions, must be greater than or equal to 1.'
652
877
  end
878
+
653
879
  # resource path
654
- local_var_path = '/v2/customer_audiences'
880
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardIdentifier}/transactions'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardIdentifier' + '}', CGI.escape(loyalty_card_identifier.to_s))
655
881
 
656
882
  # query parameters
657
883
  query_params = opts[:query_params] || {}
884
+ query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
885
+ query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
886
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
887
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
888
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
658
889
 
659
890
  # header parameters
660
891
  header_params = opts[:header_params] || {}
661
- # HTTP header 'Content-Type'
662
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
892
+ # HTTP header 'Accept' (if needed)
893
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
663
894
 
664
895
  # form parameters
665
896
  form_params = opts[:form_params] || {}
666
897
 
667
898
  # http body (model)
668
- post_body = opts[:body] || @api_client.object_to_http_body(body)
899
+ post_body = opts[:body]
669
900
 
670
901
  # return_type
671
- return_type = opts[:return_type]
902
+ return_type = opts[:return_type] || 'CardLedgerTransactionLogEntryIntegrationAPI'
672
903
 
673
904
  # auth_names
674
905
  auth_names = opts[:auth_names] || ['api_key_v1']
@@ -682,60 +913,217 @@ module TalonOne
682
913
  :return_type => return_type
683
914
  )
684
915
 
685
- data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
916
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
686
917
  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}"
918
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_card_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
688
919
  end
689
920
  return data, status_code, headers
690
921
  end
691
922
 
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]
923
+ # List customer's loyalty transactions
924
+ # Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint.
925
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
926
+ # @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.
696
927
  # @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)
928
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
929
+ # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
930
+ # @option opts [DateTime] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
931
+ # @option opts [Integer] :page_size The number of items in this response. (default to 50)
932
+ # @option opts [Integer] :skip Skips the given number of items when paging through large result sets.
933
+ # @return [InlineResponse2001]
934
+ def get_loyalty_program_profile_transactions(loyalty_program_id, integration_id, opts = {})
935
+ data, _status_code, _headers = get_loyalty_program_profile_transactions_with_http_info(loyalty_program_id, integration_id, opts)
702
936
  data
703
937
  end
704
938
 
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]
939
+ # List customer&#39;s loyalty transactions
940
+ # Retrieve paginated results of loyalty transaction logs for the given Integration ID in the specified loyalty program. You can filter transactions by date. If no filters are applied, the last 50 loyalty transactions for the given integration ID are returned. **Note:** To retrieve all loyalty program transaction logs in a given loyalty program, use the [List loyalty program transactions](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgramTransactions) endpoint.
941
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
942
+ # @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.
709
943
  # @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 = {})
944
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
945
+ # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
946
+ # @option opts [DateTime] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
947
+ # @option opts [Integer] :page_size The number of items in this response.
948
+ # @option opts [Integer] :skip Skips the given number of items when paging through large result sets.
949
+ # @return [Array<(InlineResponse2001, Integer, Hash)>] InlineResponse2001 data, response status code and response headers
950
+ def get_loyalty_program_profile_transactions_with_http_info(loyalty_program_id, integration_id, opts = {})
714
951
  if @api_client.config.debugging
715
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_v2 ...'
952
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_program_profile_transactions ...'
953
+ end
954
+ # verify the required parameter 'loyalty_program_id' is set
955
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
956
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.get_loyalty_program_profile_transactions"
716
957
  end
717
958
  # verify the required parameter 'integration_id' is set
718
959
  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"
960
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.get_loyalty_program_profile_transactions"
720
961
  end
721
- # verify the required parameter 'body' is set
722
- if @api_client.config.client_side_validation && body.nil?
723
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_v2"
962
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] > 50
963
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_transactions, must be smaller than or equal to 50.'
724
964
  end
965
+
966
+ if @api_client.config.client_side_validation && !opts[:'page_size'].nil? && opts[:'page_size'] < 1
967
+ fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_transactions, must be greater than or equal to 1.'
968
+ end
969
+
725
970
  # resource path
726
- local_var_path = '/v2/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
971
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
727
972
 
728
973
  # query parameters
729
974
  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?
975
+ query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
976
+ query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
977
+ query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
978
+ query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
979
+ query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
732
980
 
733
981
  # header parameters
734
982
  header_params = opts[:header_params] || {}
735
983
  # HTTP header 'Accept' (if needed)
736
984
  header_params['Accept'] = @api_client.select_header_accept(['application/json'])
737
- # HTTP header 'Content-Type'
738
- header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
985
+
986
+ # form parameters
987
+ form_params = opts[:form_params] || {}
988
+
989
+ # http body (model)
990
+ post_body = opts[:body]
991
+
992
+ # return_type
993
+ return_type = opts[:return_type] || 'InlineResponse2001'
994
+
995
+ # auth_names
996
+ auth_names = opts[:auth_names] || ['api_key_v1']
997
+
998
+ new_options = opts.merge(
999
+ :header_params => header_params,
1000
+ :query_params => query_params,
1001
+ :form_params => form_params,
1002
+ :body => post_body,
1003
+ :auth_names => auth_names,
1004
+ :return_type => return_type
1005
+ )
1006
+
1007
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1008
+ if @api_client.config.debugging
1009
+ @api_client.config.logger.debug "API called: IntegrationApi#get_loyalty_program_profile_transactions\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1010
+ end
1011
+ return data, status_code, headers
1012
+ end
1013
+
1014
+ # List customers that have this coupon reserved
1015
+ # 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](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints.
1016
+ # @param coupon_value [String] The code of the coupon.
1017
+ # @param [Hash] opts the optional parameters
1018
+ # @return [InlineResponse200]
1019
+ def get_reserved_customers(coupon_value, opts = {})
1020
+ data, _status_code, _headers = get_reserved_customers_with_http_info(coupon_value, opts)
1021
+ data
1022
+ end
1023
+
1024
+ # List customers that have this coupon reserved
1025
+ # 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](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints.
1026
+ # @param coupon_value [String] The code of the coupon.
1027
+ # @param [Hash] opts the optional parameters
1028
+ # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
1029
+ def get_reserved_customers_with_http_info(coupon_value, opts = {})
1030
+ if @api_client.config.debugging
1031
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.get_reserved_customers ...'
1032
+ end
1033
+ # verify the required parameter 'coupon_value' is set
1034
+ if @api_client.config.client_side_validation && coupon_value.nil?
1035
+ fail ArgumentError, "Missing the required parameter 'coupon_value' when calling IntegrationApi.get_reserved_customers"
1036
+ end
1037
+ # resource path
1038
+ local_var_path = '/v1/coupon_reservations/customerprofiles/{couponValue}'.sub('{' + 'couponValue' + '}', CGI.escape(coupon_value.to_s))
1039
+
1040
+ # query parameters
1041
+ query_params = opts[:query_params] || {}
1042
+
1043
+ # header parameters
1044
+ header_params = opts[:header_params] || {}
1045
+ # HTTP header 'Accept' (if needed)
1046
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1047
+
1048
+ # form parameters
1049
+ form_params = opts[:form_params] || {}
1050
+
1051
+ # http body (model)
1052
+ post_body = opts[:body]
1053
+
1054
+ # return_type
1055
+ return_type = opts[:return_type] || 'InlineResponse200'
1056
+
1057
+ # auth_names
1058
+ auth_names = opts[:auth_names] || ['api_key_v1']
1059
+
1060
+ new_options = opts.merge(
1061
+ :header_params => header_params,
1062
+ :query_params => query_params,
1063
+ :form_params => form_params,
1064
+ :body => post_body,
1065
+ :auth_names => auth_names,
1066
+ :return_type => return_type
1067
+ )
1068
+
1069
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1070
+ if @api_client.config.debugging
1071
+ @api_client.config.logger.debug "API called: IntegrationApi#get_reserved_customers\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1072
+ end
1073
+ return data, status_code, headers
1074
+ end
1075
+
1076
+ # Link customer profile to loyalty card
1077
+ # [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows.
1078
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1079
+ # @param loyalty_card_identifier [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1080
+ # @param body [LoyaltyCardRegistration] body
1081
+ # @param [Hash] opts the optional parameters
1082
+ # @return [LoyaltyCard]
1083
+ def link_loyalty_card_to_profile(loyalty_program_id, loyalty_card_identifier, body, opts = {})
1084
+ data, _status_code, _headers = link_loyalty_card_to_profile_with_http_info(loyalty_program_id, loyalty_card_identifier, body, opts)
1085
+ data
1086
+ end
1087
+
1088
+ # Link customer profile to loyalty card
1089
+ # [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/loyalty-card-overview) allow customers to collect and spend loyalty points within a [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/overview#loyalty-program-types). They are useful to gamify loyalty programs and can be used with or without customer profiles linked to them. Link a customer profile to a given loyalty card for the card to be set as **Registered**. This affects how it can be used. See the [docs](https://docs.talon.one/docs/product/loyalty-programs/loyalty-cards/managing-loyalty-cards#linking-customer-profiles-to-a-loyalty-card). **Note:** You can link as many customer profiles to a given loyalty card as the [**card user limit**](https://docs.talon.one/docs/product/loyalty-programs/creating-loyalty-programs#creating-card-based-loyalty-programs) allows.
1090
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
1091
+ # @param loyalty_card_identifier [String] Identifier of the loyalty card. You can get the identifier with the [List loyalty cards](https://docs.talon.one/management-api#tag/Loyalty-cards/operation/getLoyaltyCards) endpoint.
1092
+ # @param body [LoyaltyCardRegistration] body
1093
+ # @param [Hash] opts the optional parameters
1094
+ # @return [Array<(LoyaltyCard, Integer, Hash)>] LoyaltyCard data, response status code and response headers
1095
+ def link_loyalty_card_to_profile_with_http_info(loyalty_program_id, loyalty_card_identifier, body, opts = {})
1096
+ if @api_client.config.debugging
1097
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.link_loyalty_card_to_profile ...'
1098
+ end
1099
+ # verify the required parameter 'loyalty_program_id' is set
1100
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
1101
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.link_loyalty_card_to_profile"
1102
+ end
1103
+ # verify the required parameter 'loyalty_card_identifier' is set
1104
+ if @api_client.config.client_side_validation && loyalty_card_identifier.nil?
1105
+ fail ArgumentError, "Missing the required parameter 'loyalty_card_identifier' when calling IntegrationApi.link_loyalty_card_to_profile"
1106
+ end
1107
+ if @api_client.config.client_side_validation && loyalty_card_identifier.to_s.length > 108
1108
+ fail ArgumentError, 'invalid value for "loyalty_card_identifier" when calling IntegrationApi.link_loyalty_card_to_profile, the character length must be smaller than or equal to 108.'
1109
+ end
1110
+
1111
+ # verify the required parameter 'body' is set
1112
+ if @api_client.config.client_side_validation && body.nil?
1113
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.link_loyalty_card_to_profile"
1114
+ end
1115
+ # resource path
1116
+ local_var_path = '/v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardIdentifier}/link_profile'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardIdentifier' + '}', CGI.escape(loyalty_card_identifier.to_s))
1117
+
1118
+ # query parameters
1119
+ query_params = opts[:query_params] || {}
1120
+
1121
+ # header parameters
1122
+ header_params = opts[:header_params] || {}
1123
+ # HTTP header 'Accept' (if needed)
1124
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1125
+ # HTTP header 'Content-Type'
1126
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
739
1127
 
740
1128
  # form parameters
741
1129
  form_params = opts[:form_params] || {}
@@ -743,6 +1131,68 @@ module TalonOne
743
1131
  # http body (model)
744
1132
  post_body = opts[:body] || @api_client.object_to_http_body(body)
745
1133
 
1134
+ # return_type
1135
+ return_type = opts[:return_type] || 'LoyaltyCard'
1136
+
1137
+ # auth_names
1138
+ auth_names = opts[:auth_names] || ['api_key_v1']
1139
+
1140
+ new_options = opts.merge(
1141
+ :header_params => header_params,
1142
+ :query_params => query_params,
1143
+ :form_params => form_params,
1144
+ :body => post_body,
1145
+ :auth_names => auth_names,
1146
+ :return_type => return_type
1147
+ )
1148
+
1149
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1150
+ if @api_client.config.debugging
1151
+ @api_client.config.logger.debug "API called: IntegrationApi#link_loyalty_card_to_profile\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1152
+ end
1153
+ return data, status_code, headers
1154
+ end
1155
+
1156
+ # Reopen customer session
1157
+ # Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The `talon_session_reopened` event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to `open`. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets are left the way they were once the session was originally closed:</p> <ul> <li>Add free item effect</li> <li>Any <strong>not pending</strong> pending loyalty points.</li> <li>Award giveaway</li> <li>Coupon and referral creation</li> <li>Coupon reservation</li> <li>Custom effect</li> <li>Update attribute value</li> <li>Update cart item attribute value</li> </ul> </div> <p>To see an example of roll back, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets tutorial</a>.</p> </details> **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one.
1158
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1159
+ # @param [Hash] opts the optional parameters
1160
+ # @return [IntegrationStateV2]
1161
+ def reopen_customer_session(customer_session_id, opts = {})
1162
+ data, _status_code, _headers = reopen_customer_session_with_http_info(customer_session_id, opts)
1163
+ data
1164
+ end
1165
+
1166
+ # Reopen customer session
1167
+ # Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). For example, if a session has been completed but still needs to be edited, you can reopen it with this endpoint. A reopen session is treated like a standard open session. When reopening a session: - The &#x60;talon_session_reopened&#x60; event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to &#x60;open&#x60;. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Effects and budgets unimpacted by a session reopening&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt;The following effects and budgets are left the way they were once the session was originally closed:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add free item effect&lt;/li&gt; &lt;li&gt;Any &lt;strong&gt;not pending&lt;/strong&gt; pending loyalty points.&lt;/li&gt; &lt;li&gt;Award giveaway&lt;/li&gt; &lt;li&gt;Coupon and referral creation&lt;/li&gt; &lt;li&gt;Coupon reservation&lt;/li&gt; &lt;li&gt;Custom effect&lt;/li&gt; &lt;li&gt;Update attribute value&lt;/li&gt; &lt;li&gt;Update cart item attribute value&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p&gt;To see an example of roll back, see the &lt;a href&#x3D;\&quot;https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\&quot;&gt;Cancelling a session with campaign budgets tutorial&lt;/a&gt;.&lt;/p&gt; &lt;/details&gt; **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one.
1168
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1169
+ # @param [Hash] opts the optional parameters
1170
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
1171
+ def reopen_customer_session_with_http_info(customer_session_id, opts = {})
1172
+ if @api_client.config.debugging
1173
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.reopen_customer_session ...'
1174
+ end
1175
+ # verify the required parameter 'customer_session_id' is set
1176
+ if @api_client.config.client_side_validation && customer_session_id.nil?
1177
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.reopen_customer_session"
1178
+ end
1179
+ # resource path
1180
+ local_var_path = '/v2/customer_sessions/{customerSessionId}/reopen'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
1181
+
1182
+ # query parameters
1183
+ query_params = opts[:query_params] || {}
1184
+
1185
+ # header parameters
1186
+ header_params = opts[:header_params] || {}
1187
+ # HTTP header 'Accept' (if needed)
1188
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1189
+
1190
+ # form parameters
1191
+ form_params = opts[:form_params] || {}
1192
+
1193
+ # http body (model)
1194
+ post_body = opts[:body]
1195
+
746
1196
  # return_type
747
1197
  return_type = opts[:return_type] || 'IntegrationStateV2'
748
1198
 
@@ -760,42 +1210,48 @@ module TalonOne
760
1210
 
761
1211
  data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
762
1212
  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}"
1213
+ @api_client.config.logger.debug "API called: IntegrationApi#reopen_customer_session\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
764
1214
  end
765
1215
  return data, status_code, headers
766
1216
  end
767
1217
 
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]
1218
+ # Return cart items
1219
+ # 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#flattening) is enabled for the Application. **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).
1220
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1221
+ # @param body [ReturnIntegrationRequest] body
771
1222
  # @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)
1223
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1224
+ # @return [IntegrationStateV2]
1225
+ def return_cart_items(customer_session_id, body, opts = {})
1226
+ data, _status_code, _headers = return_cart_items_with_http_info(customer_session_id, body, opts)
776
1227
  data
777
1228
  end
778
1229
 
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]
1230
+ # Return cart items
1231
+ # 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#flattening) is enabled for the Application. **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).
1232
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1233
+ # @param body [ReturnIntegrationRequest] body
782
1234
  # @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 = {})
1235
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1236
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
1237
+ def return_cart_items_with_http_info(customer_session_id, body, opts = {})
786
1238
  if @api_client.config.debugging
787
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profiles_v2 ...'
1239
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.return_cart_items ...'
1240
+ end
1241
+ # verify the required parameter 'customer_session_id' is set
1242
+ if @api_client.config.client_side_validation && customer_session_id.nil?
1243
+ fail ArgumentError, "Missing the required parameter 'customer_session_id' when calling IntegrationApi.return_cart_items"
788
1244
  end
789
1245
  # verify the required parameter 'body' is set
790
1246
  if @api_client.config.client_side_validation && body.nil?
791
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profiles_v2"
1247
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.return_cart_items"
792
1248
  end
793
1249
  # resource path
794
- local_var_path = '/v2/customer_profiles'
1250
+ local_var_path = '/v2/customer_sessions/{customerSessionId}/returns'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
795
1251
 
796
1252
  # query parameters
797
1253
  query_params = opts[:query_params] || {}
798
- query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
1254
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
799
1255
 
800
1256
  # header parameters
801
1257
  header_params = opts[:header_params] || {}
@@ -811,7 +1267,77 @@ module TalonOne
811
1267
  post_body = opts[:body] || @api_client.object_to_http_body(body)
812
1268
 
813
1269
  # return_type
814
- return_type = opts[:return_type] || 'MultipleCustomerProfileIntegrationResponseV2'
1270
+ return_type = opts[:return_type] || 'IntegrationStateV2'
1271
+
1272
+ # auth_names
1273
+ auth_names = opts[:auth_names] || ['api_key_v1']
1274
+
1275
+ new_options = opts.merge(
1276
+ :header_params => header_params,
1277
+ :query_params => query_params,
1278
+ :form_params => form_params,
1279
+ :body => post_body,
1280
+ :auth_names => auth_names,
1281
+ :return_type => return_type
1282
+ )
1283
+
1284
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1285
+ if @api_client.config.debugging
1286
+ @api_client.config.logger.debug "API called: IntegrationApi#return_cart_items\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1287
+ end
1288
+ return data, status_code, headers
1289
+ end
1290
+
1291
+ # Sync cart item catalog
1292
+ # Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The `filters` array contains an object with the following properties: - `attr`: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - `op`: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the `value` property for the attribute selected in `attr`. The value of `op` can be one of the following: - `EQ`: Equal to `value` - `LT`: Less than `value` - `LE`: Less than or equal to `value` - `GT`: Greater than `value` - `GE`: Greater than or equal to `value` - `IN`: One of the comma-separated values that `value` is set to. **Note:** `GE`, `LE`, `GT`, `LT` are for numeric values only. - `value`: The value of the attribute selected in `attr`. ### Payload examples Synchronization actions are sent as `PUT` requests. See the structure for each action: <details> <summary><strong>Adding an item to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoe\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100 }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of an item in the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"age\": 11, \"origin\": \"germany\" }, \"createIfNotExists\": false, \"sku\": \"SKU1241028\" }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"red\" }, \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"PATCH_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing an item from the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"sku\": \"SKU1241028\" }, \"type\": \"REMOVE\" } ] } ``` </div> </details> <details> <summary><strong>Removing several items from the catalog at once</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"color\", \"op\": \"EQ\", \"value\": \"blue\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details> <details> <summary><strong>Removing shoes of sizes above 45 from the catalog</strong></summary> <div> <p> Let's imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:</p> ```json { \"actions\": [ { \"payload\": { \"filters\": [ { \"attr\": \"size\", \"op\": \"GT\", \"value\": \"45\" } ] }, \"type\": \"REMOVE_MANY\" } ] } ``` </div> </details>
1293
+ # @param catalog_id [Integer] The ID of the catalog. You can find the ID in the Campaign Manager in **Account** &gt; **Tools** &gt; **Cart item catalogs**.
1294
+ # @param body [CatalogSyncRequest] body
1295
+ # @param [Hash] opts the optional parameters
1296
+ # @return [Catalog]
1297
+ def sync_catalog(catalog_id, body, opts = {})
1298
+ data, _status_code, _headers = sync_catalog_with_http_info(catalog_id, body, opts)
1299
+ data
1300
+ end
1301
+
1302
+ # Sync cart item catalog
1303
+ # Perform one or more of the following sync actions on this cart item catalog, up to 1000 actions: - Add an item to the catalog. - Edit the attributes of an item in the catalog. - Edit the attributes of more than one item in the catalog. - Remove an item from the catalog. - Remove more than one item from the catalog. **Note:** For more information, see [our documentation on managing cart item catalogs](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs). ### Filtering cart items Use [cart item attributes](https://docs.talon.one/docs/product/account/dev-tools/managing-cart-item-catalogs#displaying-the-details-and-content-of-a-catalog) to filter items and select the ones you want to edit or delete when editing or deleting more than one item at a time. The &#x60;filters&#x60; array contains an object with the following properties: - &#x60;attr&#x60;: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - &#x60;op&#x60;: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the &#x60;value&#x60; property for the attribute selected in &#x60;attr&#x60;. The value of &#x60;op&#x60; can be one of the following: - &#x60;EQ&#x60;: Equal to &#x60;value&#x60; - &#x60;LT&#x60;: Less than &#x60;value&#x60; - &#x60;LE&#x60;: Less than or equal to &#x60;value&#x60; - &#x60;GT&#x60;: Greater than &#x60;value&#x60; - &#x60;GE&#x60;: Greater than or equal to &#x60;value&#x60; - &#x60;IN&#x60;: One of the comma-separated values that &#x60;value&#x60; is set to. **Note:** &#x60;GE&#x60;, &#x60;LE&#x60;, &#x60;GT&#x60;, &#x60;LT&#x60; are for numeric values only. - &#x60;value&#x60;: The value of the attribute selected in &#x60;attr&#x60;. ### Payload examples Synchronization actions are sent as &#x60;PUT&#x60; requests. See the structure for each action: &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding an item to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoe\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100 }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Editing the attributes of an item in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;age\&quot;: 11, \&quot;origin\&quot;: \&quot;germany\&quot; }, \&quot;createIfNotExists\&quot;: false, \&quot;sku\&quot;: \&quot;SKU1241028\&quot; }, \&quot;type\&quot;: \&quot;PATCH\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Editing the attributes of several items at once&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;red\&quot; }, \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;PATCH_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing an item from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;sku\&quot;: \&quot;SKU1241028\&quot; }, \&quot;type\&quot;: \&quot;REMOVE\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing several items from the catalog at once&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing shoes of sizes above 45 from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt; Let&#39;s imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:&lt;/p&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;size\&quot;, \&quot;op\&quot;: \&quot;GT\&quot;, \&quot;value\&quot;: \&quot;45\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt;
1304
+ # @param catalog_id [Integer] The ID of the catalog. You can find the ID in the Campaign Manager in **Account** &gt; **Tools** &gt; **Cart item catalogs**.
1305
+ # @param body [CatalogSyncRequest] body
1306
+ # @param [Hash] opts the optional parameters
1307
+ # @return [Array<(Catalog, Integer, Hash)>] Catalog data, response status code and response headers
1308
+ def sync_catalog_with_http_info(catalog_id, body, opts = {})
1309
+ if @api_client.config.debugging
1310
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.sync_catalog ...'
1311
+ end
1312
+ # verify the required parameter 'catalog_id' is set
1313
+ if @api_client.config.client_side_validation && catalog_id.nil?
1314
+ fail ArgumentError, "Missing the required parameter 'catalog_id' when calling IntegrationApi.sync_catalog"
1315
+ end
1316
+ # verify the required parameter 'body' is set
1317
+ if @api_client.config.client_side_validation && body.nil?
1318
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.sync_catalog"
1319
+ end
1320
+ # resource path
1321
+ local_var_path = '/v1/catalogs/{catalogId}/sync'.sub('{' + 'catalogId' + '}', CGI.escape(catalog_id.to_s))
1322
+
1323
+ # query parameters
1324
+ query_params = opts[:query_params] || {}
1325
+
1326
+ # header parameters
1327
+ header_params = opts[:header_params] || {}
1328
+ # HTTP header 'Accept' (if needed)
1329
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1330
+ # HTTP header 'Content-Type'
1331
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1332
+
1333
+ # form parameters
1334
+ form_params = opts[:form_params] || {}
1335
+
1336
+ # http body (model)
1337
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1338
+
1339
+ # return_type
1340
+ return_type = opts[:return_type] || 'Catalog'
815
1341
 
816
1342
  # auth_names
817
1343
  auth_names = opts[:auth_names] || ['api_key_v1']
@@ -827,44 +1353,38 @@ module TalonOne
827
1353
 
828
1354
  data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
829
1355
  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}"
1356
+ @api_client.config.logger.debug "API called: IntegrationApi#sync_catalog\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
831
1357
  end
832
1358
  return data, status_code, headers
833
1359
  end
834
1360
 
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]
1361
+ # Track event
1362
+ # <div class=\"redoc-section\"> <p class=\"title\">Deprecation warning</p> <p>This endpoint is DEPRECATED and will be sunset on March 31st 2023. Use <a href=\"https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2\">Track Event V2</a> instead.</p> <p>See <a href=\"https://docs.talon.one/docs/dev/tutorials/migrating-to-v2\">Migrating to V2</a>.</p> </div> Triggers a custom event in a customer session. You can then check this event in your rules. Before using this endpoint, create your event as a custom attribute of type `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.
1363
+ # @param body [NewEvent] body
839
1364
  # @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;.
1365
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
841
1366
  # @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)
1367
+ def track_event(body, opts = {})
1368
+ data, _status_code, _headers = track_event_with_http_info(body, opts)
844
1369
  data
845
1370
  end
846
1371
 
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]
1372
+ # Track event
1373
+ # &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Deprecation warning&lt;/p&gt; &lt;p&gt;This endpoint is DEPRECATED and will be sunset on March 31st 2023. Use &lt;a href&#x3D;\&quot;https://docs.talon.one/integration-api#tag/Events/operation/trackEventV2\&quot;&gt;Track Event V2&lt;/a&gt; instead.&lt;/p&gt; &lt;p&gt;See &lt;a href&#x3D;\&quot;https://docs.talon.one/docs/dev/tutorials/migrating-to-v2\&quot;&gt;Migrating to V2&lt;/a&gt;.&lt;/p&gt; &lt;/div&gt; Triggers a custom event in a customer session. You can then check this event in your rules. Before using this endpoint, create your event as a custom attribute of type &#x60;event&#x60;. 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.
1374
+ # @param body [NewEvent] body
851
1375
  # @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;.
1376
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
853
1377
  # @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 = {})
1378
+ def track_event_with_http_info(body, opts = {})
855
1379
  if @api_client.config.debugging
856
- @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_session ...'
857
- 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"
1380
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event ...'
861
1381
  end
862
1382
  # verify the required parameter 'body' is set
863
1383
  if @api_client.config.client_side_validation && body.nil?
864
- fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_session"
1384
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.track_event"
865
1385
  end
866
1386
  # resource path
867
- local_var_path = '/v1/customer_sessions/{customerSessionId}'.sub('{' + 'customerSessionId' + '}', CGI.escape(customer_session_id.to_s))
1387
+ local_var_path = '/v1/events'
868
1388
 
869
1389
  # query parameters
870
1390
  query_params = opts[:query_params] || {}
@@ -887,7 +1407,7 @@ module TalonOne
887
1407
  return_type = opts[:return_type] || 'IntegrationState'
888
1408
 
889
1409
  # auth_names
890
- auth_names = opts[:auth_names] || ['api_key_v1', 'integration_auth']
1410
+ auth_names = opts[:auth_names] || ['api_key_v1']
891
1411
 
892
1412
  new_options = opts.merge(
893
1413
  :header_params => header_params,
@@ -898,31 +1418,448 @@ module TalonOne
898
1418
  :return_type => return_type
899
1419
  )
900
1420
 
901
- data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1421
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1422
+ if @api_client.config.debugging
1423
+ @api_client.config.logger.debug "API called: IntegrationApi#track_event\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1424
+ end
1425
+ return data, status_code, headers
1426
+ end
1427
+
1428
+ # Track event V2
1429
+ # Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/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 customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - `profileId` is required. An event V2 is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type `event`. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager.
1430
+ # @param body [IntegrationEventV2Request] body
1431
+ # @param [Hash] opts the optional parameters
1432
+ # @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 the updated customer profiles. (default to 'yes')
1433
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1434
+ # @return [IntegrationStateV2]
1435
+ def track_event_v2(body, opts = {})
1436
+ data, _status_code, _headers = track_event_v2_with_http_info(body, opts)
1437
+ data
1438
+ end
1439
+
1440
+ # Track event V2
1441
+ # Triggers a custom event. You can build a condition around this event in your rules. Talon.One offers a set of [built-in events](https://docs.talon.one/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 customer shares a link to a product. See the [tutorial](https://docs.talon.one/docs/product/tutorials/referrals/incentivizing-product-link-sharing). **Important:** - &#x60;profileId&#x60; is required. An event V2 is associated with a customer profile. - Before using this endpoint, create your event as a custom attribute of type &#x60;event&#x60;. See the [Developer docs](https://docs.talon.one/docs/dev/concepts/events#creating-a-custom-event). When you successfully sent an event to Talon.One, you can list received events in the **Events** view in the Campaign Manager.
1442
+ # @param body [IntegrationEventV2Request] body
1443
+ # @param [Hash] opts the optional parameters
1444
+ # @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 the updated customer profiles.
1445
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1446
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
1447
+ def track_event_v2_with_http_info(body, opts = {})
902
1448
  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}"
1449
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.track_event_v2 ...'
1450
+ end
1451
+ # verify the required parameter 'body' is set
1452
+ if @api_client.config.client_side_validation && body.nil?
1453
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.track_event_v2"
1454
+ end
1455
+ # resource path
1456
+ local_var_path = '/v2/events'
1457
+
1458
+ # query parameters
1459
+ query_params = opts[:query_params] || {}
1460
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
1461
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
1462
+
1463
+ # header parameters
1464
+ header_params = opts[:header_params] || {}
1465
+ # HTTP header 'Accept' (if needed)
1466
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1467
+ # HTTP header 'Content-Type'
1468
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1469
+
1470
+ # form parameters
1471
+ form_params = opts[:form_params] || {}
1472
+
1473
+ # http body (model)
1474
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1475
+
1476
+ # return_type
1477
+ return_type = opts[:return_type] || 'IntegrationStateV2'
1478
+
1479
+ # auth_names
1480
+ auth_names = opts[:auth_names] || ['api_key_v1']
1481
+
1482
+ new_options = opts.merge(
1483
+ :header_params => header_params,
1484
+ :query_params => query_params,
1485
+ :form_params => form_params,
1486
+ :body => post_body,
1487
+ :auth_names => auth_names,
1488
+ :return_type => return_type
1489
+ )
1490
+
1491
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1492
+ if @api_client.config.debugging
1493
+ @api_client.config.logger.debug "API called: IntegrationApi#track_event_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1494
+ end
1495
+ return data, status_code, headers
1496
+ end
1497
+
1498
+ # Update profile attributes for all customers in audience
1499
+ # Update the specified profile attributes to the provided values for all customers in the specified audience.
1500
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
1501
+ # @param body [Object] body
1502
+ # @param [Hash] opts the optional parameters
1503
+ # @return [nil]
1504
+ def update_audience_customers_attributes(audience_id, body, opts = {})
1505
+ update_audience_customers_attributes_with_http_info(audience_id, body, opts)
1506
+ nil
1507
+ end
1508
+
1509
+ # Update profile attributes for all customers in audience
1510
+ # Update the specified profile attributes to the provided values for all customers in the specified audience.
1511
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
1512
+ # @param body [Object] body
1513
+ # @param [Hash] opts the optional parameters
1514
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1515
+ def update_audience_customers_attributes_with_http_info(audience_id, body, opts = {})
1516
+ if @api_client.config.debugging
1517
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_audience_customers_attributes ...'
1518
+ end
1519
+ # verify the required parameter 'audience_id' is set
1520
+ if @api_client.config.client_side_validation && audience_id.nil?
1521
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.update_audience_customers_attributes"
1522
+ end
1523
+ # verify the required parameter 'body' is set
1524
+ if @api_client.config.client_side_validation && body.nil?
1525
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_audience_customers_attributes"
1526
+ end
1527
+ # resource path
1528
+ local_var_path = '/v2/audience_customers/{audienceId}/attributes'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
1529
+
1530
+ # query parameters
1531
+ query_params = opts[:query_params] || {}
1532
+
1533
+ # header parameters
1534
+ header_params = opts[:header_params] || {}
1535
+ # HTTP header 'Accept' (if needed)
1536
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1537
+ # HTTP header 'Content-Type'
1538
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1539
+
1540
+ # form parameters
1541
+ form_params = opts[:form_params] || {}
1542
+
1543
+ # http body (model)
1544
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1545
+
1546
+ # return_type
1547
+ return_type = opts[:return_type]
1548
+
1549
+ # auth_names
1550
+ auth_names = opts[:auth_names] || ['api_key_v1']
1551
+
1552
+ new_options = opts.merge(
1553
+ :header_params => header_params,
1554
+ :query_params => query_params,
1555
+ :form_params => form_params,
1556
+ :body => post_body,
1557
+ :auth_names => auth_names,
1558
+ :return_type => return_type
1559
+ )
1560
+
1561
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1562
+ if @api_client.config.debugging
1563
+ @api_client.config.logger.debug "API called: IntegrationApi#update_audience_customers_attributes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1564
+ end
1565
+ return data, status_code, headers
1566
+ end
1567
+
1568
+ # Update audience name
1569
+ # Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience's members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
1570
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
1571
+ # @param body [UpdateAudience] body
1572
+ # @param [Hash] opts the optional parameters
1573
+ # @return [Audience]
1574
+ def update_audience_v2(audience_id, body, opts = {})
1575
+ data, _status_code, _headers = update_audience_v2_with_http_info(audience_id, body, opts)
1576
+ data
1577
+ end
1578
+
1579
+ # Update audience name
1580
+ # Update the name of the given audience created by a third-party integration. Sending a request to this endpoint does **not** trigger the rule engine. To update the audience&#39;s members, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
1581
+ # @param audience_id [Integer] The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2).
1582
+ # @param body [UpdateAudience] body
1583
+ # @param [Hash] opts the optional parameters
1584
+ # @return [Array<(Audience, Integer, Hash)>] Audience data, response status code and response headers
1585
+ def update_audience_v2_with_http_info(audience_id, body, opts = {})
1586
+ if @api_client.config.debugging
1587
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_audience_v2 ...'
1588
+ end
1589
+ # verify the required parameter 'audience_id' is set
1590
+ if @api_client.config.client_side_validation && audience_id.nil?
1591
+ fail ArgumentError, "Missing the required parameter 'audience_id' when calling IntegrationApi.update_audience_v2"
1592
+ end
1593
+ # verify the required parameter 'body' is set
1594
+ if @api_client.config.client_side_validation && body.nil?
1595
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_audience_v2"
1596
+ end
1597
+ # resource path
1598
+ local_var_path = '/v2/audiences/{audienceId}'.sub('{' + 'audienceId' + '}', CGI.escape(audience_id.to_s))
1599
+
1600
+ # query parameters
1601
+ query_params = opts[:query_params] || {}
1602
+
1603
+ # header parameters
1604
+ header_params = opts[:header_params] || {}
1605
+ # HTTP header 'Accept' (if needed)
1606
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1607
+ # HTTP header 'Content-Type'
1608
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1609
+
1610
+ # form parameters
1611
+ form_params = opts[:form_params] || {}
1612
+
1613
+ # http body (model)
1614
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1615
+
1616
+ # return_type
1617
+ return_type = opts[:return_type] || 'Audience'
1618
+
1619
+ # auth_names
1620
+ auth_names = opts[:auth_names] || ['api_key_v1']
1621
+
1622
+ new_options = opts.merge(
1623
+ :header_params => header_params,
1624
+ :query_params => query_params,
1625
+ :form_params => form_params,
1626
+ :body => post_body,
1627
+ :auth_names => auth_names,
1628
+ :return_type => return_type
1629
+ )
1630
+
1631
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1632
+ if @api_client.config.debugging
1633
+ @api_client.config.logger.debug "API called: IntegrationApi#update_audience_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1634
+ end
1635
+ return data, status_code, headers
1636
+ end
1637
+
1638
+ # Update multiple customer profiles' audiences
1639
+ # 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.
1640
+ # @param body [CustomerProfileAudienceRequest] body
1641
+ # @param [Hash] opts the optional parameters
1642
+ # @return [nil]
1643
+ def update_customer_profile_audiences(body, opts = {})
1644
+ update_customer_profile_audiences_with_http_info(body, opts)
1645
+ nil
1646
+ end
1647
+
1648
+ # Update multiple customer profiles&#39; audiences
1649
+ # 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.
1650
+ # @param body [CustomerProfileAudienceRequest] body
1651
+ # @param [Hash] opts the optional parameters
1652
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1653
+ def update_customer_profile_audiences_with_http_info(body, opts = {})
1654
+ if @api_client.config.debugging
1655
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_audiences ...'
1656
+ end
1657
+ # verify the required parameter 'body' is set
1658
+ if @api_client.config.client_side_validation && body.nil?
1659
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_audiences"
1660
+ end
1661
+ # resource path
1662
+ local_var_path = '/v2/customer_audiences'
1663
+
1664
+ # query parameters
1665
+ query_params = opts[:query_params] || {}
1666
+
1667
+ # header parameters
1668
+ header_params = opts[:header_params] || {}
1669
+ # HTTP header 'Accept' (if needed)
1670
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1671
+ # HTTP header 'Content-Type'
1672
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1673
+
1674
+ # form parameters
1675
+ form_params = opts[:form_params] || {}
1676
+
1677
+ # http body (model)
1678
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1679
+
1680
+ # return_type
1681
+ return_type = opts[:return_type]
1682
+
1683
+ # auth_names
1684
+ auth_names = opts[:auth_names] || ['api_key_v1']
1685
+
1686
+ new_options = opts.merge(
1687
+ :header_params => header_params,
1688
+ :query_params => query_params,
1689
+ :form_params => form_params,
1690
+ :body => post_body,
1691
+ :auth_names => auth_names,
1692
+ :return_type => return_type
1693
+ )
1694
+
1695
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
1696
+ if @api_client.config.debugging
1697
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_audiences\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1698
+ end
1699
+ return data, status_code, headers
1700
+ end
1701
+
1702
+ # Update customer profile
1703
+ # Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> 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. </div>
1704
+ # @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.
1705
+ # @param body [CustomerProfileIntegrationRequestV2] body
1706
+ # @param [Hash] opts the optional parameters
1707
+ # @option opts [Boolean] :run_rule_engine Indicates whether to run the Rule Engine. If &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns are returned in the &#x60;effects&#x60; property. - The created coupons and referral objects. If &#x60;false&#x60;: - The rules are not executed and the &#x60;effects&#x60; property is always empty. - The response time improves. - You cannot use &#x60;responseContent&#x60; in the body. (default to false)
1708
+ # @option opts [Boolean] :dry (Only works when &#x60;runRuleEngine&#x3D;true&#x60;) Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;, you can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run.
1709
+ # @return [IntegrationStateV2]
1710
+ def update_customer_profile_v2(integration_id, body, opts = {})
1711
+ data, _status_code, _headers = update_customer_profile_v2_with_http_info(integration_id, body, opts)
1712
+ data
1713
+ end
1714
+
1715
+ # Update customer profile
1716
+ # Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities#customer-profile). This endpoint triggers the Rule Builder. You can use this endpoint to: - Set attributes on the given customer profile. Ensure you create the attributes in the Campaign Manager, first. - Modify the audience the customer profile is a member of. &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Performance tips&lt;/p&gt; 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. &lt;/div&gt;
1717
+ # @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.
1718
+ # @param body [CustomerProfileIntegrationRequestV2] body
1719
+ # @param [Hash] opts the optional parameters
1720
+ # @option opts [Boolean] :run_rule_engine Indicates whether to run the Rule Engine. If &#x60;true&#x60;, the response includes: - The effects generated by the triggered campaigns are returned in the &#x60;effects&#x60; property. - The created coupons and referral objects. If &#x60;false&#x60;: - The rules are not executed and the &#x60;effects&#x60; property is always empty. - The response time improves. - You cannot use &#x60;responseContent&#x60; in the body.
1721
+ # @option opts [Boolean] :dry (Only works when &#x60;runRuleEngine&#x3D;true&#x60;) Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;, you can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run.
1722
+ # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
1723
+ def update_customer_profile_v2_with_http_info(integration_id, body, opts = {})
1724
+ if @api_client.config.debugging
1725
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profile_v2 ...'
1726
+ end
1727
+ # verify the required parameter 'integration_id' is set
1728
+ if @api_client.config.client_side_validation && integration_id.nil?
1729
+ fail ArgumentError, "Missing the required parameter 'integration_id' when calling IntegrationApi.update_customer_profile_v2"
1730
+ end
1731
+ # verify the required parameter 'body' is set
1732
+ if @api_client.config.client_side_validation && body.nil?
1733
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profile_v2"
1734
+ end
1735
+ # resource path
1736
+ local_var_path = '/v2/customer_profiles/{integrationId}'.sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
1737
+
1738
+ # query parameters
1739
+ query_params = opts[:query_params] || {}
1740
+ query_params[:'runRuleEngine'] = opts[:'run_rule_engine'] if !opts[:'run_rule_engine'].nil?
1741
+ query_params[:'dry'] = opts[:'dry'] if !opts[:'dry'].nil?
1742
+
1743
+ # header parameters
1744
+ header_params = opts[:header_params] || {}
1745
+ # HTTP header 'Accept' (if needed)
1746
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1747
+ # HTTP header 'Content-Type'
1748
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1749
+
1750
+ # form parameters
1751
+ form_params = opts[:form_params] || {}
1752
+
1753
+ # http body (model)
1754
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1755
+
1756
+ # return_type
1757
+ return_type = opts[:return_type] || 'IntegrationStateV2'
1758
+
1759
+ # auth_names
1760
+ auth_names = opts[:auth_names] || ['api_key_v1']
1761
+
1762
+ new_options = opts.merge(
1763
+ :header_params => header_params,
1764
+ :query_params => query_params,
1765
+ :form_params => form_params,
1766
+ :body => post_body,
1767
+ :auth_names => auth_names,
1768
+ :return_type => return_type
1769
+ )
1770
+
1771
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1772
+ if @api_client.config.debugging
1773
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profile_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1774
+ end
1775
+ return data, status_code, headers
1776
+ end
1777
+
1778
+ # Update multiple customer profiles
1779
+ # Update (or create) up to 1000 [customer profiles](https://docs.talon.one/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](https://docs.talon.one/integration-api#tag/Customer-sessions).
1780
+ # @param body [MultipleCustomerProfileIntegrationRequest] body
1781
+ # @param [Hash] opts the optional parameters
1782
+ # @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 the updated customer profiles. (default to 'yes')
1783
+ # @return [MultipleCustomerProfileIntegrationResponseV2]
1784
+ def update_customer_profiles_v2(body, opts = {})
1785
+ data, _status_code, _headers = update_customer_profiles_v2_with_http_info(body, opts)
1786
+ data
1787
+ end
1788
+
1789
+ # Update multiple customer profiles
1790
+ # Update (or create) up to 1000 [customer profiles](https://docs.talon.one/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](https://docs.talon.one/integration-api#tag/Customer-sessions).
1791
+ # @param body [MultipleCustomerProfileIntegrationRequest] body
1792
+ # @param [Hash] opts the optional parameters
1793
+ # @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 the updated customer profiles.
1794
+ # @return [Array<(MultipleCustomerProfileIntegrationResponseV2, Integer, Hash)>] MultipleCustomerProfileIntegrationResponseV2 data, response status code and response headers
1795
+ def update_customer_profiles_v2_with_http_info(body, opts = {})
1796
+ if @api_client.config.debugging
1797
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.update_customer_profiles_v2 ...'
1798
+ end
1799
+ # verify the required parameter 'body' is set
1800
+ if @api_client.config.client_side_validation && body.nil?
1801
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.update_customer_profiles_v2"
1802
+ end
1803
+ # resource path
1804
+ local_var_path = '/v2/customer_profiles'
1805
+
1806
+ # query parameters
1807
+ query_params = opts[:query_params] || {}
1808
+ query_params[:'silent'] = opts[:'silent'] if !opts[:'silent'].nil?
1809
+
1810
+ # header parameters
1811
+ header_params = opts[:header_params] || {}
1812
+ # HTTP header 'Accept' (if needed)
1813
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1814
+ # HTTP header 'Content-Type'
1815
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
1816
+
1817
+ # form parameters
1818
+ form_params = opts[:form_params] || {}
1819
+
1820
+ # http body (model)
1821
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
1822
+
1823
+ # return_type
1824
+ return_type = opts[:return_type] || 'MultipleCustomerProfileIntegrationResponseV2'
1825
+
1826
+ # auth_names
1827
+ auth_names = opts[:auth_names] || ['api_key_v1']
1828
+
1829
+ new_options = opts.merge(
1830
+ :header_params => header_params,
1831
+ :query_params => query_params,
1832
+ :form_params => form_params,
1833
+ :body => post_body,
1834
+ :auth_names => auth_names,
1835
+ :return_type => return_type
1836
+ )
1837
+
1838
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
1839
+ if @api_client.config.debugging
1840
+ @api_client.config.logger.debug "API called: IntegrationApi#update_customer_profiles_v2\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
904
1841
  end
905
1842
  return data, status_code, headers
906
1843
  end
907
1844
 
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.
911
- # @param body [IntegrationRequest]
1845
+ # Update customer session
1846
+ # Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer's cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the `state` parameter documentation the request body schema docs below. ### 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. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). <div class=\"redoc-section\"> <p class=\"title\">Performance tips</p> Updating a customer session returns a response with the new integration state. Use the `responseContent` property to save yourself extra API calls. For example, you can get the customer profile details directly without extra requests. </div> For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
1847
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1848
+ # @param body [IntegrationRequest] body
912
1849
  # @param [Hash] opts the optional parameters
913
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1850
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;, you can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run.
914
1851
  # @return [IntegrationStateV2]
915
1852
  def update_customer_session_v2(customer_session_id, body, opts = {})
916
1853
  data, _status_code, _headers = update_customer_session_v2_with_http_info(customer_session_id, body, opts)
917
1854
  data
918
1855
  end
919
1856
 
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.
923
- # @param body [IntegrationRequest]
1857
+ # Update customer session
1858
+ # Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities#customer-session). The endpoint responds with the potential promotion rule [effects](https://docs.talon.one/docs/dev/integration-api/api-effects) that match the current cart. For example, use this endpoint to share the contents of a customer&#39;s cart with Talon.One. **Note:** The currency for the session and the cart items in the session is the currency set for the Application that owns this session. ### Session management To use this endpoint, start by learning about [customer sessions](https://docs.talon.one/docs/dev/concepts/entities#customer-session) and their states and refer to the &#x60;state&#x60; parameter documentation the request body schema docs below. ### 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. - A profile can be linked to simultaneous sessions in different Applications. Either: - Use unique session integration IDs or, - Use the same session integration ID across all of the Applications. **Note:** If the specified profile does not exist, an empty profile is **created automatically**. You can update it with [Update customer profile](https://docs.talon.one/integration-api#tag/Customer-profiles/operation/updateCustomerProfileV2). &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Performance tips&lt;/p&gt; Updating a customer session returns a response with the new integration state. 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. &lt;/div&gt; For more information, see: - The introductory video in [Getting started](https://docs.talon.one/docs/dev/getting-started/overview). - The [integration tutorial](https://docs.talon.one/docs/dev/tutorials/integrating-talon-one).
1859
+ # @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](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1860
+ # @param body [IntegrationRequest] body
924
1861
  # @param [Hash] opts the optional parameters
925
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;.
1862
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;, you can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run.
926
1863
  # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
927
1864
  def update_customer_session_v2_with_http_info(customer_session_id, body, opts = {})
928
1865
  if @api_client.config.debugging