talon_one 10.0.0 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/autorelease.yml +123 -0
  3. data/README.md +55 -11
  4. data/docker-compose.yml +2 -2
  5. data/docs/AccountLimits.md +5 -1
  6. data/docs/Achievement.md +2 -0
  7. data/docs/AchievementBase.md +3 -1
  8. data/docs/AchievementProgressWithDefinition.md +3 -1
  9. data/docs/AchievementStatusEntry.md +2 -0
  10. data/docs/AddLoyaltyPoints.md +1 -1
  11. data/docs/AddedDeductedPointsNotification.md +41 -0
  12. data/docs/AnalyticsSKU.md +6 -2
  13. data/docs/ApplicationCustomer.md +1 -1
  14. data/docs/AsyncCouponsData.md +25 -0
  15. data/docs/AudienceCustomer.md +1 -1
  16. data/docs/AudienceReference.md +21 -0
  17. data/docs/BaseLoyaltyProgram.md +1 -1
  18. data/docs/BestPriorPrice.md +27 -0
  19. data/docs/BestPriorPriceMetadata.md +19 -0
  20. data/docs/BestPriorPriceRequest.md +25 -0
  21. data/docs/BestPriorPriceRequestTarget.md +19 -0
  22. data/docs/CampaignCollectionEditedNotification.md +6 -6
  23. data/docs/CampaignCollectionEditedNotificationItem.md +23 -0
  24. data/docs/CampaignCreatedNotification.md +6 -6
  25. data/docs/CampaignCreatedNotificationItem.md +23 -0
  26. data/docs/CampaignDeletedNotification.md +6 -4
  27. data/docs/CampaignDeletedNotificationItem.md +21 -0
  28. data/docs/CampaignEditedNotification.md +6 -6
  29. data/docs/CampaignEditedNotificationItem.md +23 -0
  30. data/docs/CampaignEvaluationTreeChangedMessage.md +21 -0
  31. data/docs/CampaignNotificationBase.md +19 -0
  32. data/docs/CampaignNotificationGeneric.md +21 -0
  33. data/docs/CampaignNotificationItemBase.md +17 -0
  34. data/docs/CampaignNotificationPolicy.md +1 -1
  35. data/docs/CampaignRulesetChangedNotification.md +6 -6
  36. data/docs/CampaignRulesetChangedNotificationItem.md +23 -0
  37. data/docs/CampaignStateChangedNotification.md +6 -8
  38. data/docs/CampaignStateChangedNotificationItem.md +25 -0
  39. data/docs/CardAddedDeductedPointsNotification.md +45 -0
  40. data/docs/CardExpiringPointsNotificationPolicy.md +1 -1
  41. data/docs/CardLedgerPointsEntryIntegrationAPI.md +2 -0
  42. data/docs/CardLedgerTransactionLogEntry.md +3 -1
  43. data/docs/CardLedgerTransactionLogEntryIntegrationAPI.md +3 -1
  44. data/docs/CatalogsStrikethroughNotificationPolicy.md +3 -1
  45. data/docs/CouponsNotificationData.md +27 -0
  46. data/docs/CouponsNotificationPolicy.md +1 -1
  47. data/docs/CreateAchievement.md +3 -1
  48. data/docs/CreateCouponData.md +29 -0
  49. data/docs/CustomerProfile.md +1 -1
  50. data/docs/DeleteCouponsData.md +31 -0
  51. data/docs/Effect.md +1 -1
  52. data/docs/ExpiringCardPointsData.md +29 -0
  53. data/docs/ExpiringCardPointsNotification.md +21 -0
  54. data/docs/ExpiringCouponsData.md +35 -0
  55. data/docs/ExpiringCouponsNotification.md +21 -0
  56. data/docs/ExpiringCouponsNotificationPolicy.md +1 -1
  57. data/docs/ExpiringPointsData.md +25 -0
  58. data/docs/ExpiringPointsNotification.md +21 -0
  59. data/docs/ExpiringPointsNotificationPolicy.md +1 -1
  60. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +2 -4
  61. data/docs/ExtendedCoupon.md +61 -0
  62. data/docs/GenerateAuditLogSummary.md +17 -0
  63. data/docs/GenerateCampaignDescription.md +3 -1
  64. data/docs/GenerateCouponFailureDetailedSummary.md +25 -0
  65. data/docs/GenerateCouponFailureSummary.md +19 -0
  66. data/docs/GenerateUserSessionSummary.md +19 -0
  67. data/docs/GetIntegrationCouponRequest.md +1 -1
  68. data/docs/InlineResponse20040.md +1 -1
  69. data/docs/InlineResponse20041.md +1 -1
  70. data/docs/InlineResponse20042.md +4 -2
  71. data/docs/InlineResponse20043.md +1 -1
  72. data/docs/InlineResponse20044.md +2 -4
  73. data/docs/InlineResponse20045.md +5 -3
  74. data/docs/InlineResponse20046.md +2 -4
  75. data/docs/InlineResponse20047.md +2 -6
  76. data/docs/InlineResponse20048.md +4 -2
  77. data/docs/InlineResponse20049.md +4 -2
  78. data/docs/IntegrationApi.md +88 -3
  79. data/docs/JWT.md +19 -0
  80. data/docs/LabelTargetAudience.md +19 -0
  81. data/docs/LabelTargetNone.md +17 -0
  82. data/docs/LedgerPointsEntryIntegrationAPI.md +2 -0
  83. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +3 -1
  84. data/docs/LoyaltyDashboardData.md +2 -0
  85. data/docs/LoyaltyLedgerEntryExpiryDateChange.md +21 -0
  86. data/docs/LoyaltyProgram.md +1 -1
  87. data/docs/LoyaltyProgramTransaction.md +2 -0
  88. data/docs/ManagementApi.md +1083 -366
  89. data/docs/NewLoyaltyProgram.md +1 -1
  90. data/docs/NewMessageTest.md +6 -6
  91. data/docs/NewPriceAdjustment.md +3 -1
  92. data/docs/NewPriceType.md +4 -4
  93. data/docs/NewSecondaryDeployment.md +17 -0
  94. data/docs/NewWebhook.md +3 -1
  95. data/docs/PendingActivePointsData.md +29 -0
  96. data/docs/PendingActivePointsNotification.md +21 -0
  97. data/docs/PendingPointsNotificationPolicy.md +1 -1
  98. data/docs/PriceDetail.md +2 -0
  99. data/docs/PriceType.md +4 -4
  100. data/docs/PriceTypeReferenceDetail.md +23 -0
  101. data/docs/PriceTypeReferences.md +19 -0
  102. data/docs/RoleV2RolesGroup.md +3 -1
  103. data/docs/SecondaryDeployment.md +31 -0
  104. data/docs/SetLoyaltyPointsExpiryDateEffectProps.md +23 -0
  105. data/docs/StrikethroughChangedItem.md +2 -0
  106. data/docs/StrikethroughEffect.md +9 -1
  107. data/docs/StrikethroughLabelingNotification.md +3 -1
  108. data/docs/TierDowngradeData.md +31 -0
  109. data/docs/TierDowngradeNotification.md +21 -0
  110. data/docs/TierDowngradeNotificationPolicy.md +1 -1
  111. data/docs/TierUpgradeData.md +35 -0
  112. data/docs/TierUpgradeNotification.md +21 -0
  113. data/docs/TierUpgradeNotificationPolicy.md +1 -1
  114. data/docs/TierWillDowngradeData.md +31 -0
  115. data/docs/TierWillDowngradeNotification.md +21 -0
  116. data/docs/TierWillDowngradeNotificationPolicy.md +1 -1
  117. data/docs/UpdateAchievement.md +3 -1
  118. data/docs/UpdateCouponsData.md +29 -0
  119. data/docs/UpdateLoyaltyProgram.md +1 -1
  120. data/docs/UpdatePriceType.md +21 -0
  121. data/docs/Webhook.md +3 -1
  122. data/docs/WebhookWithOutgoingIntegrationDetails.md +2 -0
  123. data/lib/talon_one/api/integration_api.rb +104 -2
  124. data/lib/talon_one/api/management_api.rb +226 -400
  125. data/lib/talon_one/models/account_limits.rb +34 -4
  126. data/lib/talon_one/models/achievement.rb +11 -1
  127. data/lib/talon_one/models/achievement_base.rb +14 -4
  128. data/lib/talon_one/models/achievement_progress_with_definition.rb +14 -4
  129. data/lib/talon_one/models/achievement_status_entry.rb +11 -1
  130. data/lib/talon_one/models/add_loyalty_points.rb +1 -10
  131. data/lib/talon_one/models/added_deducted_points_notification.rb +478 -0
  132. data/lib/talon_one/models/analytics_sku.rb +23 -3
  133. data/lib/talon_one/models/application_customer.rb +1 -1
  134. data/lib/talon_one/models/async_coupons_data.rb +272 -0
  135. data/lib/talon_one/models/audience_customer.rb +1 -1
  136. data/lib/talon_one/models/audience_reference.rb +256 -0
  137. data/lib/talon_one/models/base_loyalty_program.rb +1 -1
  138. data/lib/talon_one/models/best_prior_price.rb +285 -0
  139. data/lib/talon_one/models/best_prior_price_metadata.rb +219 -0
  140. data/lib/talon_one/models/best_prior_price_request.rb +268 -0
  141. data/lib/talon_one/models/best_prior_price_request_target.rb +257 -0
  142. data/lib/talon_one/models/campaign_collection_edited_notification.rb +30 -26
  143. data/lib/talon_one/models/campaign_collection_edited_notification_item.rb +250 -0
  144. data/lib/talon_one/models/campaign_created_notification.rb +30 -26
  145. data/lib/talon_one/models/campaign_created_notification_item.rb +250 -0
  146. data/lib/talon_one/models/campaign_deleted_notification.rb +33 -21
  147. data/lib/talon_one/models/campaign_deleted_notification_item.rb +242 -0
  148. data/lib/talon_one/models/campaign_edited_notification.rb +30 -26
  149. data/lib/talon_one/models/campaign_edited_notification_item.rb +250 -0
  150. data/lib/talon_one/models/campaign_evaluation_tree_changed_message.rb +239 -0
  151. data/lib/talon_one/models/campaign_notification_base.rb +227 -0
  152. data/lib/talon_one/models/campaign_notification_generic.rb +244 -0
  153. data/lib/talon_one/models/campaign_notification_item_base.rb +212 -0
  154. data/lib/talon_one/models/campaign_notification_policy.rb +2 -0
  155. data/lib/talon_one/models/campaign_ruleset_changed_notification.rb +32 -23
  156. data/lib/talon_one/models/campaign_ruleset_changed_notification_item.rb +245 -0
  157. data/lib/talon_one/models/campaign_state_changed_notification.rb +30 -42
  158. data/lib/talon_one/models/campaign_state_changed_notification_item.rb +266 -0
  159. data/lib/talon_one/models/card_added_deducted_points_notification.rb +510 -0
  160. data/lib/talon_one/models/card_expiring_points_notification_policy.rb +2 -0
  161. data/lib/talon_one/models/card_ledger_points_entry_integration_api.rb +16 -1
  162. data/lib/talon_one/models/card_ledger_transaction_log_entry.rb +16 -1
  163. data/lib/talon_one/models/card_ledger_transaction_log_entry_integration_api.rb +16 -1
  164. data/lib/talon_one/models/catalogs_strikethrough_notification_policy.rb +16 -4
  165. data/lib/talon_one/models/coupons_notification_data.rb +278 -0
  166. data/lib/talon_one/models/coupons_notification_policy.rb +2 -0
  167. data/lib/talon_one/models/create_achievement.rb +14 -4
  168. data/lib/talon_one/models/create_coupon_data.rb +288 -0
  169. data/lib/talon_one/models/customer_profile.rb +1 -1
  170. data/lib/talon_one/models/deduct_loyalty_points.rb +0 -9
  171. data/lib/talon_one/models/delete_coupons_data.rb +310 -0
  172. data/lib/talon_one/models/effect.rb +0 -1
  173. data/lib/talon_one/models/expiring_card_points_data.rb +342 -0
  174. data/lib/talon_one/models/expiring_card_points_notification.rb +277 -0
  175. data/lib/talon_one/models/expiring_coupons_data.rb +369 -0
  176. data/lib/talon_one/models/expiring_coupons_notification.rb +277 -0
  177. data/lib/talon_one/models/expiring_coupons_notification_policy.rb +2 -0
  178. data/lib/talon_one/models/expiring_points_data.rb +291 -0
  179. data/lib/talon_one/models/expiring_points_notification.rb +277 -0
  180. data/lib/talon_one/models/expiring_points_notification_policy.rb +2 -0
  181. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +9 -24
  182. data/lib/talon_one/models/extended_coupon.rb +578 -0
  183. data/lib/talon_one/models/generate_audit_log_summary.rb +212 -0
  184. data/lib/talon_one/models/generate_campaign_description.rb +16 -1
  185. data/lib/talon_one/models/generate_coupon_failure_detailed_summary.rb +286 -0
  186. data/lib/talon_one/models/generate_coupon_failure_summary.rb +222 -0
  187. data/lib/talon_one/models/generate_user_session_summary.rb +227 -0
  188. data/lib/talon_one/models/get_integration_coupon_request.rb +2 -0
  189. data/lib/talon_one/models/inline_response20040.rb +1 -1
  190. data/lib/talon_one/models/inline_response20041.rb +1 -1
  191. data/lib/talon_one/models/inline_response20042.rb +11 -7
  192. data/lib/talon_one/models/inline_response20043.rb +1 -1
  193. data/lib/talon_one/models/inline_response20044.rb +7 -11
  194. data/lib/talon_one/models/inline_response20045.rb +11 -7
  195. data/lib/talon_one/models/inline_response20046.rb +2 -21
  196. data/lib/talon_one/models/inline_response20047.rb +2 -25
  197. data/lib/talon_one/models/inline_response20048.rb +16 -2
  198. data/lib/talon_one/models/inline_response20049.rb +21 -2
  199. data/lib/talon_one/models/jwt.rb +228 -0
  200. data/lib/talon_one/models/label_target_audience.rb +260 -0
  201. data/lib/talon_one/models/label_target_none.rb +246 -0
  202. data/lib/talon_one/models/ledger_points_entry_integration_api.rb +16 -1
  203. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +17 -2
  204. data/lib/talon_one/models/loyalty_dashboard_data.rb +16 -1
  205. data/lib/talon_one/models/loyalty_ledger_entry_expiry_date_change.rb +238 -0
  206. data/lib/talon_one/models/loyalty_program.rb +1 -1
  207. data/lib/talon_one/models/loyalty_program_transaction.rb +16 -1
  208. data/lib/talon_one/models/new_loyalty_program.rb +1 -1
  209. data/lib/talon_one/models/new_message_test.rb +28 -43
  210. data/lib/talon_one/models/new_price_adjustment.rb +33 -4
  211. data/lib/talon_one/models/new_price_type.rb +3 -3
  212. data/lib/talon_one/models/new_secondary_deployment.rb +242 -0
  213. data/lib/talon_one/models/new_webhook.rb +14 -4
  214. data/lib/talon_one/models/pending_active_points_data.rb +308 -0
  215. data/lib/talon_one/models/pending_active_points_notification.rb +277 -0
  216. data/lib/talon_one/models/pending_points_notification_policy.rb +2 -0
  217. data/lib/talon_one/models/price_detail.rb +11 -1
  218. data/lib/talon_one/models/price_type.rb +3 -3
  219. data/lib/talon_one/models/price_type_reference_detail.rb +286 -0
  220. data/lib/talon_one/models/price_type_references.rb +224 -0
  221. data/lib/talon_one/models/role_v2_roles_group.rb +14 -4
  222. data/lib/talon_one/models/secondary_deployment.rb +367 -0
  223. data/lib/talon_one/models/set_loyalty_points_expiry_date_effect_props.rb +255 -0
  224. data/lib/talon_one/models/strikethrough_changed_item.rb +13 -1
  225. data/lib/talon_one/models/strikethrough_effect.rb +46 -4
  226. data/lib/talon_one/models/strikethrough_labeling_notification.rb +19 -4
  227. data/lib/talon_one/models/tier_downgrade_data.rb +328 -0
  228. data/lib/talon_one/models/tier_downgrade_notification.rb +277 -0
  229. data/lib/talon_one/models/tier_downgrade_notification_policy.rb +2 -0
  230. data/lib/talon_one/models/tier_upgrade_data.rb +353 -0
  231. data/lib/talon_one/models/tier_upgrade_notification.rb +277 -0
  232. data/lib/talon_one/models/tier_upgrade_notification_policy.rb +2 -0
  233. data/lib/talon_one/models/tier_will_downgrade_data.rb +328 -0
  234. data/lib/talon_one/models/tier_will_downgrade_notification.rb +277 -0
  235. data/lib/talon_one/models/tier_will_downgrade_notification_policy.rb +2 -0
  236. data/lib/talon_one/models/update_achievement.rb +14 -4
  237. data/lib/talon_one/models/update_coupons_data.rb +296 -0
  238. data/lib/talon_one/models/update_loyalty_program.rb +1 -1
  239. data/lib/talon_one/models/update_price_type.rb +239 -0
  240. data/lib/talon_one/models/webhook.rb +14 -4
  241. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +11 -1
  242. data/lib/talon_one/version.rb +1 -1
  243. data/lib/talon_one.rb +51 -6
  244. data/spec/api/integration_api_spec.rb +23 -1
  245. data/spec/api/management_api_spec.rb +18 -54
  246. data/spec/models/account_limits_spec.rb +12 -0
  247. data/spec/models/achievement_base_spec.rb +6 -0
  248. data/spec/models/achievement_progress_with_definition_spec.rb +6 -0
  249. data/spec/models/achievement_spec.rb +6 -0
  250. data/spec/models/achievement_status_entry_spec.rb +6 -0
  251. data/spec/models/added_deducted_points_notification_spec.rb +125 -0
  252. data/spec/models/analytics_sku_spec.rb +12 -0
  253. data/spec/models/async_coupons_data_spec.rb +65 -0
  254. data/spec/models/audience_reference_spec.rb +53 -0
  255. data/spec/models/best_prior_price_metadata_spec.rb +47 -0
  256. data/spec/models/best_prior_price_request_spec.rb +65 -0
  257. data/spec/models/best_prior_price_request_target_spec.rb +51 -0
  258. data/spec/models/best_prior_price_spec.rb +71 -0
  259. data/spec/models/campaign_collection_edited_notification_item_spec.rb +59 -0
  260. data/spec/models/campaign_collection_edited_notification_spec.rb +3 -3
  261. data/spec/models/campaign_created_notification_item_spec.rb +59 -0
  262. data/spec/models/campaign_created_notification_spec.rb +3 -3
  263. data/spec/models/campaign_deleted_notification_item_spec.rb +53 -0
  264. data/spec/models/campaign_deleted_notification_spec.rb +8 -2
  265. data/spec/models/campaign_edited_notification_item_spec.rb +59 -0
  266. data/spec/models/campaign_edited_notification_spec.rb +3 -3
  267. data/spec/models/campaign_evaluation_tree_changed_message_spec.rb +53 -0
  268. data/spec/models/campaign_notification_base_spec.rb +47 -0
  269. data/spec/models/campaign_notification_generic_spec.rb +53 -0
  270. data/spec/models/campaign_notification_item_base_spec.rb +41 -0
  271. data/spec/models/campaign_ruleset_changed_notification_item_spec.rb +59 -0
  272. data/spec/models/campaign_ruleset_changed_notification_spec.rb +3 -3
  273. data/spec/models/campaign_state_changed_notification_item_spec.rb +65 -0
  274. data/spec/models/campaign_state_changed_notification_spec.rb +3 -9
  275. data/spec/models/card_added_deducted_points_notification_spec.rb +137 -0
  276. data/spec/models/card_ledger_points_entry_integration_api_spec.rb +6 -0
  277. data/spec/models/card_ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  278. data/spec/models/card_ledger_transaction_log_entry_spec.rb +6 -0
  279. data/spec/models/catalogs_strikethrough_notification_policy_spec.rb +6 -0
  280. data/spec/models/coupons_notification_data_spec.rb +71 -0
  281. data/spec/models/create_achievement_spec.rb +6 -0
  282. data/spec/models/create_coupon_data_spec.rb +77 -0
  283. data/spec/models/delete_coupons_data_spec.rb +83 -0
  284. data/spec/models/expiring_card_points_data_spec.rb +77 -0
  285. data/spec/models/expiring_card_points_notification_spec.rb +57 -0
  286. data/spec/models/expiring_coupons_data_spec.rb +95 -0
  287. data/spec/models/expiring_coupons_notification_spec.rb +57 -0
  288. data/spec/models/expiring_points_data_spec.rb +65 -0
  289. data/spec/models/expiring_points_notification_spec.rb +57 -0
  290. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +1 -7
  291. data/spec/models/extended_coupon_spec.rb +173 -0
  292. data/spec/models/generate_audit_log_summary_spec.rb +41 -0
  293. data/spec/models/generate_campaign_description_spec.rb +6 -0
  294. data/spec/models/generate_coupon_failure_detailed_summary_spec.rb +65 -0
  295. data/spec/models/generate_coupon_failure_summary_spec.rb +47 -0
  296. data/spec/models/generate_user_session_summary_spec.rb +47 -0
  297. data/spec/models/inline_response20042_spec.rb +6 -0
  298. data/spec/models/inline_response20044_spec.rb +0 -6
  299. data/spec/models/inline_response20045_spec.rb +6 -0
  300. data/spec/models/inline_response20046_spec.rb +0 -6
  301. data/spec/models/inline_response20047_spec.rb +0 -12
  302. data/spec/models/inline_response20048_spec.rb +6 -0
  303. data/spec/models/inline_response20049_spec.rb +6 -0
  304. data/spec/models/jwt_spec.rb +47 -0
  305. data/spec/models/label_target_audience_spec.rb +51 -0
  306. data/spec/models/label_target_none_spec.rb +45 -0
  307. data/spec/models/ledger_points_entry_integration_api_spec.rb +6 -0
  308. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  309. data/spec/models/loyalty_dashboard_data_spec.rb +6 -0
  310. data/spec/models/loyalty_ledger_entry_expiry_date_change_spec.rb +53 -0
  311. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  312. data/spec/models/new_message_test_spec.rb +10 -14
  313. data/spec/models/new_price_adjustment_spec.rb +6 -0
  314. data/spec/models/new_secondary_deployment_spec.rb +41 -0
  315. data/spec/models/new_webhook_spec.rb +6 -0
  316. data/spec/models/pending_active_points_data_spec.rb +77 -0
  317. data/spec/models/pending_active_points_notification_spec.rb +57 -0
  318. data/spec/models/price_detail_spec.rb +6 -0
  319. data/spec/models/price_type_reference_detail_spec.rb +63 -0
  320. data/spec/models/price_type_references_spec.rb +47 -0
  321. data/spec/models/role_v2_roles_group_spec.rb +6 -0
  322. data/spec/models/secondary_deployment_spec.rb +87 -0
  323. data/spec/models/set_loyalty_points_expiry_date_effect_props_spec.rb +59 -0
  324. data/spec/models/strikethrough_changed_item_spec.rb +6 -0
  325. data/spec/models/strikethrough_effect_spec.rb +24 -0
  326. data/spec/models/strikethrough_labeling_notification_spec.rb +6 -0
  327. data/spec/models/tier_downgrade_data_spec.rb +83 -0
  328. data/spec/models/tier_downgrade_notification_spec.rb +57 -0
  329. data/spec/models/tier_upgrade_data_spec.rb +95 -0
  330. data/spec/models/tier_upgrade_notification_spec.rb +57 -0
  331. data/spec/models/tier_will_downgrade_data_spec.rb +83 -0
  332. data/spec/models/tier_will_downgrade_notification_spec.rb +57 -0
  333. data/spec/models/update_achievement_spec.rb +6 -0
  334. data/spec/models/update_coupons_data_spec.rb +77 -0
  335. data/spec/models/update_price_type_spec.rb +53 -0
  336. data/spec/models/webhook_spec.rb +6 -0
  337. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  338. metadata +206 -2
  339. data/.github/dependabot.yml +0 -10
