talon_one 4.0.0 → 6.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (347) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +83 -18
  3. data/docs/AchievementProgress.md +2 -0
  4. data/docs/ActivateUserRequest.md +17 -0
  5. data/docs/AdditionalCampaignProperties.md +3 -1
  6. data/docs/AnalyticsDataPoint.md +19 -0
  7. data/docs/AnalyticsDataPointWithTrend.md +19 -0
  8. data/docs/AnalyticsDataPointWithTrendAndInfluencedRate.md +21 -0
  9. data/docs/AnalyticsDataPointWithTrendAndUplift.md +21 -0
  10. data/docs/Application.md +4 -0
  11. data/docs/ApplicationAnalyticsDataPoint.md +6 -6
  12. data/docs/ApplicationCIF.md +33 -0
  13. data/docs/ApplicationCIFExpression.md +27 -0
  14. data/docs/ApplicationCampaignAnalytics.md +13 -19
  15. data/docs/ApplicationCampaignStats.md +1 -3
  16. data/docs/AsyncCouponDeletionJobResponse.md +17 -0
  17. data/docs/BaseLoyaltyProgram.md +8 -4
  18. data/docs/BaseNotification.md +1 -1
  19. data/docs/BaseNotificationEntity.md +1 -1
  20. data/docs/Campaign.md +15 -1
  21. data/docs/CampaignCollectionEditedNotification.md +21 -0
  22. data/docs/CampaignNotificationPolicy.md +3 -1
  23. data/docs/CampaignStateChangedNotification.md +2 -2
  24. data/docs/CampaignStoreBudget.md +25 -0
  25. data/docs/CampaignVersions.md +27 -0
  26. data/docs/CardAddedDeductedPointsNotificationPolicy.md +19 -0
  27. data/docs/CartItem.md +1 -1
  28. data/docs/CodeGeneratorSettings.md +1 -1
  29. data/docs/Coupon.md +3 -3
  30. data/docs/CouponConstraints.md +1 -1
  31. data/docs/CouponCreationJob.md +1 -1
  32. data/docs/CouponDeletionFilters.md +43 -0
  33. data/docs/CouponDeletionJob.md +39 -0
  34. data/docs/CustomerInventory.md +1 -1
  35. data/docs/CustomerSessionV2.md +2 -2
  36. data/docs/Effect.md +8 -0
  37. data/docs/EffectEntity.md +9 -1
  38. data/docs/Environment.md +3 -1
  39. data/docs/Event.md +1 -1
  40. data/docs/GenerateCampaignDescription.md +19 -0
  41. data/docs/GenerateCampaignTags.md +17 -0
  42. data/docs/GenerateItemFilterDescription.md +17 -0
  43. data/docs/GenerateLoyaltyCard.md +19 -0
  44. data/docs/GenerateRuleTitle.md +19 -0
  45. data/docs/GenerateRuleTitleRule.md +19 -0
  46. data/docs/IncreaseAchievementProgressEffectProps.md +1 -1
  47. data/docs/InlineResponse20044.md +1 -1
  48. data/docs/IntegrationApi.md +77 -16
  49. data/docs/IntegrationCoupon.md +3 -3
  50. data/docs/InventoryCoupon.md +3 -3
  51. data/docs/InventoryReferral.md +1 -1
  52. data/docs/LoyaltyBalanceWithTier.md +31 -0
  53. data/docs/LoyaltyBalancesWithTiers.md +19 -0
  54. data/docs/LoyaltyCard.md +6 -2
  55. data/docs/LoyaltyCardBalances.md +21 -0
  56. data/docs/LoyaltyCardBatch.md +21 -0
  57. data/docs/LoyaltyCardBatchResponse.md +19 -0
  58. data/docs/LoyaltyCardProfileRegistration.md +1 -1
  59. data/docs/LoyaltyProgram.md +14 -6
  60. data/docs/ManagementApi.md +1269 -176
  61. data/docs/MessageLogEntry.md +1 -3
  62. data/docs/MessageLogResponse.md +3 -3
  63. data/docs/NewAppWideCouponDeletionJob.md +19 -0
  64. data/docs/NewApplication.md +3 -1
  65. data/docs/NewApplicationCIF.md +27 -0
  66. data/docs/NewApplicationCIFExpression.md +21 -0
  67. data/docs/NewBaseNotification.md +1 -1
  68. data/docs/NewCouponCreationJob.md +1 -1
  69. data/docs/NewCouponDeletionJob.md +17 -0
  70. data/docs/NewCoupons.md +2 -2
  71. data/docs/NewCouponsForMultipleRecipients.md +1 -1
  72. data/docs/NewCustomerSessionV2.md +2 -2
  73. data/docs/NewExternalInvitation.md +21 -0
  74. data/docs/NewLoyaltyProgram.md +8 -4
  75. data/docs/NewOutgoingIntegrationWebhook.md +2 -0
  76. data/docs/NewReferral.md +1 -1
  77. data/docs/NewReferralsForMultipleAdvocates.md +1 -1
  78. data/docs/NewRevisionVersion.md +37 -0
  79. data/docs/NewWebhook.md +2 -0
  80. data/docs/OktaEvent.md +19 -0
  81. data/docs/OktaEventPayload.md +17 -0
  82. data/docs/OktaEventPayloadData.md +17 -0
  83. data/docs/OktaEventTarget.md +21 -0
  84. data/docs/ProjectedTier.md +21 -0
  85. data/docs/Referral.md +1 -1
  86. data/docs/ReferralConstraints.md +1 -1
  87. data/docs/RejectCouponEffectProps.md +3 -1
  88. data/docs/RejectReferralEffectProps.md +3 -1
  89. data/docs/Revision.md +35 -0
  90. data/docs/RevisionActivation.md +17 -0
  91. data/docs/RevisionVersion.md +53 -0
  92. data/docs/RollbackIncreasedAchievementProgressEffectProps.md +27 -0
  93. data/docs/RuleFailureReason.md +5 -1
  94. data/docs/SSOConfig.md +3 -1
  95. data/docs/ScimBaseUser.md +23 -0
  96. data/docs/ScimBaseUserName.md +17 -0
  97. data/docs/ScimNewUser.md +23 -0
  98. data/docs/ScimPatchOperation.md +21 -0
  99. data/docs/ScimPatchRequest.md +19 -0
  100. data/docs/ScimResource.md +21 -0
  101. data/docs/ScimResourceTypesListResponse.md +17 -0
  102. data/docs/ScimSchemaResource.md +23 -0
  103. data/docs/ScimSchemasListResponse.md +21 -0
  104. data/docs/ScimServiceProviderConfigResponse.md +27 -0
  105. data/docs/ScimServiceProviderConfigResponseBulk.md +21 -0
  106. data/docs/ScimServiceProviderConfigResponseChangePassword.md +17 -0
  107. data/docs/ScimServiceProviderConfigResponseFilter.md +19 -0
  108. data/docs/ScimServiceProviderConfigResponsePatch.md +17 -0
  109. data/docs/ScimUser.md +25 -0
  110. data/docs/ScimUsersListResponse.md +21 -0
  111. data/docs/Tier.md +3 -1
  112. data/docs/TransferLoyaltyCard.md +3 -1
  113. data/docs/UpdateApplication.md +5 -1
  114. data/docs/UpdateApplicationCIF.md +23 -0
  115. data/docs/UpdateCampaign.md +1 -1
  116. data/docs/UpdateCoupon.md +2 -2
  117. data/docs/UpdateCouponBatch.md +1 -1
  118. data/docs/UpdateLoyaltyCard.md +4 -2
  119. data/docs/UpdateLoyaltyProgram.md +8 -4
  120. data/docs/UpdateReferral.md +1 -1
  121. data/docs/UpdateReferralBatch.md +1 -1
  122. data/docs/UpdateUser.md +1 -1
  123. data/docs/User.md +3 -1
  124. data/docs/Webhook.md +2 -0
  125. data/docs/WebhookWithOutgoingIntegrationDetails.md +2 -0
  126. data/lib/talon_one/api/integration_api.rb +101 -25
  127. data/lib/talon_one/api/management_api.rb +1362 -189
  128. data/lib/talon_one/models/achievement_progress.rb +16 -1
  129. data/lib/talon_one/models/activate_user_request.rb +213 -0
  130. data/lib/talon_one/models/additional_campaign_properties.rb +21 -6
  131. data/lib/talon_one/models/analytics_data_point.rb +225 -0
  132. data/lib/talon_one/models/analytics_data_point_with_trend.rb +225 -0
  133. data/lib/talon_one/models/analytics_data_point_with_trend_and_influenced_rate.rb +239 -0
  134. data/lib/talon_one/models/analytics_data_point_with_trend_and_uplift.rb +239 -0
  135. data/lib/talon_one/models/application.rb +21 -1
  136. data/lib/talon_one/models/application_analytics_data_point.rb +14 -4
  137. data/lib/talon_one/models/application_campaign_analytics.rb +39 -41
  138. data/lib/talon_one/models/application_campaign_stats.rb +1 -16
  139. data/lib/talon_one/models/application_cif.rb +308 -0
  140. data/lib/talon_one/models/application_cif_expression.rb +275 -0
  141. data/lib/talon_one/models/async_coupon_deletion_job_response.rb +213 -0
  142. data/lib/talon_one/models/attribute.rb +2 -2
  143. data/lib/talon_one/models/base_loyalty_program.rb +44 -25
  144. data/lib/talon_one/models/base_notification.rb +3 -2
  145. data/lib/talon_one/models/base_notification_entity.rb +1 -0
  146. data/lib/talon_one/models/campaign.rb +83 -6
  147. data/lib/talon_one/models/campaign_collection_edited_notification.rb +235 -0
  148. data/lib/talon_one/models/campaign_notification_policy.rb +16 -4
  149. data/lib/talon_one/models/campaign_state_changed_notification.rb +2 -2
  150. data/lib/talon_one/models/campaign_store_budget.rb +275 -0
  151. data/lib/talon_one/models/campaign_versions.rb +259 -0
  152. data/lib/talon_one/models/card_added_deducted_points_notification_policy.rb +269 -0
  153. data/lib/talon_one/models/cart_item.rb +1 -1
  154. data/lib/talon_one/models/code_generator_settings.rb +1 -1
  155. data/lib/talon_one/models/coupon.rb +3 -3
  156. data/lib/talon_one/models/coupon_constraints.rb +1 -1
  157. data/lib/talon_one/models/coupon_creation_job.rb +1 -1
  158. data/lib/talon_one/models/coupon_deletion_filters.rb +375 -0
  159. data/lib/talon_one/models/coupon_deletion_job.rb +370 -0
  160. data/lib/talon_one/models/customer_inventory.rb +1 -1
  161. data/lib/talon_one/models/customer_session_v2.rb +2 -2
  162. data/lib/talon_one/models/effect.rb +41 -1
  163. data/lib/talon_one/models/effect_entity.rb +44 -4
  164. data/lib/talon_one/models/environment.rb +16 -4
  165. data/lib/talon_one/models/event.rb +0 -5
  166. data/lib/talon_one/models/generate_campaign_description.rb +227 -0
  167. data/lib/talon_one/models/generate_campaign_tags.rb +212 -0
  168. data/lib/talon_one/models/generate_item_filter_description.rb +214 -0
  169. data/lib/talon_one/models/generate_loyalty_card.rb +256 -0
  170. data/lib/talon_one/models/generate_rule_title.rb +226 -0
  171. data/lib/talon_one/models/generate_rule_title_rule.rb +221 -0
  172. data/lib/talon_one/models/increase_achievement_progress_effect_props.rb +1 -1
  173. data/lib/talon_one/models/inline_response20044.rb +1 -1
  174. data/lib/talon_one/models/integration_coupon.rb +3 -3
  175. data/lib/talon_one/models/inventory_coupon.rb +3 -3
  176. data/lib/talon_one/models/inventory_referral.rb +1 -1
  177. data/lib/talon_one/models/loyalty_balance_with_tier.rb +276 -0
  178. data/lib/talon_one/models/loyalty_balances_with_tiers.rb +219 -0
  179. data/lib/talon_one/models/loyalty_card.rb +25 -5
  180. data/lib/talon_one/models/loyalty_card_balances.rb +231 -0
  181. data/lib/talon_one/models/loyalty_card_batch.rb +304 -0
  182. data/lib/talon_one/models/loyalty_card_batch_response.rb +227 -0
  183. data/lib/talon_one/models/loyalty_card_profile_registration.rb +1 -1
  184. data/lib/talon_one/models/loyalty_program.rb +70 -29
  185. data/lib/talon_one/models/message_log_entry.rb +4 -14
  186. data/lib/talon_one/models/message_log_response.rb +3 -22
  187. data/lib/talon_one/models/new_app_wide_coupon_deletion_job.rb +227 -0
  188. data/lib/talon_one/models/new_application.rb +14 -4
  189. data/lib/talon_one/models/new_application_cif.rb +262 -0
  190. data/lib/talon_one/models/new_application_cif_expression.rb +229 -0
  191. data/lib/talon_one/models/new_attribute.rb +2 -2
  192. data/lib/talon_one/models/new_base_notification.rb +1 -0
  193. data/lib/talon_one/models/new_coupon_creation_job.rb +1 -1
  194. data/lib/talon_one/models/new_coupon_deletion_job.rb +211 -0
  195. data/lib/talon_one/models/new_coupons.rb +2 -2
  196. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +1 -1
  197. data/lib/talon_one/models/new_customer_session_v2.rb +2 -2
  198. data/lib/talon_one/models/new_external_invitation.rb +235 -0
  199. data/lib/talon_one/models/new_loyalty_program.rb +44 -25
  200. data/lib/talon_one/models/new_notification_test.rb +2 -2
  201. data/lib/talon_one/models/new_outgoing_integration_webhook.rb +11 -1
  202. data/lib/talon_one/models/new_referral.rb +1 -1
  203. data/lib/talon_one/models/new_referrals_for_multiple_advocates.rb +1 -1
  204. data/lib/talon_one/models/new_revision_version.rb +352 -0
  205. data/lib/talon_one/models/new_webhook.rb +11 -1
  206. data/lib/talon_one/models/okta_event.rb +229 -0
  207. data/lib/talon_one/models/okta_event_payload.rb +212 -0
  208. data/lib/talon_one/models/okta_event_payload_data.rb +214 -0
  209. data/lib/talon_one/models/okta_event_target.rb +243 -0
  210. data/lib/talon_one/models/projected_tier.rb +232 -0
  211. data/lib/talon_one/models/referral.rb +1 -1
  212. data/lib/talon_one/models/referral_constraints.rb +1 -1
  213. data/lib/talon_one/models/reject_coupon_effect_props.rb +14 -4
  214. data/lib/talon_one/models/reject_referral_effect_props.rb +14 -4
  215. data/lib/talon_one/models/revision.rb +319 -0
  216. data/lib/talon_one/models/revision_activation.rb +206 -0
  217. data/lib/talon_one/models/revision_version.rb +466 -0
  218. data/lib/talon_one/models/rollback_increased_achievement_progress_effect_props.rb +288 -0
  219. data/lib/talon_one/models/rule_failure_reason.rb +24 -4
  220. data/lib/talon_one/models/scim_base_user.rb +237 -0
  221. data/lib/talon_one/models/scim_base_user_name.rb +208 -0
  222. data/lib/talon_one/models/scim_new_user.rb +237 -0
  223. data/lib/talon_one/models/scim_patch_operation.rb +267 -0
  224. data/lib/talon_one/models/scim_patch_request.rb +226 -0
  225. data/lib/talon_one/models/scim_resource.rb +228 -0
  226. data/lib/talon_one/models/scim_resource_types_list_response.rb +214 -0
  227. data/lib/talon_one/models/scim_schema_resource.rb +239 -0
  228. data/lib/talon_one/models/scim_schemas_list_response.rb +236 -0
  229. data/lib/talon_one/models/scim_service_provider_config_response.rb +256 -0
  230. data/lib/talon_one/models/scim_service_provider_config_response_bulk.rb +228 -0
  231. data/lib/talon_one/models/scim_service_provider_config_response_change_password.rb +208 -0
  232. data/lib/talon_one/models/scim_service_provider_config_response_filter.rb +218 -0
  233. data/lib/talon_one/models/scim_service_provider_config_response_patch.rb +208 -0
  234. data/lib/talon_one/models/scim_user.rb +252 -0
  235. data/lib/talon_one/models/scim_users_list_response.rb +236 -0
  236. data/lib/talon_one/models/sso_config.rb +14 -4
  237. data/lib/talon_one/models/tier.rb +12 -2
  238. data/lib/talon_one/models/transfer_loyalty_card.rb +14 -4
  239. data/lib/talon_one/models/update_application.rb +24 -4
  240. data/lib/talon_one/models/update_application_cif.rb +237 -0
  241. data/lib/talon_one/models/update_campaign.rb +1 -1
  242. data/lib/talon_one/models/update_coupon.rb +2 -2
  243. data/lib/talon_one/models/update_coupon_batch.rb +1 -1
  244. data/lib/talon_one/models/update_loyalty_card.rb +15 -5
  245. data/lib/talon_one/models/update_loyalty_program.rb +44 -25
  246. data/lib/talon_one/models/update_referral.rb +1 -1
  247. data/lib/talon_one/models/update_referral_batch.rb +1 -1
  248. data/lib/talon_one/models/update_user.rb +1 -1
  249. data/lib/talon_one/models/user.rb +14 -4
  250. data/lib/talon_one/models/webhook.rb +11 -1
  251. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +11 -1
  252. data/lib/talon_one/version.rb +1 -1
  253. data/lib/talon_one.rb +57 -11
  254. data/spec/api/integration_api_spec.rb +25 -10
  255. data/spec/api/management_api_spec.rb +267 -39
  256. data/spec/models/achievement_progress_spec.rb +6 -0
  257. data/spec/models/activate_user_request_spec.rb +41 -0
  258. data/spec/models/additional_campaign_properties_spec.rb +7 -1
  259. data/spec/models/analytics_data_point_spec.rb +47 -0
  260. data/spec/models/analytics_data_point_with_trend_and_influenced_rate_spec.rb +53 -0
  261. data/spec/models/analytics_data_point_with_trend_and_uplift_spec.rb +53 -0
  262. data/spec/models/analytics_data_point_with_trend_spec.rb +47 -0
  263. data/spec/models/application_campaign_analytics_spec.rb +1 -19
  264. data/spec/models/application_campaign_stats_spec.rb +0 -6
  265. data/spec/models/application_cif_expression_spec.rb +71 -0
  266. data/spec/models/application_cif_spec.rb +89 -0
  267. data/spec/models/application_spec.rb +12 -0
  268. data/spec/models/async_coupon_deletion_job_response_spec.rb +41 -0
  269. data/spec/models/attribute_spec.rb +1 -1
  270. data/spec/models/base_loyalty_program_spec.rb +18 -6
  271. data/spec/models/base_notification_spec.rb +1 -1
  272. data/spec/models/campaign_collection_edited_notification_spec.rb +53 -0
  273. data/spec/models/campaign_notification_policy_spec.rb +6 -0
  274. data/spec/models/campaign_spec.rb +43 -1
  275. data/spec/models/campaign_store_budget_spec.rb +65 -0
  276. data/spec/models/campaign_versions_spec.rb +71 -0
  277. data/spec/models/card_added_deducted_points_notification_policy_spec.rb +51 -0
  278. data/spec/models/coupon_deletion_filters_spec.rb +123 -0
  279. data/spec/models/coupon_deletion_job_spec.rb +107 -0
  280. data/spec/models/effect_entity_spec.rb +24 -0
  281. data/spec/models/effect_spec.rb +24 -0
  282. data/spec/models/environment_spec.rb +6 -0
  283. data/spec/models/generate_campaign_description_spec.rb +47 -0
  284. data/spec/models/generate_campaign_tags_spec.rb +41 -0
  285. data/spec/models/generate_item_filter_description_spec.rb +41 -0
  286. data/spec/models/generate_loyalty_card_spec.rb +51 -0
  287. data/spec/models/generate_rule_title_rule_spec.rb +47 -0
  288. data/spec/models/generate_rule_title_spec.rb +47 -0
  289. data/spec/models/loyalty_balance_with_tier_spec.rb +83 -0
  290. data/spec/models/loyalty_balances_with_tiers_spec.rb +47 -0
  291. data/spec/models/loyalty_card_balances_spec.rb +53 -0
  292. data/spec/models/loyalty_card_batch_response_spec.rb +47 -0
  293. data/spec/models/loyalty_card_batch_spec.rb +57 -0
  294. data/spec/models/loyalty_card_spec.rb +12 -0
  295. data/spec/models/loyalty_program_spec.rb +30 -6
  296. data/spec/models/message_log_entry_spec.rb +1 -7
  297. data/spec/models/new_app_wide_coupon_deletion_job_spec.rb +47 -0
  298. data/spec/models/new_application_cif_expression_spec.rb +53 -0
  299. data/spec/models/new_application_cif_spec.rb +71 -0
  300. data/spec/models/new_application_spec.rb +6 -0
  301. data/spec/models/new_attribute_spec.rb +1 -1
  302. data/spec/models/new_coupon_deletion_job_spec.rb +41 -0
  303. data/spec/models/new_external_invitation_spec.rb +53 -0
  304. data/spec/models/new_loyalty_program_spec.rb +18 -6
  305. data/spec/models/new_notification_test_spec.rb +1 -1
  306. data/spec/models/new_outgoing_integration_webhook_spec.rb +6 -0
  307. data/spec/models/new_revision_version_spec.rb +105 -0
  308. data/spec/models/new_webhook_spec.rb +6 -0
  309. data/spec/models/okta_event_payload_data_spec.rb +41 -0
  310. data/spec/models/okta_event_payload_spec.rb +41 -0
  311. data/spec/models/okta_event_spec.rb +47 -0
  312. data/spec/models/okta_event_target_spec.rb +53 -0
  313. data/spec/models/projected_tier_spec.rb +53 -0
  314. data/spec/models/reject_coupon_effect_props_spec.rb +6 -0
  315. data/spec/models/reject_referral_effect_props_spec.rb +6 -0
  316. data/spec/models/revision_activation_spec.rb +41 -0
  317. data/spec/models/revision_spec.rb +95 -0
  318. data/spec/models/revision_version_spec.rb +153 -0
  319. data/spec/models/rollback_increased_achievement_progress_effect_props_spec.rb +71 -0
  320. data/spec/models/rule_failure_reason_spec.rb +12 -0
  321. data/spec/models/scim_base_user_name_spec.rb +41 -0
  322. data/spec/models/scim_base_user_spec.rb +59 -0
  323. data/spec/models/scim_new_user_spec.rb +59 -0
  324. data/spec/models/scim_patch_operation_spec.rb +57 -0
  325. data/spec/models/scim_patch_request_spec.rb +47 -0
  326. data/spec/models/scim_resource_spec.rb +53 -0
  327. data/spec/models/scim_resource_types_list_response_spec.rb +41 -0
  328. data/spec/models/scim_schema_resource_spec.rb +59 -0
  329. data/spec/models/scim_schemas_list_response_spec.rb +53 -0
  330. data/spec/models/scim_service_provider_config_response_bulk_spec.rb +53 -0
  331. data/spec/models/scim_service_provider_config_response_change_password_spec.rb +41 -0
  332. data/spec/models/scim_service_provider_config_response_filter_spec.rb +47 -0
  333. data/spec/models/scim_service_provider_config_response_patch_spec.rb +41 -0
  334. data/spec/models/scim_service_provider_config_response_spec.rb +71 -0
  335. data/spec/models/scim_user_spec.rb +65 -0
  336. data/spec/models/scim_users_list_response_spec.rb +53 -0
  337. data/spec/models/sso_config_spec.rb +6 -0
  338. data/spec/models/tier_spec.rb +6 -0
  339. data/spec/models/transfer_loyalty_card_spec.rb +6 -0
  340. data/spec/models/update_application_cif_spec.rb +59 -0
  341. data/spec/models/update_application_spec.rb +12 -0
  342. data/spec/models/update_loyalty_card_spec.rb +6 -0
  343. data/spec/models/update_loyalty_program_spec.rb +18 -6
  344. data/spec/models/user_spec.rb +6 -0
  345. data/spec/models/webhook_spec.rb +6 -0
  346. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  347. metadata +246 -18
