talon_one 3.0.1 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (642) hide show
  1. checksums.yaml +4 -4
  2. data/Makefile +9 -6
  3. data/README.md +150 -51
  4. data/docs/AccountAnalytics.md +3 -1
  5. data/docs/AccountDashboardStatistic.md +0 -2
  6. data/docs/AccountDashboardStatisticCampaigns.md +4 -2
  7. data/docs/Achievement.md +39 -0
  8. data/docs/AchievementAdditionalProperties.md +23 -0
  9. data/docs/AchievementProgress.md +35 -0
  10. data/docs/AddItemCatalogAction.md +3 -1
  11. data/docs/AddLoyaltyPoints.md +2 -2
  12. data/docs/AddLoyaltyPointsEffectProps.md +1 -1
  13. data/docs/AddToAudienceEffectProps.md +23 -0
  14. data/docs/AdditionalCampaignProperties.md +59 -0
  15. data/docs/Application.md +3 -5
  16. data/docs/ApplicationAPIKey.md +6 -2
  17. data/docs/ApplicationAnalyticsDataPoint.md +31 -0
  18. data/docs/ApplicationAnalyticsDataPointAvgItemsPerSession.md +19 -0
  19. data/docs/ApplicationAnalyticsDataPointAvgSessionValue.md +19 -0
  20. data/docs/ApplicationAnalyticsDataPointSessionsCount.md +19 -0
  21. data/docs/ApplicationAnalyticsDataPointTotalRevenue.md +19 -0
  22. data/docs/ApplicationCampaignAnalytics.md +45 -0
  23. data/docs/ApplicationCampaignAnalyticsAvgItemsPerSession.md +21 -0
  24. data/docs/ApplicationCampaignAnalyticsAvgSessionValue.md +21 -0
  25. data/docs/ApplicationCampaignAnalyticsCouponsCount.md +19 -0
  26. data/docs/ApplicationCampaignAnalyticsSessionsCount.md +21 -0
  27. data/docs/ApplicationCampaignAnalyticsTotalDiscounts.md +19 -0
  28. data/docs/ApplicationCampaignAnalyticsTotalRevenue.md +21 -0
  29. data/docs/ApplicationCustomer.md +2 -2
  30. data/docs/ApplicationEvent.md +4 -0
  31. data/docs/ApplicationNotification.md +1 -1
  32. data/docs/ApplicationSession.md +5 -3
  33. data/docs/ApplicationStoreEntity.md +17 -0
  34. data/docs/Audience.md +1 -1
  35. data/docs/AudienceAnalytics.md +1 -1
  36. data/docs/AudienceCustomer.md +2 -2
  37. data/docs/BaseCampaign.md +45 -0
  38. data/docs/BaseLoyaltyProgram.md +9 -1
  39. data/docs/BaseNotification.md +5 -1
  40. data/docs/BaseNotificationEntity.md +3 -1
  41. data/docs/BaseNotificationWebhook.md +3 -1
  42. data/docs/BulkOperationOnCampaigns.md +19 -0
  43. data/docs/Campaign.md +25 -17
  44. data/docs/CampaignBudget.md +21 -0
  45. data/docs/CampaignCopy.md +3 -1
  46. data/docs/CampaignCreatedNotification.md +2 -2
  47. data/docs/CampaignEvaluationGroup.md +31 -0
  48. data/docs/CampaignEvaluationPosition.md +21 -0
  49. data/docs/CampaignEvaluationTreeChangedNotification.md +21 -0
  50. data/docs/CampaignGroup.md +6 -6
  51. data/docs/CampaignNotificationPolicy.md +17 -0
  52. data/docs/CampaignSet.md +3 -5
  53. data/docs/CampaignSetBranchNode.md +13 -3
  54. data/docs/CampaignTemplate.md +2 -0
  55. data/docs/CardExpiringPointsNotificationPolicy.md +21 -0
  56. data/docs/CardExpiringPointsNotificationTrigger.md +19 -0
  57. data/docs/CardLedgerPointsEntryIntegrationAPI.md +35 -0
  58. data/docs/CartItem.md +4 -2
  59. data/docs/CatalogItem.md +3 -1
  60. data/docs/ChangeLoyaltyTierLevelEffectProps.md +27 -0
  61. data/docs/Coupon.md +4 -2
  62. data/docs/CouponCreationJob.md +1 -1
  63. data/docs/CouponsNotificationPolicy.md +3 -1
  64. data/docs/CreateAchievement.md +27 -0
  65. data/docs/CreateApplicationAPIKey.md +7 -3
  66. data/docs/CreateTemplateCampaign.md +6 -2
  67. data/docs/CustomEffectProps.md +1 -1
  68. data/docs/CustomerInventory.md +3 -1
  69. data/docs/CustomerProfile.md +2 -2
  70. data/docs/CustomerProfileAudienceRequestItem.md +1 -1
  71. data/docs/CustomerProfileIntegrationResponseV2.md +33 -0
  72. data/docs/CustomerSession.md +1 -1
  73. data/docs/CustomerSessionV2.md +8 -6
  74. data/docs/DeactivateUserRequest.md +17 -0
  75. data/docs/DeleteUserRequest.md +17 -0
  76. data/docs/Effect.md +2 -0
  77. data/docs/EffectEntity.md +3 -1
  78. data/docs/EmailEntity.md +1 -1
  79. data/docs/Environment.md +2 -0
  80. data/docs/Event.md +2 -0
  81. data/docs/EventV2.md +4 -2
  82. data/docs/ExpiringCouponsNotificationPolicy.md +21 -0
  83. data/docs/ExpiringCouponsNotificationTrigger.md +19 -0
  84. data/docs/ExpiringPointsNotificationPolicy.md +4 -2
  85. data/docs/FuncArgDef.md +1 -1
  86. data/docs/GetIntegrationCouponRequest.md +19 -0
  87. data/docs/IdentifiableEntity.md +17 -0
  88. data/docs/IncreaseAchievementProgressEffectProps.md +29 -0
  89. data/docs/InlineResponse20010.md +1 -1
  90. data/docs/InlineResponse20011.md +1 -1
  91. data/docs/InlineResponse20012.md +1 -1
  92. data/docs/InlineResponse20013.md +3 -3
  93. data/docs/InlineResponse20014.md +2 -2
  94. data/docs/InlineResponse20015.md +3 -5
  95. data/docs/InlineResponse20016.md +3 -3
  96. data/docs/InlineResponse20017.md +1 -1
  97. data/docs/InlineResponse20018.md +1 -1
  98. data/docs/InlineResponse20019.md +2 -2
  99. data/docs/InlineResponse20020.md +1 -1
  100. data/docs/InlineResponse20021.md +2 -4
  101. data/docs/InlineResponse20022.md +3 -3
  102. data/docs/InlineResponse20023.md +1 -1
  103. data/docs/InlineResponse20024.md +3 -1
  104. data/docs/InlineResponse20025.md +1 -1
  105. data/docs/InlineResponse20026.md +2 -2
  106. data/docs/InlineResponse20027.md +2 -2
  107. data/docs/InlineResponse20028.md +3 -3
  108. data/docs/InlineResponse20029.md +3 -5
  109. data/docs/InlineResponse2003.md +3 -3
  110. data/docs/InlineResponse20030.md +1 -1
  111. data/docs/InlineResponse20031.md +3 -3
  112. data/docs/InlineResponse20032.md +3 -3
  113. data/docs/InlineResponse20033.md +5 -3
  114. data/docs/InlineResponse20034.md +1 -1
  115. data/docs/InlineResponse20035.md +5 -3
  116. data/docs/InlineResponse20036.md +1 -1
  117. data/docs/InlineResponse20037.md +1 -1
  118. data/docs/InlineResponse20038.md +2 -4
  119. data/docs/InlineResponse20039.md +1 -1
  120. data/docs/InlineResponse2004.md +3 -3
  121. data/docs/InlineResponse20040.md +1 -1
  122. data/docs/InlineResponse20041.md +19 -0
  123. data/docs/InlineResponse20042.md +21 -0
  124. data/docs/InlineResponse20043.md +19 -0
  125. data/docs/InlineResponse20044.md +19 -0
  126. data/docs/InlineResponse20045.md +21 -0
  127. data/docs/InlineResponse20046.md +19 -0
  128. data/docs/InlineResponse20047.md +19 -0
  129. data/docs/InlineResponse2005.md +1 -1
  130. data/docs/InlineResponse2006.md +1 -1
  131. data/docs/InlineResponse2007.md +1 -1
  132. data/docs/InlineResponse2008.md +2 -2
  133. data/docs/InlineResponse2009.md +1 -1
  134. data/docs/IntegrationApi.md +204 -117
  135. data/docs/IntegrationCoupon.md +3 -1
  136. data/docs/IntegrationEvent.md +2 -0
  137. data/docs/IntegrationEventV2Request.md +4 -2
  138. data/docs/IntegrationRequest.md +1 -1
  139. data/docs/IntegrationStoreEntity.md +17 -0
  140. data/docs/InventoryCoupon.md +4 -2
  141. data/docs/LedgerPointsEntryIntegrationAPI.md +33 -0
  142. data/docs/LoginParams.md +1 -1
  143. data/docs/LoyaltyLedgerTransactions.md +1 -1
  144. data/docs/LoyaltyProgram.md +15 -1
  145. data/docs/LoyaltyProgramLedgers.md +2 -0
  146. data/docs/LoyaltyProgramSubledgers.md +19 -0
  147. data/docs/LoyaltyProgramTransaction.md +4 -2
  148. data/docs/ManagementApi.md +3313 -1620
  149. data/docs/MessageLogEntries.md +19 -0
  150. data/docs/MessageLogEntry.md +39 -0
  151. data/docs/MessageLogRequest.md +19 -0
  152. data/docs/MessageLogResponse.md +21 -0
  153. data/docs/NewAccountSignUp.md +1 -1
  154. data/docs/NewApplication.md +6 -10
  155. data/docs/NewApplicationAPIKey.md +6 -2
  156. data/docs/NewAudience.md +1 -1
  157. data/docs/NewBaseNotification.md +2 -0
  158. data/docs/NewCampaign.md +8 -2
  159. data/docs/NewCampaignEvaluationGroup.md +27 -0
  160. data/docs/NewCampaignGroup.md +6 -6
  161. data/docs/NewCampaignTemplate.md +3 -1
  162. data/docs/NewCoupons.md +4 -2
  163. data/docs/NewCustomerSession.md +1 -1
  164. data/docs/NewCustomerSessionV2.md +5 -3
  165. data/docs/NewEvent.md +2 -0
  166. data/docs/NewInternalAudience.md +1 -1
  167. data/docs/NewInvitation.md +8 -6
  168. data/docs/NewInviteEmail.md +4 -4
  169. data/docs/NewLoyaltyProgram.md +8 -0
  170. data/docs/NewNotificationTest.md +29 -0
  171. data/docs/NewNotificationWebhook.md +3 -1
  172. data/docs/NewPicklist.md +1 -1
  173. data/docs/NewRoleV2.md +23 -0
  174. data/docs/NewStore.md +23 -0
  175. data/docs/NewUser.md +1 -1
  176. data/docs/NotificationActivation.md +17 -0
  177. data/docs/NotificationListItem.md +23 -0
  178. data/docs/NotificationTest.md +27 -0
  179. data/docs/OneTimeCode.md +23 -0
  180. data/docs/OutgoingIntegrationCleverTapPolicy.md +21 -0
  181. data/docs/OutgoingIntegrationConfiguration.md +1 -1
  182. data/docs/OutgoingIntegrationIterablePolicy.md +19 -0
  183. data/docs/OutgoingIntegrationMoEngagePolicy.md +23 -0
  184. data/docs/OutgoingIntegrationTemplate.md +33 -0
  185. data/docs/OutgoingIntegrationTemplateWithConfigurationDetails.md +35 -0
  186. data/docs/OutgoingIntegrationTemplates.md +17 -0
  187. data/docs/OutgoingIntegrationType.md +1 -1
  188. data/docs/PatchItemCatalogAction.md +2 -0
  189. data/docs/PendingPointsNotificationPolicy.md +19 -0
  190. data/docs/Picklist.md +1 -1
  191. data/docs/Product.md +17 -0
  192. data/docs/RemoveFromAudienceEffectProps.md +23 -0
  193. data/docs/ReturnedCartItem.md +1 -1
  194. data/docs/Role.md +1 -1
  195. data/docs/RoleAssign.md +2 -2
  196. data/docs/RoleV2.md +12 -6
  197. data/docs/RoleV2ApplicationDetails.md +6 -4
  198. data/docs/RoleV2Base.md +23 -0
  199. data/docs/RoleV2PermissionSet.md +3 -3
  200. data/docs/RoleV2Permissions.md +3 -3
  201. data/docs/RoleV2RolesGroup.md +21 -0
  202. data/docs/RollbackAddedLoyaltyPointsEffectProps.md +1 -1
  203. data/docs/RollbackDiscountEffectProps.md +1 -1
  204. data/docs/SSOConfig.md +17 -0
  205. data/docs/SamlConnectionInternal.md +19 -0
  206. data/docs/SamlLoginEndpoint.md +4 -2
  207. data/docs/SetDiscountPerAdditionalCostPerItemEffectProps.md +1 -1
  208. data/docs/SetDiscountPerItemEffectProps.md +6 -2
  209. data/docs/Store.md +33 -0
  210. data/docs/TemplateArgDef.md +1 -1
  211. data/docs/Tier.md +5 -1
  212. data/docs/TierDowngradeNotificationPolicy.md +19 -0
  213. data/docs/TierUpgradeNotificationPolicy.md +19 -0
  214. data/docs/TierWillDowngradeNotificationPolicy.md +21 -0
  215. data/docs/TierWillDowngradeNotificationTrigger.md +19 -0
  216. data/docs/TimePoint.md +27 -0
  217. data/docs/TrackEventV2Response.md +33 -0
  218. data/docs/TwoFAConfig.md +19 -0
  219. data/docs/UpdateAchievement.md +27 -0
  220. data/docs/UpdateApplication.md +4 -6
  221. data/docs/UpdateApplicationAPIKey.md +17 -0
  222. data/docs/UpdateCampaign.md +9 -3
  223. data/docs/UpdateCampaignEvaluationGroup.md +27 -0
  224. data/docs/UpdateCampaignGroup.md +6 -6
  225. data/docs/UpdateCampaignTemplate.md +3 -1
  226. data/docs/UpdateCoupon.md +4 -2
  227. data/docs/UpdateCouponBatch.md +2 -2
  228. data/docs/UpdateLoyaltyProgram.md +8 -0
  229. data/docs/UpdatePicklist.md +1 -1
  230. data/docs/UpdateStore.md +21 -0
  231. data/docs/UpdateUser.md +8 -6
  232. data/docs/User.md +19 -13
  233. data/docs/WebhookWithOutgoingIntegrationDetails.md +45 -0
  234. data/lib/talon_one/api/integration_api.rb +283 -136
  235. data/lib/talon_one/api/management_api.rb +2787 -890
  236. data/lib/talon_one/api_client.rb +2 -1
  237. data/lib/talon_one/api_error.rb +8 -1
  238. data/lib/talon_one/models/account_additional_cost.rb +3 -3
  239. data/lib/talon_one/models/account_analytics.rb +19 -4
  240. data/lib/talon_one/models/account_dashboard_statistic.rb +1 -13
  241. data/lib/talon_one/models/account_dashboard_statistic_campaigns.rb +20 -5
  242. data/lib/talon_one/models/achievement.rb +406 -0
  243. data/lib/talon_one/models/achievement_additional_properties.rb +252 -0
  244. data/lib/talon_one/models/achievement_progress.rb +410 -0
  245. data/lib/talon_one/models/add_item_catalog_action.rb +12 -3
  246. data/lib/talon_one/models/add_loyalty_points.rb +2 -2
  247. data/lib/talon_one/models/add_loyalty_points_effect_props.rb +1 -1
  248. data/lib/talon_one/models/add_to_audience_effect_props.rb +238 -0
  249. data/lib/talon_one/models/additional_campaign_properties.rb +463 -0
  250. data/lib/talon_one/models/application.rb +12 -50
  251. data/lib/talon_one/models/application_analytics_data_point.rb +273 -0
  252. data/lib/talon_one/models/application_analytics_data_point_avg_items_per_session.rb +216 -0
  253. data/lib/talon_one/models/application_analytics_data_point_avg_session_value.rb +216 -0
  254. data/lib/talon_one/models/application_analytics_data_point_sessions_count.rb +216 -0
  255. data/lib/talon_one/models/application_analytics_data_point_total_revenue.rb +216 -0
  256. data/lib/talon_one/models/application_api_key.rb +37 -5
  257. data/lib/talon_one/models/application_campaign_analytics.rb +379 -0
  258. data/lib/talon_one/models/application_campaign_analytics_avg_items_per_session.rb +225 -0
  259. data/lib/talon_one/models/application_campaign_analytics_avg_session_value.rb +225 -0
  260. data/lib/talon_one/models/application_campaign_analytics_coupons_count.rb +216 -0
  261. data/lib/talon_one/models/application_campaign_analytics_sessions_count.rb +225 -0
  262. data/lib/talon_one/models/application_campaign_analytics_total_discounts.rb +216 -0
  263. data/lib/talon_one/models/application_campaign_analytics_total_revenue.rb +225 -0
  264. data/lib/talon_one/models/application_customer.rb +2 -2
  265. data/lib/talon_one/models/application_event.rb +45 -1
  266. data/lib/talon_one/models/application_notification.rb +1 -1
  267. data/lib/talon_one/models/application_session.rb +51 -17
  268. data/lib/talon_one/models/application_store_entity.rb +207 -0
  269. data/lib/talon_one/models/attribute.rb +2 -2
  270. data/lib/talon_one/models/audience_analytics.rb +2 -2
  271. data/lib/talon_one/models/audience_customer.rb +2 -2
  272. data/lib/talon_one/models/base_campaign.rb +449 -0
  273. data/lib/talon_one/models/base_loyalty_program.rb +102 -4
  274. data/lib/talon_one/models/base_notification.rb +65 -4
  275. data/lib/talon_one/models/base_notification_entity.rb +16 -4
  276. data/lib/talon_one/models/base_notification_webhook.rb +16 -4
  277. data/lib/talon_one/models/bulk_operation_on_campaigns.rb +263 -0
  278. data/lib/talon_one/models/campaign.rb +105 -20
  279. data/lib/talon_one/models/campaign_budget.rb +280 -0
  280. data/lib/talon_one/models/campaign_copy.rb +14 -4
  281. data/lib/talon_one/models/campaign_created_notification.rb +10 -10
  282. data/lib/talon_one/models/campaign_evaluation_group.rb +378 -0
  283. data/lib/talon_one/models/campaign_evaluation_position.rb +243 -0
  284. data/lib/talon_one/models/campaign_evaluation_tree_changed_notification.rb +236 -0
  285. data/lib/talon_one/models/campaign_group.rb +4 -4
  286. data/lib/talon_one/models/campaign_notification_policy.rb +231 -0
  287. data/lib/talon_one/models/campaign_set.rb +16 -31
  288. data/lib/talon_one/models/campaign_set_branch_node.rb +100 -6
  289. data/lib/talon_one/models/campaign_template.rb +30 -1
  290. data/lib/talon_one/models/card_expiring_points_notification_policy.rb +259 -0
  291. data/lib/talon_one/models/card_expiring_points_notification_trigger.rb +280 -0
  292. data/lib/talon_one/models/card_ledger_points_entry_integration_api.rb +410 -0
  293. data/lib/talon_one/models/cart_item.rb +12 -3
  294. data/lib/talon_one/models/catalog_item.rb +13 -4
  295. data/lib/talon_one/models/change_loyalty_tier_level_effect_props.rb +278 -0
  296. data/lib/talon_one/models/coupon.rb +15 -5
  297. data/lib/talon_one/models/coupon_creation_job.rb +1 -1
  298. data/lib/talon_one/models/coupons_notification_policy.rb +16 -4
  299. data/lib/talon_one/models/create_achievement.rb +320 -0
  300. data/lib/talon_one/models/create_application_api_key.rb +40 -8
  301. data/lib/talon_one/models/create_template_campaign.rb +27 -5
  302. data/lib/talon_one/models/custom_effect_props.rb +1 -1
  303. data/lib/talon_one/models/customer_inventory.rb +15 -4
  304. data/lib/talon_one/models/customer_profile.rb +2 -2
  305. data/lib/talon_one/models/customer_profile_audience_request_item.rb +1 -1
  306. data/lib/talon_one/models/customer_profile_integration_response_v2.rb +307 -0
  307. data/lib/talon_one/models/customer_session.rb +1 -1
  308. data/lib/talon_one/models/customer_session_v2.rb +41 -7
  309. data/lib/talon_one/models/deactivate_user_request.rb +213 -0
  310. data/lib/talon_one/models/delete_user_request.rb +213 -0
  311. data/lib/talon_one/models/effect.rb +11 -1
  312. data/lib/talon_one/models/effect_entity.rb +14 -4
  313. data/lib/talon_one/models/email_entity.rb +1 -1
  314. data/lib/talon_one/models/environment.rb +13 -1
  315. data/lib/talon_one/models/event.rb +35 -1
  316. data/lib/talon_one/models/event_v2.rb +37 -3
  317. data/lib/talon_one/models/expiring_coupons_notification_policy.rb +259 -0
  318. data/lib/talon_one/models/expiring_coupons_notification_trigger.rb +280 -0
  319. data/lib/talon_one/models/expiring_points_notification_policy.rb +16 -4
  320. data/lib/talon_one/models/func_arg_def.rb +0 -5
  321. data/lib/talon_one/models/get_integration_coupon_request.rb +257 -0
  322. data/lib/talon_one/models/identifiable_entity.rb +212 -0
  323. data/lib/talon_one/models/increase_achievement_progress_effect_props.rb +298 -0
  324. data/lib/talon_one/models/inline_response20010.rb +1 -1
  325. data/lib/talon_one/models/inline_response20011.rb +1 -1
  326. data/lib/talon_one/models/inline_response20012.rb +1 -1
  327. data/lib/talon_one/models/inline_response20013.rb +11 -11
  328. data/lib/talon_one/models/inline_response20014.rb +1 -3
  329. data/lib/talon_one/models/inline_response20015.rb +7 -11
  330. data/lib/talon_one/models/inline_response20016.rb +3 -1
  331. data/lib/talon_one/models/inline_response20017.rb +1 -1
  332. data/lib/talon_one/models/inline_response20018.rb +1 -1
  333. data/lib/talon_one/models/inline_response20019.rb +10 -10
  334. data/lib/talon_one/models/inline_response20020.rb +1 -1
  335. data/lib/talon_one/models/inline_response20021.rb +7 -11
  336. data/lib/talon_one/models/inline_response20022.rb +10 -10
  337. data/lib/talon_one/models/inline_response20023.rb +1 -1
  338. data/lib/talon_one/models/inline_response20024.rb +10 -6
  339. data/lib/talon_one/models/inline_response20025.rb +1 -1
  340. data/lib/talon_one/models/inline_response20026.rb +6 -1
  341. data/lib/talon_one/models/inline_response20027.rb +1 -6
  342. data/lib/talon_one/models/inline_response20028.rb +11 -11
  343. data/lib/talon_one/models/inline_response20029.rb +7 -11
  344. data/lib/talon_one/models/inline_response2003.rb +11 -11
  345. data/lib/talon_one/models/inline_response20030.rb +1 -1
  346. data/lib/talon_one/models/inline_response20031.rb +8 -13
  347. data/lib/talon_one/models/inline_response20032.rb +8 -13
  348. data/lib/talon_one/models/inline_response20033.rb +11 -7
  349. data/lib/talon_one/models/inline_response20034.rb +1 -1
  350. data/lib/talon_one/models/inline_response20035.rb +11 -7
  351. data/lib/talon_one/models/inline_response20036.rb +1 -1
  352. data/lib/talon_one/models/inline_response20037.rb +1 -1
  353. data/lib/talon_one/models/inline_response20038.rb +7 -11
  354. data/lib/talon_one/models/inline_response20039.rb +1 -1
  355. data/lib/talon_one/models/inline_response2004.rb +11 -11
  356. data/lib/talon_one/models/inline_response20040.rb +1 -1
  357. data/lib/talon_one/models/inline_response20041.rb +227 -0
  358. data/lib/talon_one/models/inline_response20042.rb +231 -0
  359. data/lib/talon_one/models/inline_response20043.rb +227 -0
  360. data/lib/talon_one/models/inline_response20044.rb +227 -0
  361. data/lib/talon_one/models/inline_response20045.rb +231 -0
  362. data/lib/talon_one/models/inline_response20046.rb +222 -0
  363. data/lib/talon_one/models/inline_response20047.rb +227 -0
  364. data/lib/talon_one/models/inline_response2005.rb +1 -1
  365. data/lib/talon_one/models/inline_response2006.rb +1 -1
  366. data/lib/talon_one/models/inline_response2007.rb +1 -1
  367. data/lib/talon_one/models/inline_response2008.rb +10 -10
  368. data/lib/talon_one/models/inline_response2009.rb +1 -1
  369. data/lib/talon_one/models/integration_coupon.rb +12 -2
  370. data/lib/talon_one/models/integration_event.rb +35 -1
  371. data/lib/talon_one/models/integration_event_v2_request.rb +37 -3
  372. data/lib/talon_one/models/integration_request.rb +1 -1
  373. data/lib/talon_one/models/integration_store_entity.rb +231 -0
  374. data/lib/talon_one/models/inventory_coupon.rb +13 -3
  375. data/lib/talon_one/models/ledger_points_entry_integration_api.rb +400 -0
  376. data/lib/talon_one/models/login_params.rb +1 -1
  377. data/lib/talon_one/models/loyalty.rb +1 -1
  378. data/lib/talon_one/models/loyalty_ledger_transactions.rb +1 -1
  379. data/lib/talon_one/models/loyalty_program.rb +136 -4
  380. data/lib/talon_one/models/loyalty_program_ledgers.rb +12 -2
  381. data/lib/talon_one/models/loyalty_program_subledgers.rb +230 -0
  382. data/lib/talon_one/models/loyalty_program_transaction.rb +13 -3
  383. data/lib/talon_one/models/message_log_entries.rb +241 -0
  384. data/lib/talon_one/models/message_log_entry.rb +395 -0
  385. data/lib/talon_one/models/message_log_request.rb +249 -0
  386. data/lib/talon_one/models/message_log_response.rb +264 -0
  387. data/lib/talon_one/models/new_account_sign_up.rb +1 -1
  388. data/lib/talon_one/models/new_additional_cost.rb +3 -3
  389. data/lib/talon_one/models/new_application.rb +2 -51
  390. data/lib/talon_one/models/new_application_api_key.rb +37 -5
  391. data/lib/talon_one/models/new_attribute.rb +2 -2
  392. data/lib/talon_one/models/new_base_notification.rb +13 -1
  393. data/lib/talon_one/models/new_campaign.rb +52 -5
  394. data/lib/talon_one/models/new_campaign_evaluation_group.rb +347 -0
  395. data/lib/talon_one/models/new_campaign_group.rb +4 -4
  396. data/lib/talon_one/models/new_campaign_template.rb +33 -4
  397. data/lib/talon_one/models/new_coupons.rb +15 -5
  398. data/lib/talon_one/models/new_customer_session.rb +1 -1
  399. data/lib/talon_one/models/new_customer_session_v2.rb +38 -4
  400. data/lib/talon_one/models/new_event.rb +35 -1
  401. data/lib/talon_one/models/new_invitation.rb +24 -18
  402. data/lib/talon_one/models/new_invite_email.rb +2 -38
  403. data/lib/talon_one/models/new_loyalty_program.rb +99 -1
  404. data/lib/talon_one/models/new_notification_test.rb +327 -0
  405. data/lib/talon_one/models/new_notification_webhook.rb +16 -4
  406. data/lib/talon_one/models/new_picklist.rb +1 -1
  407. data/lib/talon_one/models/new_role_v2.rb +249 -0
  408. data/lib/talon_one/models/new_store.rb +309 -0
  409. data/lib/talon_one/models/new_user.rb +1 -1
  410. data/lib/talon_one/models/notification_activation.rb +212 -0
  411. data/lib/talon_one/models/notification_list_item.rb +257 -0
  412. data/lib/talon_one/models/notification_test.rb +227 -0
  413. data/lib/talon_one/models/one_time_code.rb +252 -0
  414. data/lib/talon_one/models/outgoing_integration_clever_tap_policy.rb +242 -0
  415. data/lib/talon_one/models/outgoing_integration_configuration.rb +1 -0
  416. data/lib/talon_one/models/outgoing_integration_iterable_policy.rb +227 -0
  417. data/lib/talon_one/models/outgoing_integration_mo_engage_policy.rb +257 -0
  418. data/lib/talon_one/models/outgoing_integration_template.rb +409 -0
  419. data/lib/talon_one/models/outgoing_integration_template_with_configuration_details.rb +425 -0
  420. data/lib/talon_one/models/outgoing_integration_templates.rb +209 -0
  421. data/lib/talon_one/models/patch_item_catalog_action.rb +11 -2
  422. data/lib/talon_one/models/pending_points_notification_policy.rb +243 -0
  423. data/lib/talon_one/models/picklist.rb +1 -1
  424. data/lib/talon_one/models/product.rb +232 -0
  425. data/lib/talon_one/models/remove_from_audience_effect_props.rb +238 -0
  426. data/lib/talon_one/models/returned_cart_item.rb +1 -1
  427. data/lib/talon_one/models/role.rb +1 -1
  428. data/lib/talon_one/models/role_assign.rb +2 -2
  429. data/lib/talon_one/models/role_v2.rb +63 -12
  430. data/lib/talon_one/models/role_v2_application_details.rb +17 -7
  431. data/lib/talon_one/models/role_v2_base.rb +238 -0
  432. data/lib/talon_one/models/role_v2_permission_set.rb +12 -11
  433. data/lib/talon_one/models/role_v2_permissions.rb +2 -2
  434. data/lib/talon_one/models/role_v2_roles_group.rb +233 -0
  435. data/lib/talon_one/models/rollback_added_loyalty_points_effect_props.rb +1 -1
  436. data/lib/talon_one/models/rollback_discount_effect_props.rb +1 -1
  437. data/lib/talon_one/models/saml_connection_internal.rb +265 -0
  438. data/lib/talon_one/models/saml_login_endpoint.rb +17 -2
  439. data/lib/talon_one/models/set_discount_per_additional_cost_per_item_effect_props.rb +1 -1
  440. data/lib/talon_one/models/set_discount_per_item_effect_props.rb +25 -5
  441. data/lib/talon_one/models/sso_config.rb +212 -0
  442. data/lib/talon_one/models/store.rb +381 -0
  443. data/lib/talon_one/models/talang_attribute.rb +2 -2
  444. data/lib/talon_one/models/template_arg_def.rb +0 -5
  445. data/lib/talon_one/models/tier.rb +58 -4
  446. data/lib/talon_one/models/tier_downgrade_notification_policy.rb +243 -0
  447. data/lib/talon_one/models/tier_upgrade_notification_policy.rb +243 -0
  448. data/lib/talon_one/models/tier_will_downgrade_notification_policy.rb +259 -0
  449. data/lib/talon_one/models/tier_will_downgrade_notification_trigger.rb +261 -0
  450. data/lib/talon_one/models/time_point.rb +345 -0
  451. data/lib/talon_one/models/track_event_v2_response.rb +307 -0
  452. data/lib/talon_one/models/two_fa_config.rb +222 -0
  453. data/lib/talon_one/models/update_achievement.rb +291 -0
  454. data/lib/talon_one/models/update_application.rb +15 -53
  455. data/lib/talon_one/models/update_application_api_key.rb +212 -0
  456. data/lib/talon_one/models/update_campaign.rb +52 -6
  457. data/lib/talon_one/models/update_campaign_evaluation_group.rb +348 -0
  458. data/lib/talon_one/models/update_campaign_group.rb +4 -4
  459. data/lib/talon_one/models/update_campaign_template.rb +28 -4
  460. data/lib/talon_one/models/update_coupon.rb +15 -5
  461. data/lib/talon_one/models/update_coupon_batch.rb +2 -2
  462. data/lib/talon_one/models/update_loyalty_program.rb +99 -1
  463. data/lib/talon_one/models/update_picklist.rb +1 -1
  464. data/lib/talon_one/models/update_store.rb +265 -0
  465. data/lib/talon_one/models/update_user.rb +25 -14
  466. data/lib/talon_one/models/user.rb +73 -42
  467. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +449 -0
  468. data/lib/talon_one/version.rb +1 -1
  469. data/lib/talon_one.rb +86 -16
  470. data/spec/api/integration_api_spec.rb +74 -47
  471. data/spec/api/management_api_spec.rb +669 -299
  472. data/spec/models/account_analytics_spec.rb +6 -0
  473. data/spec/models/account_dashboard_statistic_campaigns_spec.rb +6 -0
  474. data/spec/models/account_dashboard_statistic_spec.rb +0 -6
  475. data/spec/models/achievement_additional_properties_spec.rb +59 -0
  476. data/spec/models/achievement_progress_spec.rb +99 -0
  477. data/spec/models/achievement_spec.rb +107 -0
  478. data/spec/models/add_item_catalog_action_spec.rb +6 -0
  479. data/spec/models/add_to_audience_effect_props_spec.rb +59 -0
  480. data/spec/models/additional_campaign_properties_spec.rb +171 -0
  481. data/spec/models/application_analytics_data_point_avg_items_per_session_spec.rb +47 -0
  482. data/spec/models/application_analytics_data_point_avg_session_value_spec.rb +47 -0
  483. data/spec/models/application_analytics_data_point_sessions_count_spec.rb +47 -0
  484. data/spec/models/application_analytics_data_point_spec.rb +83 -0
  485. data/spec/models/application_analytics_data_point_total_revenue_spec.rb +47 -0
  486. data/spec/models/application_api_key_spec.rb +17 -1
  487. data/spec/models/application_campaign_analytics_avg_items_per_session_spec.rb +53 -0
  488. data/spec/models/application_campaign_analytics_avg_session_value_spec.rb +53 -0
  489. data/spec/models/application_campaign_analytics_coupons_count_spec.rb +47 -0
  490. data/spec/models/application_campaign_analytics_sessions_count_spec.rb +53 -0
  491. data/spec/models/application_campaign_analytics_spec.rb +129 -0
  492. data/spec/models/application_campaign_analytics_total_discounts_spec.rb +47 -0
  493. data/spec/models/application_campaign_analytics_total_revenue_spec.rb +53 -0
  494. data/spec/models/application_event_spec.rb +12 -0
  495. data/spec/models/application_session_spec.rb +9 -3
  496. data/spec/models/application_spec.rb +6 -20
  497. data/spec/models/application_store_entity_spec.rb +41 -0
  498. data/spec/models/attribute_spec.rb +1 -1
  499. data/spec/models/base_campaign_spec.rb +137 -0
  500. data/spec/models/base_loyalty_program_spec.rb +36 -0
  501. data/spec/models/base_notification_entity_spec.rb +6 -0
  502. data/spec/models/base_notification_spec.rb +16 -0
  503. data/spec/models/base_notification_webhook_spec.rb +6 -0
  504. data/spec/models/bulk_operation_on_campaigns_spec.rb +51 -0
  505. data/spec/models/campaign_budget_spec.rb +53 -0
  506. data/spec/models/campaign_copy_spec.rb +6 -0
  507. data/spec/models/campaign_created_notification_spec.rb +1 -1
  508. data/spec/models/campaign_evaluation_group_spec.rb +91 -0
  509. data/spec/models/campaign_evaluation_position_spec.rb +53 -0
  510. data/spec/models/campaign_evaluation_tree_changed_notification_spec.rb +53 -0
  511. data/spec/models/campaign_notification_policy_spec.rb +41 -0
  512. data/spec/models/campaign_set_branch_node_spec.rb +38 -0
  513. data/spec/models/campaign_set_spec.rb +2 -8
  514. data/spec/models/campaign_spec.rb +33 -1
  515. data/spec/models/campaign_template_spec.rb +11 -1
  516. data/spec/models/card_expiring_points_notification_policy_spec.rb +53 -0
  517. data/spec/models/card_expiring_points_notification_trigger_spec.rb +51 -0
  518. data/spec/models/card_ledger_points_entry_integration_api_spec.rb +95 -0
  519. data/spec/models/cart_item_spec.rb +6 -0
  520. data/spec/models/catalog_item_spec.rb +6 -0
  521. data/spec/models/change_loyalty_tier_level_effect_props_spec.rb +71 -0
  522. data/spec/models/coupon_spec.rb +6 -0
  523. data/spec/models/coupons_notification_policy_spec.rb +6 -0
  524. data/spec/models/create_achievement_spec.rb +71 -0
  525. data/spec/models/create_application_api_key_spec.rb +17 -1
  526. data/spec/models/create_template_campaign_spec.rb +12 -0
  527. data/spec/models/customer_inventory_spec.rb +6 -0
  528. data/spec/models/customer_profile_integration_response_v2_spec.rb +89 -0
  529. data/spec/models/customer_session_v2_spec.rb +6 -0
  530. data/spec/models/deactivate_user_request_spec.rb +41 -0
  531. data/spec/models/delete_user_request_spec.rb +41 -0
  532. data/spec/models/effect_entity_spec.rb +6 -0
  533. data/spec/models/effect_spec.rb +6 -0
  534. data/spec/models/environment_spec.rb +6 -0
  535. data/spec/models/event_spec.rb +6 -0
  536. data/spec/models/event_v2_spec.rb +6 -0
  537. data/spec/models/expiring_coupons_notification_policy_spec.rb +53 -0
  538. data/spec/models/expiring_coupons_notification_trigger_spec.rb +51 -0
  539. data/spec/models/expiring_points_notification_policy_spec.rb +6 -0
  540. data/spec/models/get_integration_coupon_request_spec.rb +47 -0
  541. data/spec/models/identifiable_entity_spec.rb +41 -0
  542. data/spec/models/increase_achievement_progress_effect_props_spec.rb +77 -0
  543. data/spec/models/inline_response20013_spec.rb +1 -1
  544. data/spec/models/inline_response20015_spec.rb +0 -6
  545. data/spec/models/inline_response20019_spec.rb +1 -1
  546. data/spec/models/inline_response20021_spec.rb +0 -6
  547. data/spec/models/inline_response20022_spec.rb +2 -2
  548. data/spec/models/inline_response20024_spec.rb +6 -0
  549. data/spec/models/inline_response20028_spec.rb +1 -1
  550. data/spec/models/inline_response20029_spec.rb +0 -6
  551. data/spec/models/inline_response20031_spec.rb +1 -1
  552. data/spec/models/inline_response20032_spec.rb +1 -1
  553. data/spec/models/inline_response20033_spec.rb +6 -0
  554. data/spec/models/inline_response20035_spec.rb +6 -0
  555. data/spec/models/inline_response20038_spec.rb +0 -6
  556. data/spec/models/inline_response2003_spec.rb +1 -1
  557. data/spec/models/inline_response20041_spec.rb +47 -0
  558. data/spec/models/inline_response20042_spec.rb +53 -0
  559. data/spec/models/inline_response20043_spec.rb +47 -0
  560. data/spec/models/inline_response20044_spec.rb +47 -0
  561. data/spec/models/inline_response20045_spec.rb +53 -0
  562. data/spec/models/inline_response20046_spec.rb +47 -0
  563. data/spec/models/inline_response20047_spec.rb +47 -0
  564. data/spec/models/inline_response2004_spec.rb +1 -1
  565. data/spec/models/inline_response2008_spec.rb +1 -1
  566. data/spec/models/integration_coupon_spec.rb +6 -0
  567. data/spec/models/integration_event_spec.rb +6 -0
  568. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  569. data/spec/models/integration_store_entity_spec.rb +41 -0
  570. data/spec/models/inventory_coupon_spec.rb +6 -0
  571. data/spec/models/ledger_points_entry_integration_api_spec.rb +89 -0
  572. data/spec/models/loyalty_program_ledgers_spec.rb +6 -0
  573. data/spec/models/loyalty_program_spec.rb +54 -0
  574. data/spec/models/loyalty_program_subledgers_spec.rb +47 -0
  575. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  576. data/spec/models/message_log_entries_spec.rb +47 -0
  577. data/spec/models/message_log_entry_spec.rb +111 -0
  578. data/spec/models/message_log_request_spec.rb +47 -0
  579. data/spec/models/message_log_response_spec.rb +53 -0
  580. data/spec/models/new_application_api_key_spec.rb +17 -1
  581. data/spec/models/new_application_spec.rb +0 -20
  582. data/spec/models/new_attribute_spec.rb +1 -1
  583. data/spec/models/new_base_notification_spec.rb +6 -0
  584. data/spec/models/new_campaign_evaluation_group_spec.rb +79 -0
  585. data/spec/models/new_campaign_spec.rb +23 -1
  586. data/spec/models/new_campaign_template_spec.rb +11 -1
  587. data/spec/models/new_coupons_spec.rb +6 -0
  588. data/spec/models/new_customer_session_v2_spec.rb +6 -0
  589. data/spec/models/new_event_spec.rb +6 -0
  590. data/spec/models/new_invitation_spec.rb +7 -1
  591. data/spec/models/new_loyalty_program_spec.rb +36 -0
  592. data/spec/models/new_notification_test_spec.rb +79 -0
  593. data/spec/models/new_notification_webhook_spec.rb +6 -0
  594. data/spec/models/new_role_v2_spec.rb +59 -0
  595. data/spec/models/new_store_spec.rb +59 -0
  596. data/spec/models/notification_activation_spec.rb +41 -0
  597. data/spec/models/notification_list_item_spec.rb +59 -0
  598. data/spec/models/notification_test_spec.rb +47 -0
  599. data/spec/models/one_time_code_spec.rb +59 -0
  600. data/spec/models/outgoing_integration_clever_tap_policy_spec.rb +53 -0
  601. data/spec/models/outgoing_integration_iterable_policy_spec.rb +47 -0
  602. data/spec/models/outgoing_integration_mo_engage_policy_spec.rb +59 -0
  603. data/spec/models/outgoing_integration_template_spec.rb +87 -0
  604. data/spec/models/outgoing_integration_template_with_configuration_details_spec.rb +93 -0
  605. data/spec/models/outgoing_integration_templates_spec.rb +41 -0
  606. data/spec/models/patch_item_catalog_action_spec.rb +6 -0
  607. data/spec/models/pending_points_notification_policy_spec.rb +47 -0
  608. data/spec/models/product_spec.rb +41 -0
  609. data/spec/models/remove_from_audience_effect_props_spec.rb +59 -0
  610. data/spec/models/role_v2_application_details_spec.rb +6 -0
  611. data/spec/models/role_v2_base_spec.rb +59 -0
  612. data/spec/models/role_v2_permission_set_spec.rb +1 -1
  613. data/spec/models/role_v2_roles_group_spec.rb +53 -0
  614. data/spec/models/role_v2_spec.rb +21 -3
  615. data/spec/models/saml_connection_internal_spec.rb +47 -0
  616. data/spec/models/saml_login_endpoint_spec.rb +6 -0
  617. data/spec/models/set_discount_per_item_effect_props_spec.rb +12 -0
  618. data/spec/models/sso_config_spec.rb +41 -0
  619. data/spec/models/store_spec.rb +89 -0
  620. data/spec/models/talang_attribute_spec.rb +1 -1
  621. data/spec/models/tier_downgrade_notification_policy_spec.rb +47 -0
  622. data/spec/models/tier_spec.rb +16 -0
  623. data/spec/models/tier_upgrade_notification_policy_spec.rb +47 -0
  624. data/spec/models/tier_will_downgrade_notification_policy_spec.rb +53 -0
  625. data/spec/models/tier_will_downgrade_notification_trigger_spec.rb +51 -0
  626. data/spec/models/time_point_spec.rb +71 -0
  627. data/spec/models/track_event_v2_response_spec.rb +89 -0
  628. data/spec/models/two_fa_config_spec.rb +47 -0
  629. data/spec/models/update_achievement_spec.rb +71 -0
  630. data/spec/models/update_application_api_key_spec.rb +41 -0
  631. data/spec/models/update_application_spec.rb +6 -20
  632. data/spec/models/update_campaign_evaluation_group_spec.rb +79 -0
  633. data/spec/models/update_campaign_spec.rb +23 -1
  634. data/spec/models/update_campaign_template_spec.rb +11 -1
  635. data/spec/models/update_coupon_spec.rb +6 -0
  636. data/spec/models/update_loyalty_program_spec.rb +36 -0
  637. data/spec/models/update_store_spec.rb +53 -0
  638. data/spec/models/update_user_spec.rb +12 -6
  639. data/spec/models/user_spec.rb +23 -5
  640. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +123 -0
  641. data/talon_one.gemspec +1 -1
  642. metadata +713 -369