@@ -0,0 +1,29 @@
1
+ # TalonOne::UpdateCouponsData
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **batch_id** | **String** | |
8
+ **application_id** | **Integer** | |
9
+ **campaign_id** | **Integer** | |
10
+ **type_of_change** | **String** | |
11
+ **operation** | **String** | |
12
+ **employee_name** | **String** | |
13
+ **notification_type** | **String** | The type of the notification |
14
+
15
+ ## Code Sample
16
+
17
+ ```ruby
18
+ require 'TalonOne'
19
+
20
+ instance = TalonOne::UpdateCouponsData.new(batch_id: null,
21
+ application_id: null,
22
+ campaign_id: null,
23
+ type_of_change: null,
24
+ operation: null,
25
+ employee_name: null,
26
+ notification_type: null)
27
+ ```
28
+
29
+
@@ -8,7 +8,7 @@ Name | Type | Description | Notes
8
8
  **description** | **String** | Description of our Loyalty Program. | [optional]
9
9
  **subscribed_applications** | **Array<Integer>** | A list containing the IDs of all applications that are subscribed to this Loyalty Program. | [optional]
10
10
  **default_validity** | **String** | The default duration after which new loyalty points should expire. Can be 'unlimited' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month. | [optional]
11
- **default_pending** | **String** | The default duration of the pending time after which points should be valid. Can be 'immediate' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month. | [optional]
11
+ **default_pending** | **String** | The default duration of the pending time after which points should be valid. Accepted values: 'immediate', 'on_action' or a specific time. The time format is a number followed by one letter indicating the time unit, like '30s', '40m', '1h', '5D', '7W', or 10M'. These rounding suffixes are also supported: - '_D' for rounding down. Can be used as a suffix after 'D', and signifies the start of the day. - '_U' for rounding up. Can be used as a suffix after 'D', 'W', and 'M', and signifies the end of the day, week, and month. | [optional]
12
12
  **allow_subledger** | **Boolean** | Indicates if this program supports subledgers inside the program. | [optional]