data/docs/User.md CHANGED
@@ -20,6 +20,7 @@ Name | Type | Description | Notes
20
20
  **last_signed_in** | **DateTime** | Timestamp when the user last signed in to Talon.One. | [optional]
21
21
  **last_accessed** | **DateTime** | Timestamp of the user's last activity after signing in to Talon.One. | [optional]
22
22
  **latest_feed_timestamp** | **DateTime** | Timestamp when the user was notified for feed. | [optional]
23
+ **additional_attributes** | [**Object**](.md) | Additional user attributes, created and used by external identity providers. | [optional]
23
24
 
24
25
  ## Code Sample
25
26
 
@@ -41,7 +42,8 @@ instance = TalonOne::User.new(id: 6,
41
42
  application_notification_subscriptions: null,
42
43
  last_signed_in: 2021-09-12T10:12:42Z,
43
44
  last_accessed: 2021-09-12T10:14:42Z,
44
- latest_feed_timestamp: 2020-06-01T00:00Z)
45
+ latest_feed_timestamp: 2020-06-01T00:00Z,
46
+ additional_attributes: null)
45
47
  ```
46
48
 
47
49
 
data/docs/Webhook.md CHANGED
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
9
9
  **modified** | **DateTime** | The time this entity was last modified. |
10
10
  **application_ids** | **Array<Integer>** | The IDs of the Applications that are related to this entity. The IDs of the Applications that are related to this entity. |
11
11
  **title** | **String** | Name or title for this webhook. |
12
+ **description** | **String** | A description of the webhook. | [optional]
12
13
  **verb** | **String** | API method for this webhook. |
13
14
  **url** | **String** | API URL (supports templating using parameters) for this webhook. |
14
15
  **headers** | **Array<String>** | List of API HTTP headers for this webhook. |
@@ -26,6 +27,7 @@ instance = TalonOne::Webhook.new(id: 6,
26
27
  modified: 2021-09-12T10:12:42Z,
27
28
  application_ids: null,
28
29
  title: Send message,
30
+ description: A webhook to send a coupon to the user.,
29
31
  verb: POST,
30
32
  url: www.my-company.com/my-endpoint-name,
31
33
  headers: [{"Authorization": "Basic bmF2ZWVua3VtYXIU="}, {"Content-Type": "application/json"}],
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
9
9
  **modified** | **DateTime** | The time this entity was last modified. |
10
10
  **application_ids** | **Array<Integer>** | The IDs of the Applications that are related to this entity. The IDs of the Applications that are related to this entity. |
11
11
  **title** | **String** | Name or title for this webhook. |
12
+ **description** | **String** | A description of the webhook. | [optional]
12
13
  **verb** | **String** | API method for this webhook. |
13
14
  **url** | **String** | API URL (supports templating using parameters) for this webhook. |
14
15
  **headers** | **Array<String>** | List of API HTTP headers for this webhook. |
@@ -29,6 +30,7 @@ instance = TalonOne::WebhookWithOutgoingIntegrationDetails.new(id: 6,
29
30
  modified: 2021-09-12T10:12:42Z,
30
31
  application_ids: null,
31
32
  title: Send message,
33
+ description: A webhook to send a coupon to the user.,
32
34
  verb: POST,
33
35
  url: www.my-company.com/my-endpoint-name,
34
36
  headers: [{"Authorization": "Basic bmF2ZWVua3VtYXIU="}, {"Content-Type": "application/json"}],
@@ -84,7 +84,7 @@ module TalonOne
84
84
  end
85
85
 
86
86
  # Create coupon reservation
87
- # Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and `List customer data` to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. 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.
87
+ # Create a coupon reservation for the 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). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-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. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
88
88
  # @param coupon_value [String] The code of the coupon.
89
89
  # @param body [CouponReservations] body
90
90
  # @param [Hash] opts the optional parameters
@@ -95,7 +95,7 @@ module TalonOne
95
95
  end
96
96
 
97
97
  # Create coupon reservation
98
- # Create a coupon reservation for specified customer profiles on the specified coupon. You can also create a reservation via the Campaign Manager using the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). Reserving a coupon allows you to associate a coupon code to a given customer(s). You can then list the reserved coupons of a given customer with the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. If a coupon gets created for a specific user, it will automatically appear in their coupons. When a user redeems a coupon, a reservation is automatically created after the redemption and the used coupon will be returned in the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint. For example, you can use this endpoint and &#x60;List customer data&#x60; to create a _coupon wallet_ by reserving coupon codes for a customer, and then displaying their coupon wallet when they visit your store. 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. &lt;div class&#x3D;\&quot;redoc-section\&quot;&gt; &lt;p class&#x3D;\&quot;title\&quot;&gt;Important&lt;/p&gt; This endpoint creates a **soft** reservation. _Any_ customer can use a reserved coupon code and proceed to checkout. To create a hard reservation, you can: - use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) endpoint or, - use the [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoint setting the &#x60;recipientsIntegrationId&#x60; property or, - create a coupon code with the **Reservation mandatory** option then use the [Create coupon code reservation effect](https://docs.talon.one/docs/product/rules/effects/using-effects#reserving-a-coupon-code). This endpoint overrides the reservation limit set for the coupon code during coupon creation. &lt;/div&gt; 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 the 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). - If the **Reservation mandatory** option was selected when creating the specified coupon, the endpoint creates a **hard** reservation, meaning only users who have this coupon code reserved can redeem it. Otherwise, the endpoint creates a **soft** reservation, meaning the coupon will be associated with the specified customer profiles (they show up when using the [List customer data](https://docs.talon.one/integration-api#operation/getCustomerInventory) endpoint), but any user can redeem it. This can be useful, for example, to display a _coupon wallet_ for customers when they visit your store. - If the **Coupon visibility** option was selected when creating the specified coupon, the coupon code is implicitly soft-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. To delete a reservation, use the [Delete reservation](https://docs.talon.one/integration-api#tag/Coupons/operation/deleteCouponReservation) endpoint.
99
99
  # @param coupon_value [String] The code of the coupon.
100
100
  # @param body [CouponReservations] body
101
101
  # @param [Hash] opts the optional parameters
@@ -540,6 +540,76 @@ module TalonOne
540
540
  return data, status_code, headers
541
541
  end
542
542
 
543
+ # Generate loyalty card
544
+ # Generate a loyalty card in a specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview). To link the card to one or more customer profiles, use the `customerProfileIds` parameter in the request body. **Note:** - The number of customer profiles linked to the loyalty card cannot exceed the loyalty program's `usersPerCardLimit`. To find the program's limit, use the [Get loyalty program](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgram) endpoint. - If the loyalty program has a defined code format, it will be used for the loyalty card identifier.
545
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
546
+ # @param body [GenerateLoyaltyCard] body
547
+ # @param [Hash] opts the optional parameters
548
+ # @return [LoyaltyCard]
549
+ def generate_loyalty_card(loyalty_program_id, body, opts = {})
550
+ data, _status_code, _headers = generate_loyalty_card_with_http_info(loyalty_program_id, body, opts)
551
+ data
552
+ end
553
+
554
+ # Generate loyalty card
555
+ # Generate a loyalty card in a specified [card-based loyalty program](https://docs.talon.one/docs/product/loyalty-programs/card-based/card-based-overview). To link the card to one or more customer profiles, use the &#x60;customerProfileIds&#x60; parameter in the request body. **Note:** - The number of customer profiles linked to the loyalty card cannot exceed the loyalty program&#39;s &#x60;usersPerCardLimit&#x60;. To find the program&#39;s limit, use the [Get loyalty program](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyProgram) endpoint. - If the loyalty program has a defined code format, it will be used for the loyalty card identifier.
556
+ # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
557
+ # @param body [GenerateLoyaltyCard] body
558
+ # @param [Hash] opts the optional parameters
559
+ # @return [Array<(LoyaltyCard, Integer, Hash)>] LoyaltyCard data, response status code and response headers
560
+ def generate_loyalty_card_with_http_info(loyalty_program_id, body, opts = {})
561
+ if @api_client.config.debugging
562
+ @api_client.config.logger.debug 'Calling API: IntegrationApi.generate_loyalty_card ...'
563
+ end
564
+ # verify the required parameter 'loyalty_program_id' is set
565
+ if @api_client.config.client_side_validation && loyalty_program_id.nil?
566
+ fail ArgumentError, "Missing the required parameter 'loyalty_program_id' when calling IntegrationApi.generate_loyalty_card"
567
+ end
568
+ # verify the required parameter 'body' is set
569
+ if @api_client.config.client_side_validation && body.nil?
570
+ fail ArgumentError, "Missing the required parameter 'body' when calling IntegrationApi.generate_loyalty_card"
571
+ end
572
+ # resource path
573
+ local_var_path = '/v1/loyalty_programs/{loyaltyProgramId}/cards'.sub('{' + 'loyaltyProgramId' + '}', CGI.escape(loyalty_program_id.to_s))
574
+
575
+ # query parameters
576
+ query_params = opts[:query_params] || {}
577
+
578
+ # header parameters
579
+ header_params = opts[:header_params] || {}
580
+ # HTTP header 'Accept' (if needed)
581
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
582
+ # HTTP header 'Content-Type'
583
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
584
+
585
+ # form parameters
586
+ form_params = opts[:form_params] || {}
587
+
588
+ # http body (model)
589
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
590
+
591
+ # return_type
592
+ return_type = opts[:return_type] || 'LoyaltyCard'
593
+
594
+ # auth_names
595
+ auth_names = opts[:auth_names] || ['api_key_v1']
596
+
597
+ new_options = opts.merge(
598
+ :header_params => header_params,
599
+ :query_params => query_params,
600
+ :form_params => form_params,
601
+ :body => post_body,
602
+ :auth_names => auth_names,
603
+ :return_type => return_type
604
+ )
605
+
606
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
607
+ if @api_client.config.debugging
608
+ @api_client.config.logger.debug "API called: IntegrationApi#generate_loyalty_card\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
609
+ end
610
+ return data, status_code, headers
611
+ end
612
+
543
613
  # List customer data
544
614
  # Return the customer inventory regarding entities referencing this customer profile's `integrationId`. Typical entities returned are: customer profile information, referral codes, loyalty points, loyalty cards and reserved coupons. Reserved coupons also include redeemed coupons.
545
615
  # @param integration_id [String] The integration ID of the customer profile. You can get the &#x60;integrationId&#x60; of a profile using: - A customer session integration ID with the [Update customer session](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint. - The Management API with the [List application&#39;s customers](https://docs.talon.one/management-api#operation/getApplicationCustomers) endpoint.
@@ -683,26 +753,30 @@ module TalonOne
683
753
  end
684
754
 
685
755
  # Get customer's loyalty points
686
- # 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)
756
+ # 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)
687
757
  # @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.
688
758
  # @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.
689
759
  # @param [Hash] opts the optional parameters
690
760
  # @option opts [DateTime] :end_date 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.
691
- # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
692
- # @return [LoyaltyBalances]
761
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
762
+ # @option opts [Boolean] :include_tiers Indicates whether tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the current tier and the number of points required to move to next tier. (default to false)
763
+ # @option opts [Boolean] :include_projected_tier Indicates whether the customer&#39;s projected tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the customer’s active points and the name of the projected tier. **Note** We recommend filtering by &#x60;subledgerId&#x60; for better performance. (default to false)
764
+ # @return [LoyaltyBalancesWithTiers]
693
765
  def get_loyalty_balances(loyalty_program_id, integration_id, opts = {})
694
766
  data, _status_code, _headers = get_loyalty_balances_with_http_info(loyalty_program_id, integration_id, opts)
695
767
  data
696
768
  end
697
769
 
698
770
  # Get customer&#39;s loyalty points
699
- # 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)
771
+ # 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)
700
772
  # @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.
701
773
  # @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.
702
774
  # @param [Hash] opts the optional parameters
703
775
  # @option opts [DateTime] :end_date 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.
704
- # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
705
- # @return [Array<(LoyaltyBalances, Integer, Hash)>] LoyaltyBalances data, response status code and response headers
776
+ # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
777
+ # @option opts [Boolean] :include_tiers Indicates whether tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the current tier and the number of points required to move to next tier.
778
+ # @option opts [Boolean] :include_projected_tier Indicates whether the customer&#39;s projected tier information is included in the response. When set to &#x60;true&#x60;, the response includes information about the customer’s active points and the name of the projected tier. **Note** We recommend filtering by &#x60;subledgerId&#x60; for better performance.
779
+ # @return [Array<(LoyaltyBalancesWithTiers, Integer, Hash)>] LoyaltyBalancesWithTiers data, response status code and response headers
706
780
  def get_loyalty_balances_with_http_info(loyalty_program_id, integration_id, opts = {})
707
781
  if @api_client.config.debugging
708
782
  @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_balances ...'
@@ -721,7 +795,9 @@ module TalonOne
721
795
  # query parameters
722
796
  query_params = opts[:query_params] || {}
723
797
  query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
724
- query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :csv) if !opts[:'subledger_id'].nil?
798
+ query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
799
+ query_params[:'includeTiers'] = opts[:'include_tiers'] if !opts[:'include_tiers'].nil?
800
+ query_params[:'includeProjectedTier'] = opts[:'include_projected_tier'] if !opts[:'include_projected_tier'].nil?
725
801
 
726
802
  # header parameters
727
803
  header_params = opts[:header_params] || {}
@@ -735,7 +811,7 @@ module TalonOne
735
811
  post_body = opts[:body]
736
812
 
737
813
  # return_type
738
- return_type = opts[:return_type] || 'LoyaltyBalances'
814
+ return_type = opts[:return_type] || 'LoyaltyBalancesWithTiers'
739
815
 
740
816
  # auth_names
741
817
  auth_names = opts[:auth_names] || ['api_key_v1']
@@ -763,7 +839,7 @@ module TalonOne
763
839
  # @param [Hash] opts the optional parameters
764
840
  # @option opts [DateTime] :end_date 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.
765
841
  # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
766
- # @return [LoyaltyBalances]
842
+ # @return [LoyaltyCardBalances]
767
843
  def get_loyalty_card_balances(loyalty_program_id, loyalty_card_id, opts = {})
768
844
  data, _status_code, _headers = get_loyalty_card_balances_with_http_info(loyalty_program_id, loyalty_card_id, opts)
769
845
  data
@@ -776,7 +852,7 @@ module TalonOne
776
852
  # @param [Hash] opts the optional parameters
777
853
  # @option opts [DateTime] :end_date 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.
778
854
  # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
779
- # @return [Array<(LoyaltyBalances, Integer, Hash)>] LoyaltyBalances data, response status code and response headers
855
+ # @return [Array<(LoyaltyCardBalances, Integer, Hash)>] LoyaltyCardBalances data, response status code and response headers
780
856
  def get_loyalty_card_balances_with_http_info(loyalty_program_id, loyalty_card_id, opts = {})
781
857
  if @api_client.config.debugging
782
858
  @api_client.config.logger.debug 'Calling API: IntegrationApi.get_loyalty_card_balances ...'
@@ -813,7 +889,7 @@ module TalonOne
813
889
  post_body = opts[:body]
814
890
 
815
891
  # return_type
816
- return_type = opts[:return_type] || 'LoyaltyBalances'
892
+ return_type = opts[:return_type] || 'LoyaltyCardBalances'
817
893
 
818
894
  # auth_names
819
895
  auth_names = opts[:auth_names] || ['api_key_v1']
@@ -840,7 +916,7 @@ module TalonOne
840
916
  # @param 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.
841
917
  # @param [Hash] opts the optional parameters
842
918
  # @option opts [String] :status Filter points based on their status. (default to 'active')
843
- # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
919
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
844
920
  # @option opts [Integer] :page_size The number of items in the response. (default to 50)
845
921
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
846
922
  # @return [InlineResponse2003]
@@ -855,7 +931,7 @@ module TalonOne
855
931
  # @param 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.
856
932
  # @param [Hash] opts the optional parameters
857
933
  # @option opts [String] :status Filter points based on their status.
858
- # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
934
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
859
935
  # @option opts [Integer] :page_size The number of items in the response.
860
936
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
861
937
  # @return [Array<(InlineResponse2003, Integer, Hash)>] InlineResponse2003 data, response status code and response headers
@@ -893,7 +969,7 @@ module TalonOne
893
969
  # query parameters
894
970
  query_params = opts[:query_params] || {}
895
971
  query_params[:'status'] = opts[:'status'] if !opts[:'status'].nil?
896
- query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
972
+ query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :csv) if !opts[:'subledger_id'].nil?
897
973
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
898
974
  query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
899
975
 
@@ -935,7 +1011,7 @@ module TalonOne
935
1011
  # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
936
1012
  # @param 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.
937
1013
  # @param [Hash] opts the optional parameters
938
- # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1014
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
939
1015
  # @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.
940
1016
  # @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.
941
1017
  # @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.
@@ -952,7 +1028,7 @@ module TalonOne
952
1028
  # @param loyalty_program_id [Integer] Identifier of the card-based loyalty program containing the loyalty card. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
953
1029
  # @param 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.
954
1030
  # @param [Hash] opts the optional parameters
955
- # @option opts [String] :subledger_id The ID of the subledger by which we filter the data.
1031
+ # @option opts [Array<String>] :subledger_id Filter results by one or more subledger IDs. Must be exact match.
956
1032
  # @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.
957
1033
  # @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.
958
1034
  # @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.
@@ -992,7 +1068,7 @@ module TalonOne
992
1068
 
993
1069
  # query parameters
994
1070
  query_params = opts[:query_params] || {}
995
- query_params[:'subledgerId'] = opts[:'subledger_id'] if !opts[:'subledger_id'].nil?
1071
+ query_params[:'subledgerId'] = @api_client.build_collection_param(opts[:'subledger_id'], :csv) if !opts[:'subledger_id'].nil?
996
1072
  query_params[:'loyaltyTransactionType'] = opts[:'loyalty_transaction_type'] if !opts[:'loyalty_transaction_type'].nil?
997
1073
  query_params[:'startDate'] = opts[:'start_date'] if !opts[:'start_date'].nil?
998
1074
  query_params[:'endDate'] = opts[:'end_date'] if !opts[:'end_date'].nil?
@@ -1223,7 +1299,7 @@ module TalonOne
1223
1299
  end
1224
1300
 
1225
1301
  # List customers that have this coupon reserved
1226
- # Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given `recipientIntegrationId` or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints.
1302
+ # Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
1227
1303
  # @param coupon_value [String] The code of the coupon.
1228
1304
  # @param [Hash] opts the optional parameters
1229
1305
  # @return [InlineResponse200]
@@ -1233,7 +1309,7 @@ module TalonOne
1233
1309
  end
1234
1310
 
1235
1311
  # List customers that have this coupon reserved
1236
- # Return all customers that have this coupon marked as reserved. Coupons are reserved in the following ways: - To create a soft reservation (any customer can use the coupon), use the [Create coupon reservation](#operation/createCouponReservation) endpoint. - To create a hard reservation (only the given customer can use the coupon), create a coupon in the Campaign Manager for a given &#x60;recipientIntegrationId&#x60; or use the [Create coupons](https://docs.talon.one/management-api#operation/createCoupons) or [Create coupons for multiple recipients](https://docs.talon.one/management-api#operation/createCouponsForMultipleRecipients) endpoints.
1312
+ # Return all customers that have this coupon marked as reserved. This includes hard and soft reservations.
1237
1313
  # @param coupon_value [String] The code of the coupon.
1238
1314
  # @param [Hash] opts the optional parameters
1239
1315
  # @return [Array<(InlineResponse200, Integer, Hash)>] InlineResponse200 data, response status code and response headers
@@ -1500,7 +1576,7 @@ module TalonOne
1500
1576
  end
1501
1577
 
1502
1578
  # Sync cart item catalog
1503
- # 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>
1579
+ # Perform the following actions for a given cart item catalog: - Add an item to the catalog. - Add multiple items to the catalog. - Update the attributes of an item in the catalog. - Update the attributes of multiple items in the catalog. - Remove an item from the catalog. - Remove multiple items from the catalog. You can either 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**: You can perform only one type of action in a single sync request. 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 multiple 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>Updating 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>Updating the attributes of multiple 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 multiple 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>
1504
1580
  # @param catalog_id [Integer] The ID of the catalog. You can find the ID in the Campaign Manager in **Account** &gt; **Tools** &gt; **Cart item catalogs**.
1505
1581
  # @param body [CatalogSyncRequest] body
1506
1582
  # @param [Hash] opts the optional parameters
@@ -1511,7 +1587,7 @@ module TalonOne
1511
1587
  end
1512
1588
 
1513
1589
  # Sync cart item catalog
1514
- # 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 &#x60;SKU&#x60;. **Important**: Syncing items with duplicate &#x60;SKU&#x60; values in a single request returns an error message with a &#x60;400&#x60; 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 &#x60;filters&#x60; array contains an object with the following properties: - &#x60;attr&#x60;: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - &#x60;op&#x60;: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the &#x60;value&#x60; property for the attribute selected in &#x60;attr&#x60;. The value of &#x60;op&#x60; can be one of the following: - &#x60;EQ&#x60;: Equal to &#x60;value&#x60; - &#x60;LT&#x60;: Less than &#x60;value&#x60; - &#x60;LE&#x60;: Less than or equal to &#x60;value&#x60; - &#x60;GT&#x60;: Greater than &#x60;value&#x60; - &#x60;GE&#x60;: Greater than or equal to &#x60;value&#x60; - &#x60;IN&#x60;: One of the comma-separated values that &#x60;value&#x60; is set to. **Note:** &#x60;GE&#x60;, &#x60;LE&#x60;, &#x60;GT&#x60;, &#x60;LT&#x60; are for numeric values only. - &#x60;value&#x60;: The value of the attribute selected in &#x60;attr&#x60;. ### Payload examples Synchronization actions are sent as &#x60;PUT&#x60; requests. See the structure for each action: &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding an item to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding several items to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241027\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; }, { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Editing the attributes of an item in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;age\&quot;: 11, \&quot;origin\&quot;: \&quot;germany\&quot; }, \&quot;createIfNotExists\&quot;: false, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;PATCH\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Editing the attributes of several items in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;red\&quot; }, \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;PATCH_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing an item from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;sku\&quot;: \&quot;SKU1241028\&quot; }, \&quot;type\&quot;: \&quot;REMOVE\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing several items from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing shoes of sizes above 45 from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt; Let&#39;s imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:&lt;/p&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;size\&quot;, \&quot;op\&quot;: \&quot;GT\&quot;, \&quot;value\&quot;: \&quot;45\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt;
1590
+ # Perform the following actions for a given cart item catalog: - Add an item to the catalog. - Add multiple items to the catalog. - Update the attributes of an item in the catalog. - Update the attributes of multiple items in the catalog. - Remove an item from the catalog. - Remove multiple items from the catalog. You can either add, update, or delete up to 1000 cart items in a single request. Each item synced to a catalog must have a unique &#x60;SKU&#x60;. **Important**: You can perform only one type of action in a single sync request. Syncing items with duplicate &#x60;SKU&#x60; values in a single request returns an error message with a &#x60;400&#x60; 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 &#x60;filters&#x60; array contains an object with the following properties: - &#x60;attr&#x60;: A [cart item attribute](https://docs.talon.one/docs/product/account/dev-tools/managing-attributes) connected to the catalog. It is applied to all items in the catalog. - &#x60;op&#x60;: The filtering operator indicating the relationship between the value of each cart item in the catalog and the value of the &#x60;value&#x60; property for the attribute selected in &#x60;attr&#x60;. The value of &#x60;op&#x60; can be one of the following: - &#x60;EQ&#x60;: Equal to &#x60;value&#x60; - &#x60;LT&#x60;: Less than &#x60;value&#x60; - &#x60;LE&#x60;: Less than or equal to &#x60;value&#x60; - &#x60;GT&#x60;: Greater than &#x60;value&#x60; - &#x60;GE&#x60;: Greater than or equal to &#x60;value&#x60; - &#x60;IN&#x60;: One of the comma-separated values that &#x60;value&#x60; is set to. **Note:** &#x60;GE&#x60;, &#x60;LE&#x60;, &#x60;GT&#x60;, &#x60;LT&#x60; are for numeric values only. - &#x60;value&#x60;: The value of the attribute selected in &#x60;attr&#x60;. ### Payload examples Synchronization actions are sent as &#x60;PUT&#x60; requests. See the structure for each action: &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding an item to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Adding multiple items to the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241027\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; }, { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;Navy blue\&quot;, \&quot;type\&quot;: \&quot;shoes\&quot; }, \&quot;replaceIfExists\&quot;: true, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;price\&quot;: 100, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;ADD\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Updating the attributes of an item in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;age\&quot;: 11, \&quot;origin\&quot;: \&quot;germany\&quot; }, \&quot;createIfNotExists\&quot;: false, \&quot;sku\&quot;: \&quot;SKU1241028\&quot;, \&quot;product\&quot;: { \&quot;name\&quot;: \&quot;sneakers\&quot; } }, \&quot;type\&quot;: \&quot;PATCH\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Updating the attributes of multiple items in the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;attributes\&quot;: { \&quot;color\&quot;: \&quot;red\&quot; }, \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;PATCH_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing an item from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;sku\&quot;: \&quot;SKU1241028\&quot; }, \&quot;type\&quot;: \&quot;REMOVE\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing multiple items from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;color\&quot;, \&quot;op\&quot;: \&quot;EQ\&quot;, \&quot;value\&quot;: \&quot;blue\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt; &lt;details&gt; &lt;summary&gt;&lt;strong&gt;Removing shoes of sizes above 45 from the catalog&lt;/strong&gt;&lt;/summary&gt; &lt;div&gt; &lt;p&gt; Let&#39;s imagine that we have a shoe store and we have decided to stop selling shoes larger than size 45. We can remove from the catalog all the shoes of sizes above 45 with a single action:&lt;/p&gt; &#x60;&#x60;&#x60;json { \&quot;actions\&quot;: [ { \&quot;payload\&quot;: { \&quot;filters\&quot;: [ { \&quot;attr\&quot;: \&quot;size\&quot;, \&quot;op\&quot;: \&quot;GT\&quot;, \&quot;value\&quot;: \&quot;45\&quot; } ] }, \&quot;type\&quot;: \&quot;REMOVE_MANY\&quot; } ] } &#x60;&#x60;&#x60; &lt;/div&gt; &lt;/details&gt;
1515
1591
  # @param catalog_id [Integer] The ID of the catalog. You can find the ID in the Campaign Manager in **Account** &gt; **Tools** &gt; **Cart item catalogs**.
1516
1592
  # @param body [CatalogSyncRequest] body
1517
1593
  # @param [Hash] opts the optional parameters
@@ -1991,7 +2067,7 @@ module TalonOne
1991
2067
  # @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.
1992
2068
  # @param body [IntegrationRequest] body
1993
2069
  # @param [Hash] opts the optional parameters
1994
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - 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).
2070
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - The endpoint considers **only** 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).
1995
2071
  # @option opts [DateTime] :now 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;.
1996
2072
  # @return [IntegrationStateV2]
1997
2073
  def update_customer_session_v2(customer_session_id, body, opts = {})
@@ -2004,7 +2080,7 @@ module TalonOne
2004
2080
  # @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.
2005
2081
  # @param body [IntegrationRequest] body
2006
2082
  # @param [Hash] opts the optional parameters
2007
- # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - 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).
2083
+ # @option opts [Boolean] :dry Indicates whether to persist the changes. Changes are ignored when &#x60;dry&#x3D;true&#x60;. When set to &#x60;true&#x60;: - The endpoint considers **only** 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).
2008
2084
  # @option opts [DateTime] :now 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;.
2009
2085
  # @return [Array<(IntegrationStateV2, Integer, Hash)>] IntegrationStateV2 data, response status code and response headers
2010
2086
  def update_customer_session_v2_with_http_info(customer_session_id, body, opts = {})