@@ -16,15 +16,16 @@ Method | HTTP request | Description
16
16
  [**get_customer_session**](IntegrationApi.md#get_customer_session) | **GET** /v2/customer_sessions/{customerSessionId} | Get customer session
17
17
  [**get_loyalty_balances**](IntegrationApi.md#get_loyalty_balances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/balances | Get customer's loyalty points
18
18
  [**get_loyalty_card_balances**](IntegrationApi.md#get_loyalty_card_balances) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/balances | Get card's point balances
19
+ [**get_loyalty_card_points**](IntegrationApi.md#get_loyalty_card_points) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points | List card's unused loyalty points
19
20
  [**get_loyalty_card_transactions**](IntegrationApi.md#get_loyalty_card_transactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/transactions | List card's transactions
21
+ [**get_loyalty_program_profile_points**](IntegrationApi.md#get_loyalty_program_profile_points) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points | List customer's unused loyalty points
20
22
  [**get_loyalty_program_profile_transactions**](IntegrationApi.md#get_loyalty_program_profile_transactions) | **GET** /v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/transactions | List customer's loyalty transactions
21
23
  [**get_reserved_customers**](IntegrationApi.md#get_reserved_customers) | **GET** /v1/coupon_reservations/customerprofiles/{couponValue} | List customers that have this coupon reserved
22
24
  [**link_loyalty_card_to_profile**](IntegrationApi.md#link_loyalty_card_to_profile) | **POST** /v2/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/link_profile | Link customer profile to card
23
25
  [**reopen_customer_session**](IntegrationApi.md#reopen_customer_session) | **PUT** /v2/customer_sessions/{customerSessionId}/reopen | Reopen customer session
24
26
  [**return_cart_items**](IntegrationApi.md#return_cart_items) | **POST** /v2/customer_sessions/{customerSessionId}/returns | Return cart items
25
27
  [**sync_catalog**](IntegrationApi.md#sync_catalog) | **PUT** /v1/catalogs/{catalogId}/sync | Sync cart item catalog
26
- [**track_event**](IntegrationApi.md#track_event) | **POST** /v1/events | Track event
27
- [**track_event_v2**](IntegrationApi.md#track_event_v2) | **POST** /v2/events | Track event V2
28
+ [**track_event_v2**](IntegrationApi.md#track_event_v2) | **POST** /v2/events | Track event
28
29
  [**update_audience_customers_attributes**](IntegrationApi.md#update_audience_customers_attributes) | **PUT** /v2/audience_customers/{audienceId}/attributes | Update profile attributes for all customers in audience
29
30
  [**update_audience_v2**](IntegrationApi.md#update_audience_v2) | **PUT** /v2/audiences/{audienceId} | Update audience name
30
31
  [**update_customer_profile_audiences**](IntegrationApi.md#update_customer_profile_audiences) | **POST** /v2/customer_audiences | Update multiple customer profiles' audiences
@@ -94,7 +95,7 @@ Name | Type | Description | Notes
94
95
 
95
96
  Create coupon reservation
96
97
 
97
- 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.
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 `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. If the **Coupon visibility** checkbox was selected when [creating a universal code](https://docs.talon.one/docs/product/campaigns/coupons/creating-coupons#generating-a-universal-code), the coupon code is implicitly reserved for all customers, and the code will be returned for all customer profiles in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. <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). This endpoint overrides the reservation limit set for the coupon code during coupon creation. </div> To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
98
99
 
99
100
  ### Example
100
101
 
@@ -278,7 +279,7 @@ TalonOne.configure do |config|
278
279
  end
279
280
 
280
281
  api_instance = TalonOne::IntegrationApi.new
281
- audience_id = 56 # Integer | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2).
282
+ audience_id = 56 # Integer | The ID of the audience.
282
283
 
283
284
  begin
284
285
  #Delete audience memberships
@@ -293,7 +294,7 @@ end
293
294
 
294
295
  Name | Type | Description | Notes
295
296
  ------------- | ------------- | ------------- | -------------
296
- **audience_id** | **Integer**| The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2). |
297
+ **audience_id** | **Integer**| The ID of the audience. |
297
298
 
298
299
  ### Return type
299
300
 
@@ -331,7 +332,7 @@ TalonOne.configure do |config|
331
332
  end
332
333
 
333
334
  api_instance = TalonOne::IntegrationApi.new
334
- audience_id = 56 # Integer | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2).
335
+ audience_id = 56 # Integer | The ID of the audience.
335
336
 
336
337
  begin
337
338
  #Delete audience
@@ -346,7 +347,7 @@ end
346
347
 
347
348
  Name | Type | Description | Notes
348
349
  ------------- | ------------- | ------------- | -------------
349
- **audience_id** | **Integer**| The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2). |
350
+ **audience_id** | **Integer**| The ID of the audience. |
350
351
 
351
352
  ### Return type
352
353
 
@@ -439,7 +440,7 @@ TalonOne.configure do |config|
439
440
  end
440
441
 
441
442
  api_instance = TalonOne::IntegrationApi.new
442
- integration_id = 'integration_id_example' # String | The integration ID of the customer profile. You can get the `integrationId` 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's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
443
+ integration_id = 'integration_id_example' # String | The integration ID of the customer profile. You can get the `integrationId` 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's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
443
444
 
444
445
  begin
445
446
  #Delete customer's personal data
@@ -454,7 +455,7 @@ end
454
455
 
455
456
  Name | Type | Description | Notes
456
457
  ------------- | ------------- | ------------- | -------------
457
- **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. |
458
+ **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. |
458
459
 
459
460
  ### Return type
460
461
 
@@ -492,13 +493,14 @@ TalonOne.configure do |config|
492
493
  end
493
494
 
494
495
  api_instance = TalonOne::IntegrationApi.new
495
- integration_id = 'integration_id_example' # String | The integration ID of the customer profile. You can get the `integrationId` 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's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
496
+ integration_id = 'integration_id_example' # String | The integration ID of the customer profile. You can get the `integrationId` 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's customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
496
497
  opts = {
497
498
  profile: true, # Boolean | Set to `true` to include customer profile information in the response.
498
499
  referrals: true, # Boolean | Set to `true` to include referral information in the response.
499
500
  coupons: true, # Boolean | Set to `true` to include coupon information in the response.
500
501
  loyalty: true, # Boolean | Set to `true` to include loyalty information in the response.
501
- giveaways: true # Boolean | Set to `true` to include giveaways information in the response.
502
+ giveaways: true, # Boolean | Set to `true` to include giveaways information in the response.
503
+ achievements: true # Boolean | Set to `true` to include achievement information in the response.
502
504
  }
503
505
 
504
506
  begin
@@ -515,12 +517,13 @@ end
515
517
 
516
518
  Name | Type | Description | Notes
517
519
  ------------- | ------------- | ------------- | -------------
518
- **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. |
520
+ **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. |
519
521
  **profile** | **Boolean**| Set to &#x60;true&#x60; to include customer profile information in the response. | [optional]
520
522
  **referrals** | **Boolean**| Set to &#x60;true&#x60; to include referral information in the response. | [optional]
521
523
  **coupons** | **Boolean**| Set to &#x60;true&#x60; to include coupon information in the response. | [optional]
522
524
  **loyalty** | **Boolean**| Set to &#x60;true&#x60; to include loyalty information in the response. | [optional]
523
525
  **giveaways** | **Boolean**| Set to &#x60;true&#x60; to include giveaways information in the response. | [optional]
526
+ **achievements** | **Boolean**| Set to &#x60;true&#x60; to include achievement information in the response. | [optional]
524
527
 
525
528
  ### Return type
526
529
 
@@ -596,7 +599,7 @@ Name | Type | Description | Notes
596
599
 
597
600
  Get customer's loyalty points
598
601
 
599
- 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).
602
+ Retrieve loyalty ledger balances for the given Integration ID in the specified loyalty program. You can filter balances by date and subledger ID. **Note**: 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. For more information, see: - [Managing card-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/card-based/managing-loyalty-cards) - [Managing profile-based loyalty program data](https://docs.talon.one/docs/product/loyalty-programs/profile-based/managing-pb-lp-data)
600
603
 
601
604
  ### Example
602
605
 
@@ -612,10 +615,11 @@ TalonOne.configure do |config|
612
615
  end
613
616
 
614
617
  api_instance = TalonOne::IntegrationApi.new
615
- loyalty_program_id = 56 # 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.
618
+ loyalty_program_id = 56 # Integer | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
616
619
  integration_id = 'integration_id_example' # 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.
617
620
  opts = {
618
- end_date: DateTime.parse('2013-10-20T19:20:30+01:00') # DateTime | 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.
621
+ end_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
622
+ subledger_id: ['subledger_id_example'] # Array<String> | Filter results by one or more subledger IDs. Must be exact match.
619
623
  }
620
624
 
621
625
  begin
@@ -632,9 +636,10 @@ end
632
636
 
633
637
  Name | Type | Description | Notes
634
638
  ------------- | ------------- | ------------- | -------------
635
- **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. |
639
+ **loyalty_program_id** | **Integer**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. |
636
640
  **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. |
637
- **end_date** | **DateTime**| 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. | [optional]
641
+ **end_date** | **DateTime**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered. | [optional]
642
+ **subledger_id** | [**Array&lt;String&gt;**](String.md)| Filter results by one or more subledger IDs. Must be exact match. | [optional]
638
643
 
639
644
  ### Return type
640
645
 
@@ -675,7 +680,8 @@ api_instance = TalonOne::IntegrationApi.new
675
680
  loyalty_program_id = 56 # 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.
676
681
  loyalty_card_id = 'loyalty_card_id_example' # 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.
677
682
  opts = {
678
- end_date: DateTime.parse('2013-10-20T19:20:30+01:00') # DateTime | 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.
683
+ end_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
684
+ subledger_id: ['subledger_id_example'] # Array<String> | Filter results by one or more subledger IDs. Must be exact match.
679
685
  }
680
686
 
681
687
  begin
@@ -694,7 +700,8 @@ Name | Type | Description | Notes
694
700
  ------------- | ------------- | ------------- | -------------
695
701
  **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. |
696
702
  **loyalty_card_id** | **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. |
697
- **end_date** | **DateTime**| 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. | [optional]
703
+ **end_date** | **DateTime**| Used to return expired, active, and pending loyalty balances before this timestamp. You can enter any past, present, or future timestamp value. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered. | [optional]
704
+ **subledger_id** | [**Array&lt;String&gt;**](String.md)| Filter results by one or more subledger IDs. Must be exact match. | [optional]
698
705
 
699
706
  ### Return type
700
707
 
@@ -710,6 +717,72 @@ Name | Type | Description | Notes
710
717
  - **Accept**: application/json
711
718
 
712
719
 
720
+ ## get_loyalty_card_points
721
+
722
+ > InlineResponse2003 get_loyalty_card_points(loyalty_program_id, loyalty_card_id, opts)
723
+
724
+ List card's unused loyalty points
725
+
726
+ Get paginated results of loyalty points for a given loyalty card identifier in a card-based loyalty program. This endpoint returns only the balances of unused points on a loyalty card. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past.
727
+
728
+ ### Example
729
+
730
+ ```ruby
731
+ # load the gem
732
+ require 'talon_one'
733
+ # setup authorization
734
+ TalonOne.configure do |config|
735
+ # Configure API key authorization: api_key_v1
736
+ config.api_key['Authorization'] = 'YOUR API KEY'
737
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
738
+ #config.api_key_prefix['Authorization'] = 'Bearer'
739
+ end
740
+
741
+ api_instance = TalonOne::IntegrationApi.new
742
+ loyalty_program_id = 56 # 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.
743
+ loyalty_card_id = 'loyalty_card_id_example' # 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.
744
+ opts = {
745
+ status: 'active', # String | Filter points based on their status.
746
+ subledger_id: 'subledger_id_example', # String | The ID of the subledger by which we filter the data.
747
+ page_size: 50, # Integer | The number of items in the response.
748
+ skip: 56 # Integer | The number of items to skip when paging through large result sets.
749
+ }
750
+
751
+ begin
752
+ #List card's unused loyalty points
753
+ result = api_instance.get_loyalty_card_points(loyalty_program_id, loyalty_card_id, opts)
754
+ p result
755
+ rescue TalonOne::ApiError => e
756
+ puts "Exception when calling IntegrationApi->get_loyalty_card_points: #{e}"
757
+ end
758
+ ```
759
+
760
+ ### Parameters
761
+
762
+
763
+ Name | Type | Description | Notes
764
+ ------------- | ------------- | ------------- | -------------
765
+ **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. |
766
+ **loyalty_card_id** | **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. |
767
+ **status** | **String**| Filter points based on their status. | [optional] [default to &#39;active&#39;]
768
+ **subledger_id** | **String**| The ID of the subledger by which we filter the data. | [optional]
769
+ **page_size** | **Integer**| The number of items in the response. | [optional] [default to 50]
770
+ **skip** | **Integer**| The number of items to skip when paging through large result sets. | [optional]
771
+
772
+ ### Return type
773
+
774
+ [**InlineResponse2003**](InlineResponse2003.md)
775
+
776
+ ### Authorization
777
+
778
+ [api_key_v1](../README.md#api_key_v1)
779
+
780
+ ### HTTP request headers
781
+
782
+ - **Content-Type**: Not defined
783
+ - **Accept**: application/json
784
+
785
+
713
786
  ## get_loyalty_card_transactions
714
787
 
715
788
  > InlineResponse2001 get_loyalty_card_transactions(loyalty_program_id, loyalty_card_id, opts)
@@ -736,10 +809,11 @@ loyalty_program_id = 56 # Integer | Identifier of the card-based loyalty program
736
809
  loyalty_card_id = 'loyalty_card_id_example' # 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.
737
810
  opts = {
738
811
  subledger_id: 'subledger_id_example', # String | The ID of the subledger by which we filter the data.
739
- start_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
740
- end_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
741
- page_size: 1000, # Integer | The number of items in this response.
742
- skip: 56 # Integer | Skips the given number of items when paging through large result sets.
812
+ loyalty_transaction_type: 'loyalty_transaction_type_example', # String | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file.
813
+ start_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
814
+ end_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
815
+ page_size: 1000, # Integer | The number of items in the response.
816
+ skip: 56 # Integer | The number of items to skip when paging through large result sets.
743
817
  }
744
818
 
745
819
  begin
@@ -759,10 +833,11 @@ Name | Type | Description | Notes
759
833
  **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. |
760
834
  **loyalty_card_id** | **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. |
761
835
  **subledger_id** | **String**| The ID of the subledger by which we filter the data. | [optional]
762
- **start_date** | **DateTime**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional]
763
- **end_date** | **DateTime**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional]
764
- **page_size** | **Integer**| The number of items in this response. | [optional] [default to 1000]
765
- **skip** | **Integer**| Skips the given number of items when paging through large result sets. | [optional]
836
+ **loyalty_transaction_type** | **String**| Filter results by loyalty transaction type: - &#x60;manual&#x60;: Loyalty transaction that was done manually. - &#x60;session&#x60;: Loyalty transaction that resulted from a customer session. - &#x60;import&#x60;: Loyalty transaction that was imported from a CSV file. | [optional]
837
+ **start_date** | **DateTime**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered. | [optional]
838
+ **end_date** | **DateTime**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered. | [optional]
839
+ **page_size** | **Integer**| The number of items in the response. | [optional] [default to 1000]
840
+ **skip** | **Integer**| The number of items to skip when paging through large result sets. | [optional]
766
841
 
767
842
  ### Return type
768
843
 
@@ -778,6 +853,72 @@ Name | Type | Description | Notes
778
853
  - **Accept**: application/json
779
854
 
780
855
 
856
+ ## get_loyalty_program_profile_points
857
+
858
+ > InlineResponse2004 get_loyalty_program_profile_points(loyalty_program_id, integration_id, opts)
859
+
860
+ List customer's unused loyalty points
861
+
862
+ Get paginated results of loyalty points for a given Integration ID in the specified profile-based loyalty program. This endpoint returns only the balances of unused points linked to a customer profile. You can filter points by status: - `active`: Points ready to be redeemed. - `pending`: Points with a start date in the future. - `expired`: Points with an expiration date in the past.
863
+
864
+ ### Example
865
+
866
+ ```ruby
867
+ # load the gem
868
+ require 'talon_one'
869
+ # setup authorization
870
+ TalonOne.configure do |config|
871
+ # Configure API key authorization: api_key_v1
872
+ config.api_key['Authorization'] = 'YOUR API KEY'
873
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
874
+ #config.api_key_prefix['Authorization'] = 'Bearer'
875
+ end
876
+
877
+ api_instance = TalonOne::IntegrationApi.new
878
+ loyalty_program_id = 56 # Integer | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
879
+ integration_id = 'integration_id_example' # 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.
880
+ opts = {
881
+ status: 'active', # String | Filter points based on their status.
882
+ subledger_id: 'subledger_id_example', # String | The ID of the subledger by which we filter the data.
883
+ page_size: 50, # Integer | The number of items in the response.
884
+ skip: 56 # Integer | The number of items to skip when paging through large result sets.
885
+ }
886
+
887
+ begin
888
+ #List customer's unused loyalty points
889
+ result = api_instance.get_loyalty_program_profile_points(loyalty_program_id, integration_id, opts)
890
+ p result
891
+ rescue TalonOne::ApiError => e
892
+ puts "Exception when calling IntegrationApi->get_loyalty_program_profile_points: #{e}"
893
+ end
894
+ ```
895
+
896
+ ### Parameters
897
+
898
+
899
+ Name | Type | Description | Notes
900
+ ------------- | ------------- | ------------- | -------------
901
+ **loyalty_program_id** | **Integer**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. |
902
+ **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. |
903
+ **status** | **String**| Filter points based on their status. | [optional] [default to &#39;active&#39;]
904
+ **subledger_id** | **String**| The ID of the subledger by which we filter the data. | [optional]
905
+ **page_size** | **Integer**| The number of items in the response. | [optional] [default to 50]
906
+ **skip** | **Integer**| The number of items to skip when paging through large result sets. | [optional]
907
+
908
+ ### Return type
909
+
910
+ [**InlineResponse2004**](InlineResponse2004.md)
911
+
912
+ ### Authorization
913
+
914
+ [api_key_v1](../README.md#api_key_v1)
915
+
916
+ ### HTTP request headers
917
+
918
+ - **Content-Type**: Not defined
919
+ - **Accept**: application/json
920
+
921
+
781
922
  ## get_loyalty_program_profile_transactions
782
923
 
783
924
  > InlineResponse2002 get_loyalty_program_profile_transactions(loyalty_program_id, integration_id, opts)
@@ -800,14 +941,15 @@ TalonOne.configure do |config|
800
941
  end
801
942
 
802
943
  api_instance = TalonOne::IntegrationApi.new
803
- loyalty_program_id = 56 # 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.
944
+ loyalty_program_id = 56 # Integer | Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
804
945
  integration_id = 'integration_id_example' # 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.
805
946
  opts = {
806
947
  subledger_id: 'subledger_id_example', # String | The ID of the subledger by which we filter the data.
807
- start_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
808
- end_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string.
809
- page_size: 50, # Integer | The number of items in this response.
810
- skip: 56 # Integer | Skips the given number of items when paging through large result sets.
948
+ loyalty_transaction_type: 'loyalty_transaction_type_example', # String | Filter results by loyalty transaction type: - `manual`: Loyalty transaction that was done manually. - `session`: Loyalty transaction that resulted from a customer session. - `import`: Loyalty transaction that was imported from a CSV file.
949
+ start_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
950
+ end_date: DateTime.parse('2013-10-20T19:20:30+01:00'), # DateTime | Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, `T23:59:59` to specify the end of the day. The time zone setting considered is `UTC`. If you do not include a time component, a default time value of `T00:00:00` (midnight) in `UTC` is considered.
951
+ page_size: 50, # Integer | The number of items in the response.
952
+ skip: 56 # Integer | The number of items to skip when paging through large result sets.
811
953
  }
812
954
 
813
955
  begin
@@ -824,13 +966,14 @@ end
824
966
 
825
967
  Name | Type | Description | Notes
826
968
  ------------- | ------------- | ------------- | -------------
827
- **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. |
969
+ **loyalty_program_id** | **Integer**| Identifier of the profile-based loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint. |
828
970
  **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. |
829
971
  **subledger_id** | **String**| The ID of the subledger by which we filter the data. | [optional]
830
- **start_date** | **DateTime**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional]
831
- **end_date** | **DateTime**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** It must be an RFC3339 timestamp string. | [optional]
832
- **page_size** | **Integer**| The number of items in this response. | [optional] [default to 50]
833
- **skip** | **Integer**| Skips the given number of items when paging through large result sets. | [optional]
972
+ **loyalty_transaction_type** | **String**| Filter results by loyalty transaction type: - &#x60;manual&#x60;: Loyalty transaction that was done manually. - &#x60;session&#x60;: Loyalty transaction that resulted from a customer session. - &#x60;import&#x60;: Loyalty transaction that was imported from a CSV file. | [optional]
973
+ **start_date** | **DateTime**| Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered. | [optional]
974
+ **end_date** | **DateTime**| Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - You can include a time component in your string, for example, &#x60;T23:59:59&#x60; to specify the end of the day. The time zone setting considered is &#x60;UTC&#x60;. If you do not include a time component, a default time value of &#x60;T00:00:00&#x60; (midnight) in &#x60;UTC&#x60; is considered. | [optional]
975
+ **page_size** | **Integer**| The number of items in the response. | [optional] [default to 50]
976
+ **skip** | **Integer**| The number of items to skip when paging through large result sets. | [optional]
834
977
 
835
978
  ### Return type
836
979
 
@@ -906,7 +1049,7 @@ Name | Type | Description | Notes
906
1049
 
907
1050
  Link customer profile to card
908
1051
 
909
- [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.
1052
+ [Loyalty cards](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-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/card-based/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/card-based/creating-cb-programs) allows.
910
1053
 
911
1054
  ### Example
912
1055
 
@@ -964,7 +1107,7 @@ Name | Type | Description | Notes
964
1107
 
965
1108
  Reopen customer session
966
1109
 
967
- 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.
1110
+ Reopen a closed [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). 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>non-pending</strong> 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.
968
1111
 
969
1112
  ### Example
970
1113
 
@@ -1018,7 +1161,7 @@ Name | Type | Description | Notes
1018
1161
 
1019
1162
  Return cart items
1020
1163
 
1021
- 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).
1164
+ Create a new return request for the specified cart items. This endpoint automatically changes the session state from `closed` to `partially_returned`. **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-sessions#customer-session-states) and [this tutorial](https://docs.talon.one/docs/dev/tutorials/partially-returning-a-session).
1022
1165
 
1023
1166
  ### Example
1024
1167
 
@@ -1078,7 +1221,7 @@ Name | Type | Description | Notes
1078
1221
 
1079
1222
  Sync cart item catalog
1080
1223
 
1081
- 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>
1224
+ Perform one or more of the following actions for a given cart item catalog: - Adding an item to the catalog. - Adding several items to the catalog. - Editing the attributes of an item in the catalog. - Editing the attributes of several items in the catalog. - Removing an item from the catalog. - Removing several items from the catalog. You can add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique `SKU`. **Important**: Syncing items with duplicate `SKU` values in a single request returns an error message with a `400` status code. For more information, read [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-attributes) 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\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" } ] } ``` </div> </details> <details> <summary><strong>Adding several items to the catalog</strong></summary> <div> ```json { \"actions\": [ { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241027\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"type\": \"ADD\" }, { \"payload\": { \"attributes\": { \"color\": \"Navy blue\", \"type\": \"shoes\" }, \"replaceIfExists\": true, \"sku\": \"SKU1241028\", \"price\": 100, \"product\": { \"name\": \"sneakers\" } }, \"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\", \"product\": { \"name\": \"sneakers\" } }, \"type\": \"PATCH\" } ] } ``` </div> </details> <details> <summary><strong>Editing the attributes of several items in the catalog</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</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>
1082
1225
 
1083
1226
  ### Example
1084
1227
 
@@ -1128,71 +1271,13 @@ Name | Type | Description | Notes
1128
1271
  - **Accept**: application/json
1129
1272
 
1130
1273
 
1131
- ## track_event
1132
-
1133
- > IntegrationState track_event(body, opts)
1134
-
1135
- Track event
1136
-
1137
- <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.
1138
-
1139
- ### Example
1140
-
1141
- ```ruby
1142
- # load the gem
1143
- require 'talon_one'
1144
- # setup authorization
1145
- TalonOne.configure do |config|
1146
- # Configure API key authorization: api_key_v1
1147
- config.api_key['Authorization'] = 'YOUR API KEY'
1148
- # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
1149
- #config.api_key_prefix['Authorization'] = 'Bearer'
1150
- end
1151
-
1152
- api_instance = TalonOne::IntegrationApi.new
1153
- body = TalonOne::NewEvent.new # NewEvent | body
1154
- opts = {
1155
- dry: true # Boolean | Indicates whether to persist the changes. Changes are ignored when `dry=true`.
1156
- }
1157
-
1158
- begin
1159
- #Track event
1160
- result = api_instance.track_event(body, opts)
1161
- p result
1162
- rescue TalonOne::ApiError => e
1163
- puts "Exception when calling IntegrationApi->track_event: #{e}"
1164
- end
1165
- ```
1166
-
1167
- ### Parameters
1168
-
1169
-
1170
- Name | Type | Description | Notes
1171
- ------------- | ------------- | ------------- | -------------
1172
- **body** | [**NewEvent**](NewEvent.md)| body |
1173
- **dry** | **Boolean**| Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. | [optional]
1174
-
1175
- ### Return type
1176
-
1177
- [**IntegrationState**](IntegrationState.md)
1178
-
1179
- ### Authorization
1180
-
1181
- [api_key_v1](../README.md#api_key_v1)
1182
-
1183
- ### HTTP request headers
1184
-
1185
- - **Content-Type**: application/json
1186
- - **Accept**: application/json
1187
-
1188
-
1189
1274
  ## track_event_v2
1190
1275
 
1191
- > IntegrationStateV2 track_event_v2(body, opts)
1276
+ > TrackEventV2Response track_event_v2(body, opts)
1192
1277
 
1193
- Track event V2
1278
+ Track event
1194
1279
 
1195
- 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.
1280
+ Triggers a custom event. To use this endpoint: 1. Define a [custom event](https://docs.talon.one/docs/dev/concepts/entities/events#creating-a-custom-event) in the Campaign Manager. 1. Update or create a rule to check for this event. 1. Trigger the event with this endpoint. After you have successfully sent an event to Talon.One, you can list the received events in the **Events** view in the Campaign Manager. Talon.One also offers a set of [built-in events](https://docs.talon.one/docs/dev/concepts/entities/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). <div class=\"redoc-section\"> <p class=\"title\">Important</p> 1. `profileId` is required even though the schema does not say it. 1. If the customer profile ID is new, a new profile is automatically created but the `customer_profile_created` [built-in event ](https://docs.talon.one/docs/dev/concepts/entities/events) is **not** triggered. 1. We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
1196
1281
 
1197
1282
  ### Example
1198
1283
 
@@ -1215,7 +1300,7 @@ opts = {
1215
1300
  }
1216
1301
 
1217
1302
  begin
1218
- #Track event V2
1303
+ #Track event
1219
1304
  result = api_instance.track_event_v2(body, opts)
1220
1305
  p result
1221
1306
  rescue TalonOne::ApiError => e
@@ -1234,7 +1319,7 @@ Name | Type | Description | Notes
1234
1319
 
1235
1320
  ### Return type
1236
1321
 
1237
- [**IntegrationStateV2**](IntegrationStateV2.md)
1322
+ [**TrackEventV2Response**](TrackEventV2Response.md)
1238
1323
 
1239
1324
  ### Authorization
1240
1325
 
@@ -1268,7 +1353,7 @@ TalonOne.configure do |config|
1268
1353
  end
1269
1354
 
1270
1355
  api_instance = TalonOne::IntegrationApi.new
1271
- audience_id = 56 # Integer | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2).
1356
+ audience_id = 56 # Integer | The ID of the audience.
1272
1357
  body = nil # Object | body
1273
1358
 
1274
1359
  begin
@@ -1284,7 +1369,7 @@ end
1284
1369
 
1285
1370
  Name | Type | Description | Notes
1286
1371
  ------------- | ------------- | ------------- | -------------
1287
- **audience_id** | **Integer**| The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2). |
1372
+ **audience_id** | **Integer**| The ID of the audience. |
1288
1373
  **body** | **Object**| body |
1289
1374
 
1290
1375
  ### Return type
@@ -1307,7 +1392,7 @@ nil (empty response body)
1307
1392
 
1308
1393
  Update audience name
1309
1394
 
1310
- 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.
1395
+ 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.
1311
1396
 
1312
1397
  ### Example
1313
1398
 
@@ -1323,7 +1408,7 @@ TalonOne.configure do |config|
1323
1408
  end
1324
1409
 
1325
1410
  api_instance = TalonOne::IntegrationApi.new
1326
- audience_id = 56 # Integer | The ID of the audience. You get it via the `id` property when [creating an audience](#operation/createAudienceV2).
1411
+ audience_id = 56 # Integer | The ID of the audience.
1327
1412
  body = TalonOne::UpdateAudience.new # UpdateAudience | body
1328
1413
 
1329
1414
  begin
@@ -1340,7 +1425,7 @@ end
1340
1425
 
1341
1426
  Name | Type | Description | Notes
1342
1427
  ------------- | ------------- | ------------- | -------------
1343
- **audience_id** | **Integer**| The ID of the audience. You get it via the &#x60;id&#x60; property when [creating an audience](#operation/createAudienceV2). |
1428
+ **audience_id** | **Integer**| The ID of the audience. |
1344
1429
  **body** | [**UpdateAudience**](UpdateAudience.md)| body |
1345
1430
 
1346
1431
  ### Return type
@@ -1363,7 +1448,7 @@ Name | Type | Description | Notes
1363
1448
 
1364
1449
  Update multiple customer profiles' audiences
1365
1450
 
1366
- 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.
1451
+ Add customer profiles to or remove them from an audience. The endpoint supports 1000 audience actions (`add` or `remove`) per request. **Note:** You can also do this using the [Update audience](https://docs.talon.one/docs/product/rules/effects/using-effects#updating-an-audience) effect.
1367
1452
 
1368
1453
  ### Example
1369
1454
 
@@ -1412,11 +1497,11 @@ nil (empty response body)
1412
1497
 
1413
1498
  ## update_customer_profile_v2
1414
1499
 
1415
- > IntegrationStateV2 update_customer_profile_v2(integration_id, body, opts)
1500
+ > CustomerProfileIntegrationResponseV2 update_customer_profile_v2(integration_id, body, opts)
1416
1501
 
1417
1502
  Update customer profile
1418
1503
 
1419
- 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>
1504
+ Update or create a [Customer Profile](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles). 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. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-requests). </div>
1420
1505
 
1421
1506
  ### Example
1422
1507
 
@@ -1460,7 +1545,7 @@ Name | Type | Description | Notes
1460
1545
 
1461
1546
  ### Return type
1462
1547
 
1463
- [**IntegrationStateV2**](IntegrationStateV2.md)
1548
+ [**CustomerProfileIntegrationResponseV2**](CustomerProfileIntegrationResponseV2.md)
1464
1549
 
1465
1550
  ### Authorization
1466
1551
 
@@ -1478,7 +1563,7 @@ Name | Type | Description | Notes
1478
1563
 
1479
1564
  Update multiple customer profiles
1480
1565
 
1481
- 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).
1566
+ Update (or create) up to 1000 [customer profiles](https://docs.talon.one/docs/dev/concepts/entities/customer-profiles) 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). **Note:** This endpoint does not trigger the Rule Engine. To trigger the Rule Engine for customer profile updates, use the [Update customer profile](#tag/Customer-profiles/operation/updateCustomerProfileV2) endpoint.
1482
1567
 
1483
1568
  ### Example
1484
1569
 
@@ -1536,7 +1621,7 @@ Name | Type | Description | Notes
1536
1621
 
1537
1622
  Update customer session
1538
1623
 
1539
- 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).
1624
+ Update or create a [customer session](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions). 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-sessions) 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. - We recommend sending requests sequentially. See [Managing parallel requests](https://docs.talon.one/docs/dev/getting-started/integration-tutorial#managing-parallel-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).
1540
1625
 
1541
1626
  ### Example
1542
1627
 
@@ -1555,7 +1640,8 @@ api_instance = TalonOne::IntegrationApi.new
1555
1640
  customer_session_id = 'customer_session_id_example' # String | The `integration ID` 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's **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1556
1641
  body = TalonOne::IntegrationRequest.new # IntegrationRequest | body
1557
1642
  opts = {
1558
- dry: true # Boolean | Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`, you can use the `evaluableCampaignIds` body property to select specific campaigns to run.
1643
+ dry: true, # Boolean | Indicates whether to persist the changes. Changes are ignored when `dry=true`. When set to `true`: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the `dry` parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the `evaluableCampaignIds` body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests).
1644
+ now: DateTime.parse('2013-10-20T19:20:30+01:00') # DateTime | A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the `dry` parameter in the query is set to `true`.
1559
1645
  }
1560
1646
 
1561
1647
  begin
@@ -1574,7 +1660,8 @@ Name | Type | Description | Notes
1574
1660
  ------------- | ------------- | ------------- | -------------
1575
1661
  **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. |
1576
1662
  **body** | [**IntegrationRequest**](IntegrationRequest.md)| body |
1577
- **dry** | **Boolean**| 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. | [optional]
1663
+ **dry** | **Boolean**| Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - The endpoint will **only** consider the payload that you pass when **closing** the session. When you do not use the &#x60;dry&#x60; parameter, the endpoint behaves as a typical PUT endpoint. Each update builds upon the previous ones. - You can use the &#x60;evaluableCampaignIds&#x60; body property to select specific campaigns to run. [See the docs](https://docs.talon.one/docs/dev/integration-api/dry-requests). | [optional]
1664
+ **now** | **DateTime**| A timestamp value of a future date that acts as a current date when included in the query. Use this parameter, for example, to test campaigns that would be evaluated for this customer session in the future (say, [scheduled campaigns](https://docs.talon.one/docs/product/campaigns/settings/managing-campaign-schedule)). **Note:** - It must be an RFC3339 timestamp string. - It can **only** be a date in the future. - It can **only** be used if the &#x60;dry&#x60; parameter in the query is set to &#x60;true&#x60;. | [optional]
1578
1665
 
1579
1666
  ### Return type
1580
1667