13
13
  **users_per_card_limit** | **Integer** | The max amount of user profiles with whom a card can be shared. This can be set to 0 for no limit. This property is only used when `cardBased` is `true`. | [optional]
14
14
  **sandbox** | **Boolean** | Indicates if this program is a live or sandbox program. Programs of a given type can only be connected to Applications of the same type. | [optional]
@@ -0,0 +1,21 @@
1
+ # TalonOne::UpdatePriceType
2
+
3
+ ## Properties
4
+
5
+ Name | Type | Description | Notes
6
+ ------------ | ------------- | ------------- | -------------
7
+ **title** | **String** | The name displayed in the Campaign Manager for the price type. |
8
+ **description** | **String** | A description of the price type. | [optional]
9
+ **targeted_audiences_ids** | **Array<Integer>** | A list of the IDs of the audiences targeted by this price type. |
10
+
11
+ ## Code Sample
12
+
13
+ ```ruby
14
+ require 'TalonOne'
15
+
16
+ instance = TalonOne::UpdatePriceType.new(title: Member Price,
17
+ description: The price available exclusively to members.,
18
+ targeted_audiences_ids: [1, 2, 3])
19
+ ```
20
+
21
+
data/docs/Webhook.md CHANGED
@@ -17,6 +17,7 @@ Name | Type | Description | Notes
17
17
  **payload** | **String** | API payload (supports templating using parameters) for this webhook. | [optional]
18
18
  **params** | [**Array<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. |
19
19
  **enabled** | **Boolean** | Enables or disables webhook from showing in the Rule Builder. |
20
+ **authentication_id** | **Integer** | The ID of the credential that this webhook is using. | [optional]
20
21
 
21
22
  ## Code Sample
22
23
 
@@ -37,7 +38,8 @@ instance = TalonOne::Webhook.new(id: 6,
37
38
  "message": "${message}"
38
39
  },
39
40
  params: [],
40
- enabled: true)
41
+ enabled: true,
42
+ authentication_id: 1)
41
43
  ```
42
44
 
43
45
 
@@ -17,6 +17,7 @@ Name | Type | Description | Notes
17
17
  **payload** | **String** | API payload (supports templating using parameters) for this webhook. | [optional]
18
18
  **params** | [**Array<TemplateArgDef>**](TemplateArgDef.md) | Array of template argument definitions. |
19
19
  **enabled** | **Boolean** | Enables or disables webhook from showing in the Rule Builder. |
20
+ **authentication_id** | **Integer** | The ID of the credential that this webhook is using. | [optional]
20
21
  **outgoing_integration_template_id** | **Integer** | Identifier of the outgoing integration template. | [optional]
21
22
  **outgoing_integration_type_id** | **Integer** | Identifier of the outgoing integration type. | [optional]
22
23
  **outgoing_integration_type_name** | **String** | Name of the outgoing integration. | [optional]
@@ -41,6 +42,7 @@ instance = TalonOne::WebhookWithOutgoingIntegrationDetails.new(id: 6,
41
42
  },
42
43
  params: [],
43
44
  enabled: true,
45
+ authentication_id: 1,
44
46
  outgoing_integration_template_id: 1,
45
47
  outgoing_integration_type_id: 1,
46
48
  outgoing_integration_type_name: Braze)
@@ -19,6 +19,70 @@ module TalonOne
19
19
  def initialize(api_client = ApiClient.default)
20
20
  @api_client = api_client
21
21
  end
22
+ # Fetch best prior price
23
+ # Returns the best prior price based on historical pricing data for the specified SKUs within a defined timeframe.
24
+ # @param body [BestPriorPriceRequest] body
25
+ # @param [Hash] opts the optional parameters
26
+ # @return [Array<BestPriorPrice>]
27
+ def best_prior_price(body, opts = {})
28
+ data, _status_code, _headers = best_prior_price_with_http_info(body, opts)
29
+ data
30
+ end
31
+
32
+ # Fetch best prior price
33
+ # Returns the best prior price based on historical pricing data for the specified SKUs within a defined timeframe.
34
+ # @param body [BestPriorPriceRequest] body
35
+ # @param [Hash] opts the optional parameters
36
+ # @return [Array<(Array<BestPriorPrice>, Integer, Hash)>] Array<BestPriorPrice> data, response status code and response headers
37
+ def best_prior_price_with_http_info(body, opts = {})
38
+ if @api_client.config.debugging
39
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.best_prior_price ...'
40
+ end
41
+ # verify the required parameter 'body' is set
42
+ if @api_client.config.client_side_validation && body.nil?
43
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.best_prior_price"
44
+ end
45
+ # resource path
46
+ local_var_path = '/v1/best_prior_price'
47
+
48
+ # query parameters
49
+ query_params = opts[:query_params] || {}
50
+
51
+ # header parameters
52
+ header_params = opts[:header_params] || {}
53
+ # HTTP header 'Accept' (if needed)
54
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
55
+ # HTTP header 'Content-Type'
56
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
57
+
58
+ # form parameters
59
+ form_params = opts[:form_params] || {}
60
+
61
+ # http body (model)
62
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
63
+
64
+ # return_type
65
+ return_type = opts[:return_type] || 'Array<BestPriorPrice>'
66
+
67
+ # auth_names
68
+ auth_names = opts[:auth_names] || ['api_key_v1', 'management_key', 'manager_auth']
69
+
70
+ new_options = opts.merge(
71
+ :header_params => header_params,
72
+ :query_params => query_params,
73
+ :form_params => form_params,
74
+ :body => post_body,
75
+ :auth_names => auth_names,
76
+ :return_type => return_type
77
+ )
78
+
79
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
80
+ if @api_client.config.debugging
81
+ @api_client.config.logger.debug "API called: IntegrationApi#best_prior_price\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
82
+ end
83
+ return data, status_code, headers
84
+ end
85
+
22
86
  # Create audience
23
87
  # Create an audience. The audience can be created directly from scratch or can come from third party platforms. **Note:** Audiences can also be created from scratch via the Campaign Manager. See the [docs](https://docs.talon.one/docs/product/audiences/creating-audiences). To create an audience from an existing audience from a [technology partner](https://docs.talon.one/docs/dev/technology-partners/overview): 1. Set the `integration` property to `mparticle`, `segment` etc., depending on a third-party platform. 1. Set `integrationId` to the ID of this audience in a third-party platform. To create an audience from an existing audience in another platform: 1. Do not use the `integration` property. 1. Set `integrationId` to the ID of this audience in the 3rd-party platform. To create an audience from scratch: 1. Only set the `name` property. Once you create your first audience, audience-specific rule conditions are enabled in the Rule Builder.
24
88
  # @param body [NewAudience] body
@@ -1108,8 +1172,11 @@ module TalonOne
1108
1172
  # @param [Hash] opts the optional parameters
1109
1173
  # @option opts [String] :status Filter points based on their status. (default to 'active')
1110
1174
  # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1175
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1176
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1111
1177
  # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1112
1178
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1179
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1113
1180
  # @return [InlineResponse2005]
1114
1181
  def get_loyalty_card_points(loyalty_program_id, loyalty_card_id, opts = {})
1115
1182
  data, _status_code, _headers = get_loyalty_card_points_with_http_info(loyalty_program_id, loyalty_card_id, opts)
@@ -1123,8 +1190,11 @@ module TalonOne
1123
1190
  # @param [Hash] opts the optional parameters
1124
1191
  # @option opts [String] :status Filter points based on their status.
1125
1192
  # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
1193
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1194
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1126
1195
  # @option opts [Integer] :page_size The number of items in the response.
1127
1196
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1197
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1128
1198
  # @return [Array<(InlineResponse2005, Integer, Hash)>] InlineResponse2005 data, response status code and response headers
1129
1199
  def get_loyalty_card_points_with_http_info(loyalty_program_id, loyalty_card_id, opts = {})
1130
1200
  if @api_client.config.debugging
@@ -1154,6 +1224,10 @@ module TalonOne
1154
1224
  fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_card_points, must be greater than or equal to 1.'
1155
1225
  end
1156
1226
 
1227
+ allowable_values = ["startDate", "expiryDate"]
1228
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1229
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1230
+ end
1157
1231
  # resource path
1158
1232
  local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards/{loyaltyCardId}/points'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'loyaltyCardId' + '}', CGI.escape(loyalty_card_id.to_s))
1159
1233
 
@@ -1161,8 +1235,11 @@ module TalonOne
1161
1235
  query_params = opts[:query_params] || {}
1162
1236
  query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
1163
1237
  query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :multi) if !opts[:'subledger_id'].nil?
1238
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_i_ds'], :multi) if !opts[:'customer_session_i_ds'].nil?
1239
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uui_ds'], :multi) if !opts[:'transaction_uui_ds'].nil?
1164
1240
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1165
1241
  query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1242
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1166
1243
 
1167
1244
  # header parameters
1168
1245
  header_params = opts[:header_params] || {}
@@ -1206,6 +1283,8 @@ module TalonOne
1206
1283
  # @option opts [String] :loyalty_transaction_type 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.
1207
1284
  # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - 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.
1208
1285
  # @option opts [DateTime] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - 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.
1286
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1287
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1209
1288
  # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1210
1289
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1211
1290
  # @return [InlineResponse2003]
@@ -1223,6 +1302,8 @@ module TalonOne
1223
1302
  # @option opts [String] :loyalty_transaction_type 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.
1224
1303
  # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - 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.
1225
1304
  # @option opts [DateTime] :end_date Date and time by which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - 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.
1305
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1306
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1226
1307
  # @option opts [Integer] :page_size The number of items in the response.
1227
1308
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1228
1309
  # @return [Array<(InlineResponse2003, Integer, Hash)>] InlineResponse2003 data, response status code and response headers
@@ -1263,6 +1344,8 @@ module TalonOne
1263
1344
  query_params[:'loyaltyTransactionType'] = opts[:'loyalty_transaction_type'] if !opts[:'loyalty_transaction_type'].nil?
1264
1345
  query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
1265
1346
  query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
1347
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_i_ds'], :multi) if !opts[:'customer_session_i_ds'].nil?
1348
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uui_ds'], :multi) if !opts[:'transaction_uui_ds'].nil?
1266
1349
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1267
1350
  query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1268
1351
 
@@ -1306,8 +1389,11 @@ module TalonOne
1306
1389
  # @param [Hash] opts the optional parameters
1307
1390
  # @option opts [String] :status Filter points based on their status. (default to 'active')
1308
1391
  # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1392
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1393
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1309
1394
  # @option opts [Integer] :page_size The number of items in the response. (default to 50)
1310
1395
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1396
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1311
1397
  # @return [InlineResponse2006]
1312
1398
  def get_loyalty_program_profile_points(loyalty_program_id, integration_id, opts = {})
1313
1399
  data, _status_code, _headers = get_loyalty_program_profile_points_with_http_info(loyalty_program_id, integration_id, opts)
@@ -1321,8 +1407,11 @@ module TalonOne
1321
1407
  # @param [Hash] opts the optional parameters
1322
1408
  # @option opts [String] :status Filter points based on their status.
1323
1409
  # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1410
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1411
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1324
1412
  # @option opts [Integer] :page_size The number of items in the response.
1325
1413
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
1414
+ # @option opts [String] :sort The field by which results should be sorted. You can enter one of the following values: - &#x60;startDate&#x60;: Sorts the results by the start date of the points. - &#x60;expiryDate&#x60;: Sorts the results by the expiry date of the points. By default, results are sorted in ascending order. To sort them in descending order, prefix the field name with &#x60;-&#x60;. **Note:** You can only sort by one field at a time.
1326
1415
  # @return [Array<(InlineResponse2006, Integer, Hash)>] InlineResponse2006 data, response status code and response headers
1327
1416
  def get_loyalty_program_profile_points_with_http_info(loyalty_program_id, integration_id, opts = {})
1328
1417
  if @api_client.config.debugging
@@ -1348,6 +1437,10 @@ module TalonOne
1348
1437
  fail ArgumentError, 'invalid value for "opts[:"page_size"]" when calling IntegrationApi.get_loyalty_program_profile_points, must be greater than or equal to 1.'
1349
1438
  end
1350
1439
 
1440
+ allowable_values = ["startDate", "expiryDate"]
1441
+ if @api_client.config.client_side_validation && opts[:'sort'] && !allowable_values.include?(opts[:'sort'])
1442
+ fail ArgumentError, "invalid value for \"sort\", must be one of #{allowable_values}"
1443
+ end
1351
1444
  # resource path
1352
1445
  local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/profile/{integrationId}/points'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s)).sub('{' + 'integrationId' + '}', CGI.escape(integration_id.to_s))
1353
1446
 
@@ -1355,8 +1448,11 @@ module TalonOne
1355
1448
  query_params = opts[:query_params] || {}
1356
1449
  query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
1357
1450
  query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
1451
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_i_ds'], :multi) if !opts[:'customer_session_i_ds'].nil?
1452
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uui_ds'], :multi) if !opts[:'transaction_uui_ds'].nil?
1358
1453
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
1359
1454
  query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
1455
+ query_params[:'sort'] = opts[:'sort'] if !opts[:'sort'].nil?
1360
1456
 
1361
1457
  # header parameters
1362
1458
  header_params = opts[:header_params] || {}
@@ -1396,6 +1492,8 @@ module TalonOne
1396
1492
  # @param 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.
1397
1493
  # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1398
1494
  # @param [Hash] opts the optional parameters
1495
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1496
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1399
1497
  # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1400
1498
  # @option opts [String] :loyalty_transaction_type 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.
1401
1499
  # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - 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.
@@ -1413,6 +1511,8 @@ module TalonOne
1413
1511
  # @param 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.
1414
1512
  # @param integration_id [String] The integration identifier for this customer profile. Must be: - Unique within the deployment. - Stable for the customer. Do not use an ID that the customer can update themselves. For example, you can use a database ID. Once set, you cannot update this identifier.
1415
1513
  # @param [Hash] opts the optional parameters
1514
+ # @option opts [Array<String>] :customer_session_i_ds Filter the results by a list of customer session IDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?customerSessionIDs&#x3D;id1&amp;customerSessionIDs&#x3D;id2&#x60;. The response contains only data associated with the specified sessions.
1515
+ # @option opts [Array<String>] :transaction_uui_ds Filter the results by a list of transaction UUIDs. To include multiple IDs, repeat the parameter for each one, for example, &#x60;?transactionUUIDs&#x3D;uuid1&amp;transactionUUIDs&#x3D;uuid2&#x60;. The response contains only data associated with the specified transactions.
1416
1516
  # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1417
1517
  # @option opts [String] :loyalty_transaction_type 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.
1418
1518
  # @option opts [DateTime] :start_date Date and time from which results are returned. Results are filtered by transaction creation date. **Note:** - It must be an RFC3339 timestamp string. - 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.
@@ -1449,6 +1549,8 @@ module TalonOne
1449
1549
 
1450
1550
  # query parameters
1451
1551
  query_params = opts[:query_params] || {}
1552
+ query_params[:'customerSessionIDs'] = @api_client.build_collection_param(opts[:'customer_session_i_ds'], :multi) if !opts[:'customer_session_i_ds'].nil?
1553
+ query_params[:'transactionUUIDs'] = @api_client.build_collection_param(opts[:'transaction_uui_ds'], :multi) if !opts[:'transaction_uui_ds'].nil?
1452
1554
  query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
1453
1555
  query_params[:'loyaltyTransactionType'] = opts[:'loyalty_transaction_type'] if !opts[:'loyalty_transaction_type'].nil?
1454
1556
  query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
@@ -1632,7 +1734,7 @@ module TalonOne
1632
1734
  end
1633
1735
 
1634
1736
  # Reopen customer session
1635
- # 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.
1737
+ # 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`. - Any modified budgets and triggered effects are rolled back when the session closes. - Depending on the [return policy](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-programs#return-policy) in your loyalty programs, points are rolled back in the following ways: - Pending points are rolled back automatically. - If **Active points deduction** setting is enabled, any points that were earned and activated when the session closed are rolled back. - If **Negative balance** is enabled, the rollback can create a negative points balance. <details> <summary><strong>Effects and budgets unimpacted by a session reopening</strong></summary> <div> <p>The following effects and budgets remain in the state they were in when the session closed:</p> <ul> <li>Add free item effect</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> </details> <p>To see an example of a rollback, see the <a href=\"https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\">Cancelling a session with campaign budgets</a>tutorial.</p> **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.
1636
1738
  # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1637
1739
  # @param [Hash] opts the optional parameters
1638
1740
  # @return [ReopenSessionResponse]
@@ -1642,7 +1744,7 @@ module TalonOne
1642
1744
  end
1643
1745
 
1644
1746
  # Reopen customer session
1645
- # 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 &#x60;talon_session_reopened&#x60; event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to &#x60;open&#x60;. - Modified budgets and triggered effects when the session was closed are rolled back except for the list below. &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Effects and budgets unimpacted by a session reopening&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt;The following effects and budgets are left the way they were once the session was originally closed:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add free item effect&lt;/li&gt; &lt;li&gt;Any &lt;strong&gt;non-pending&lt;/strong&gt; loyalty points&lt;/li&gt; &lt;li&gt;Award giveaway&lt;/li&gt; &lt;li&gt;Coupon and referral creation&lt;/li&gt; &lt;li&gt;Coupon reservation&lt;/li&gt; &lt;li&gt;Custom effect&lt;/li&gt; &lt;li&gt;Update attribute value&lt;/li&gt; &lt;li&gt;Update cart item attribute value&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;p&gt;To see an example of roll back, see the &lt;a href&#x3D;\&quot;https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\&quot;&gt;Cancelling a session with campaign budgets tutorial&lt;/a&gt;.&lt;/p&gt; &lt;/details&gt; **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one.
1747
+ # 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 &#x60;talon_session_reopened&#x60; event is triggered. You can see it in the **Events** view in the Campaign Manager. - The session state is updated to &#x60;open&#x60;. - Any modified budgets and triggered effects are rolled back when the session closes. - Depending on the [return policy](https://docs.talon.one/docs/product/loyalty-programs/managing-loyalty-programs#return-policy) in your loyalty programs, points are rolled back in the following ways: - Pending points are rolled back automatically. - If **Active points deduction** setting is enabled, any points that were earned and activated when the session closed are rolled back. - If **Negative balance** is enabled, the rollback can create a negative points balance. &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Effects and budgets unimpacted by a session reopening&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt;The following effects and budgets remain in the state they were in when the session closed:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Add free item effect&lt;/li&gt; &lt;li&gt;Award giveaway&lt;/li&gt; &lt;li&gt;Coupon and referral creation&lt;/li&gt; &lt;li&gt;Coupon reservation&lt;/li&gt; &lt;li&gt;Custom effect&lt;/li&gt; &lt;li&gt;Update attribute value&lt;/li&gt; &lt;li&gt;Update cart item attribute value&lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;/details&gt; &lt;p&gt;To see an example of a rollback, see the &lt;a href&#x3D;\&quot;https://docs.talon.one/docs/dev/tutorials/rolling-back-effects\&quot;&gt;Cancelling a session with campaign budgets&lt;/a&gt;tutorial.&lt;/p&gt; **Note:** If your order workflow requires you to create a new session instead of reopening a session, use the [Update customer session](https://docs.talon.one/integration-api#tag/Customer-sessions/operation/updateCustomerSessionV2) endpoint to cancel a closed session and create a new one.
1646
1748
  # @param customer_session_id [String] The &#x60;integration ID&#x60; of the customer session. You set this ID when you create a customer session. You can see existing customer session integration IDs in the Campaign Manager&#39;s **Sessions** menu, or via the [List Application session](https://docs.talon.one/management-api#operation/getApplicationSessions) endpoint.
1647
1749
  # @param [Hash] opts the optional parameters
1648
1750
  # @return [Array<(ReopenSessionResponse, Integer, Hash)>] ReopenSessionResponse data, response status code and response headers