talon_one 9.0.0 → 10.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 (258) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +39 -3
  3. data/docs/Account.md +1 -1
  4. data/docs/AccountAdditionalCost.md +1 -1
  5. data/docs/Achievement.md +2 -2
  6. data/docs/AchievementBase.md +1 -1
  7. data/docs/AchievementProgressWithDefinition.md +1 -1
  8. data/docs/AchievementStatusEntry.md +2 -2
  9. data/docs/AddPriceAdjustmentCatalogAction.md +19 -0
  10. data/docs/AddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  11. data/docs/Application.md +1 -1
  12. data/docs/ApplicationCIF.md +1 -1
  13. data/docs/ApplicationCIFExpression.md +1 -1
  14. data/docs/ApplicationCustomer.md +2 -2
  15. data/docs/ApplicationEvent.md +1 -1
  16. data/docs/ApplicationSession.md +1 -1
  17. data/docs/Attribute.md +1 -1
  18. data/docs/Audience.md +1 -1
  19. data/docs/AudienceCustomer.md +2 -2
  20. data/docs/BaseNotificationWebhook.md +1 -1
  21. data/docs/Binding.md +9 -1
  22. data/docs/CampaignCollection.md +1 -1
  23. data/docs/CampaignCollectionWithoutPayload.md +1 -1
  24. data/docs/CampaignDeactivationRequest.md +17 -0
  25. data/docs/CampaignGroup.md +1 -1
  26. data/docs/CampaignSet.md +1 -1
  27. data/docs/CampaignStoreBudget.md +1 -1
  28. data/docs/CampaignTemplate.md +1 -1
  29. data/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  30. data/docs/CartItem.md +12 -2
  31. data/docs/Catalog.md +1 -1
  32. data/docs/CatalogItem.md +1 -1
  33. data/docs/Change.md +1 -1
  34. data/docs/Collection.md +1 -1
  35. data/docs/CollectionWithoutPayload.md +1 -1
  36. data/docs/Coupon.md +2 -2
  37. data/docs/CouponCreationJob.md +1 -1
  38. data/docs/CouponDeletionJob.md +1 -1
  39. data/docs/CouponEntity.md +19 -0
  40. data/docs/CreateAchievement.md +1 -1
  41. data/docs/CustomEffect.md +1 -1
  42. data/docs/CustomerProfile.md +2 -2
  43. data/docs/CustomerProfileEntity.md +19 -0
  44. data/docs/CustomerSessionV2.md +1 -1
  45. data/docs/Effect.md +6 -0
  46. data/docs/EffectEntity.md +7 -1
  47. data/docs/Entity.md +1 -1
  48. data/docs/Environment.md +4 -2
  49. data/docs/Event.md +1 -1
  50. data/docs/EventType.md +1 -1
  51. data/docs/Export.md +1 -1
  52. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +25 -0
  53. data/docs/Giveaway.md +1 -1
  54. data/docs/GiveawaysPool.md +1 -1
  55. data/docs/Import.md +1 -1
  56. data/docs/InlineResponse20048.md +2 -4
  57. data/docs/InlineResponse20049.md +2 -4
  58. data/docs/InlineResponse20050.md +19 -0
  59. data/docs/InlineResponse20051.md +19 -0
  60. data/docs/IntegrationApi.md +3 -3
  61. data/docs/IntegrationCoupon.md +2 -2
  62. data/docs/IntegrationCustomerProfileAudienceRequest.md +17 -0
  63. data/docs/IntegrationCustomerProfileAudienceRequestItem.md +21 -0
  64. data/docs/IntegrationEventV2Request.md +2 -0
  65. data/docs/InventoryCoupon.md +2 -2
  66. data/docs/InventoryReferral.md +1 -1
  67. data/docs/LedgerEntry.md +1 -1
  68. data/docs/LedgerInfo.md +2 -2
  69. data/docs/LoyaltyCard.md +1 -1
  70. data/docs/LoyaltyProgramBalance.md +2 -2
  71. data/docs/LoyaltyTier.md +1 -1
  72. data/docs/ManagementApi.md +792 -29
  73. data/docs/ModelReturn.md +1 -1
  74. data/docs/MultipleAudiencesItem.md +1 -1
  75. data/docs/NewPriceAdjustment.md +27 -0
  76. data/docs/NewPriceType.md +23 -0
  77. data/docs/NewWebhook.md +2 -0
  78. data/docs/Picklist.md +1 -1
  79. data/docs/PriceDetail.md +23 -0
  80. data/docs/PriceType.md +33 -0
  81. data/docs/Referral.md +1 -1
  82. data/docs/RevisionActivationRequest.md +19 -0
  83. data/docs/Role.md +1 -1
  84. data/docs/RoleV2.md +1 -1
  85. data/docs/Ruleset.md +1 -1
  86. data/docs/SamlConnection.md +1 -1
  87. data/docs/ScimBaseGroup.md +19 -0
  88. data/docs/ScimGroup.md +21 -0
  89. data/docs/ScimGroupMember.md +19 -0
  90. data/docs/ScimGroupsListResponse.md +21 -0
  91. data/docs/Store.md +1 -1
  92. data/docs/TemplateDef.md +1 -1
  93. data/docs/UpdateAchievement.md +1 -1
  94. data/docs/User.md +1 -1
  95. data/docs/Webhook.md +3 -1
  96. data/docs/WebhookAuthentication.md +33 -0
  97. data/docs/WebhookAuthenticationBase.md +21 -0
  98. data/docs/WebhookAuthenticationDataBasic.md +19 -0
  99. data/docs/WebhookAuthenticationDataCustom.md +17 -0
  100. data/docs/WebhookAuthenticationWebhookRef.md +21 -0
  101. data/docs/WebhookWithOutgoingIntegrationDetails.md +3 -1
  102. data/lib/talon_one/api/integration_api.rb +6 -6
  103. data/lib/talon_one/api/management_api.rb +879 -11
  104. data/lib/talon_one/models/account.rb +1 -1
  105. data/lib/talon_one/models/account_additional_cost.rb +1 -1
  106. data/lib/talon_one/models/achievement.rb +4 -4
  107. data/lib/talon_one/models/achievement_base.rb +3 -3
  108. data/lib/talon_one/models/achievement_progress_with_definition.rb +3 -3
  109. data/lib/talon_one/models/achievement_status_entry.rb +4 -4
  110. data/lib/talon_one/models/add_price_adjustment_catalog_action.rb +230 -0
  111. data/lib/talon_one/models/added_deducted_points_balances_notification_policy.rb +269 -0
  112. data/lib/talon_one/models/application.rb +1 -1
  113. data/lib/talon_one/models/application_cif.rb +1 -1
  114. data/lib/talon_one/models/application_cif_expression.rb +1 -1
  115. data/lib/talon_one/models/application_customer.rb +2 -2
  116. data/lib/talon_one/models/application_event.rb +1 -1
  117. data/lib/talon_one/models/application_session.rb +1 -1
  118. data/lib/talon_one/models/attribute.rb +1 -1
  119. data/lib/talon_one/models/audience.rb +1 -1
  120. data/lib/talon_one/models/audience_customer.rb +2 -2
  121. data/lib/talon_one/models/base_notification.rb +2 -2
  122. data/lib/talon_one/models/base_notification_webhook.rb +1 -1
  123. data/lib/talon_one/models/binding.rb +44 -4
  124. data/lib/talon_one/models/campaign_collection.rb +1 -1
  125. data/lib/talon_one/models/campaign_collection_without_payload.rb +1 -1
  126. data/lib/talon_one/models/campaign_deactivation_request.rb +214 -0
  127. data/lib/talon_one/models/campaign_group.rb +1 -1
  128. data/lib/talon_one/models/campaign_set.rb +1 -1
  129. data/lib/talon_one/models/campaign_store_budget.rb +1 -1
  130. data/lib/talon_one/models/campaign_template.rb +1 -1
  131. data/lib/talon_one/models/card_added_deducted_points_balances_notification_policy.rb +269 -0
  132. data/lib/talon_one/models/cart_item.rb +57 -5
  133. data/lib/talon_one/models/catalog.rb +1 -1
  134. data/lib/talon_one/models/catalog_action.rb +2 -2
  135. data/lib/talon_one/models/catalog_item.rb +1 -1
  136. data/lib/talon_one/models/change.rb +1 -1
  137. data/lib/talon_one/models/collection.rb +1 -1
  138. data/lib/talon_one/models/collection_without_payload.rb +1 -1
  139. data/lib/talon_one/models/coupon.rb +7 -7
  140. data/lib/talon_one/models/coupon_constraints.rb +5 -5
  141. data/lib/talon_one/models/coupon_creation_job.rb +6 -6
  142. data/lib/talon_one/models/coupon_deletion_job.rb +1 -1
  143. data/lib/talon_one/models/coupon_entity.rb +227 -0
  144. data/lib/talon_one/models/create_achievement.rb +3 -3
  145. data/lib/talon_one/models/custom_effect.rb +1 -1
  146. data/lib/talon_one/models/customer_profile.rb +2 -2
  147. data/lib/talon_one/models/customer_profile_entity.rb +227 -0
  148. data/lib/talon_one/models/customer_session_v2.rb +1 -1
  149. data/lib/talon_one/models/effect.rb +31 -1
  150. data/lib/talon_one/models/effect_entity.rb +34 -4
  151. data/lib/talon_one/models/entity.rb +1 -1
  152. data/lib/talon_one/models/environment.rb +17 -5
  153. data/lib/talon_one/models/event.rb +1 -1
  154. data/lib/talon_one/models/event_type.rb +1 -1
  155. data/lib/talon_one/models/export.rb +1 -1
  156. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +270 -0
  157. data/lib/talon_one/models/giveaway.rb +1 -1
  158. data/lib/talon_one/models/giveaways_pool.rb +1 -1
  159. data/lib/talon_one/models/import.rb +1 -1
  160. data/lib/talon_one/models/inline_response20048.rb +2 -16
  161. data/lib/talon_one/models/inline_response20049.rb +2 -21
  162. data/lib/talon_one/models/inline_response20050.rb +222 -0
  163. data/lib/talon_one/models/inline_response20051.rb +227 -0
  164. data/lib/talon_one/models/integration_coupon.rb +7 -7
  165. data/lib/talon_one/models/integration_customer_profile_audience_request.rb +208 -0
  166. data/lib/talon_one/models/integration_customer_profile_audience_request_item.rb +295 -0
  167. data/lib/talon_one/models/integration_event_v2_request.rb +13 -1
  168. data/lib/talon_one/models/inventory_coupon.rb +7 -7
  169. data/lib/talon_one/models/inventory_referral.rb +1 -1
  170. data/lib/talon_one/models/ledger_entry.rb +1 -1
  171. data/lib/talon_one/models/ledger_info.rb +0 -10
  172. data/lib/talon_one/models/loyalty_card.rb +1 -1
  173. data/lib/talon_one/models/loyalty_program_balance.rb +0 -10
  174. data/lib/talon_one/models/loyalty_tier.rb +1 -1
  175. data/lib/talon_one/models/model_return.rb +1 -1
  176. data/lib/talon_one/models/multiple_audiences_item.rb +1 -1
  177. data/lib/talon_one/models/new_coupon_creation_job.rb +5 -5
  178. data/lib/talon_one/models/new_coupons.rb +5 -5
  179. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +5 -5
  180. data/lib/talon_one/models/new_message_test.rb +2 -2
  181. data/lib/talon_one/models/new_price_adjustment.rb +268 -0
  182. data/lib/talon_one/models/new_price_type.rb +270 -0
  183. data/lib/talon_one/models/new_webhook.rb +16 -1
  184. data/lib/talon_one/models/picklist.rb +1 -1
  185. data/lib/talon_one/models/price_detail.rb +237 -0
  186. data/lib/talon_one/models/price_type.rb +347 -0
  187. data/lib/talon_one/models/referral.rb +1 -1
  188. data/lib/talon_one/models/revision_activation_request.rb +224 -0
  189. data/lib/talon_one/models/role.rb +1 -1
  190. data/lib/talon_one/models/role_v2.rb +1 -1
  191. data/lib/talon_one/models/ruleset.rb +1 -1
  192. data/lib/talon_one/models/saml_connection.rb +1 -1
  193. data/lib/talon_one/models/scim_base_group.rb +220 -0
  194. data/lib/talon_one/models/scim_group.rb +235 -0
  195. data/lib/talon_one/models/scim_group_member.rb +218 -0
  196. data/lib/talon_one/models/scim_groups_list_response.rb +236 -0
  197. data/lib/talon_one/models/store.rb +1 -1
  198. data/lib/talon_one/models/template_def.rb +1 -1
  199. data/lib/talon_one/models/update_achievement.rb +3 -3
  200. data/lib/talon_one/models/update_coupon.rb +5 -5
  201. data/lib/talon_one/models/update_coupon_batch.rb +5 -5
  202. data/lib/talon_one/models/user.rb +1 -1
  203. data/lib/talon_one/models/webhook.rb +17 -2
  204. data/lib/talon_one/models/webhook_authentication.rb +365 -0
  205. data/lib/talon_one/models/webhook_authentication_base.rb +274 -0
  206. data/lib/talon_one/models/webhook_authentication_data_basic.rb +227 -0
  207. data/lib/talon_one/models/webhook_authentication_data_custom.rb +213 -0
  208. data/lib/talon_one/models/webhook_authentication_webhook_ref.rb +258 -0
  209. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +17 -2
  210. data/lib/talon_one/version.rb +1 -1
  211. data/lib/talon_one.rb +24 -0
  212. data/spec/api/integration_api_spec.rb +3 -3
  213. data/spec/api/management_api_spec.rb +167 -3
  214. data/spec/models/achievement_base_spec.rb +1 -1
  215. data/spec/models/achievement_progress_with_definition_spec.rb +1 -1
  216. data/spec/models/achievement_spec.rb +1 -1
  217. data/spec/models/achievement_status_entry_spec.rb +1 -1
  218. data/spec/models/add_price_adjustment_catalog_action_spec.rb +47 -0
  219. data/spec/models/added_deducted_points_balances_notification_policy_spec.rb +51 -0
  220. data/spec/models/base_notification_spec.rb +1 -1
  221. data/spec/models/binding_spec.rb +24 -0
  222. data/spec/models/campaign_deactivation_request_spec.rb +41 -0
  223. data/spec/models/card_added_deducted_points_balances_notification_policy_spec.rb +51 -0
  224. data/spec/models/cart_item_spec.rb +30 -0
  225. data/spec/models/catalog_action_spec.rb +1 -1
  226. data/spec/models/coupon_entity_spec.rb +47 -0
  227. data/spec/models/create_achievement_spec.rb +1 -1
  228. data/spec/models/customer_profile_entity_spec.rb +47 -0
  229. data/spec/models/effect_entity_spec.rb +18 -0
  230. data/spec/models/effect_spec.rb +18 -0
  231. data/spec/models/environment_spec.rb +6 -0
  232. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +65 -0
  233. data/spec/models/inline_response20048_spec.rb +0 -6
  234. data/spec/models/inline_response20049_spec.rb +0 -6
  235. data/spec/models/inline_response20050_spec.rb +47 -0
  236. data/spec/models/inline_response20051_spec.rb +47 -0
  237. data/spec/models/integration_customer_profile_audience_request_item_spec.rb +57 -0
  238. data/spec/models/integration_customer_profile_audience_request_spec.rb +41 -0
  239. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  240. data/spec/models/new_message_test_spec.rb +1 -1
  241. data/spec/models/new_price_adjustment_spec.rb +71 -0
  242. data/spec/models/new_price_type_spec.rb +59 -0
  243. data/spec/models/new_webhook_spec.rb +6 -0
  244. data/spec/models/price_detail_spec.rb +59 -0
  245. data/spec/models/price_type_spec.rb +89 -0
  246. data/spec/models/scim_base_group_spec.rb +47 -0
  247. data/spec/models/scim_group_member_spec.rb +47 -0
  248. data/spec/models/scim_group_spec.rb +53 -0
  249. data/spec/models/scim_groups_list_response_spec.rb +53 -0
  250. data/spec/models/update_achievement_spec.rb +1 -1
  251. data/spec/models/webhook_authentication_base_spec.rb +57 -0
  252. data/spec/models/webhook_authentication_data_basic_spec.rb +47 -0
  253. data/spec/models/webhook_authentication_data_custom_spec.rb +41 -0
  254. data/spec/models/webhook_authentication_spec.rb +93 -0
  255. data/spec/models/webhook_authentication_webhook_ref_spec.rb +53 -0
  256. data/spec/models/webhook_spec.rb +6 -0
  257. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  258. metadata +100 -2
@@ -721,6 +721,82 @@ module TalonOne
721
721
  return data, status_code, headers
722
722
  end
723
723
 
724
+ # Create campaign store budget
725
+ # Create a new store budget for a given campaign.
726
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
727
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
728
+ # @param body [NewCampaignStoreBudget] body
729
+ # @param [Hash] opts the optional parameters
730
+ # @return [nil]
731
+ def create_campaign_store_budget(application_id, campaign_id, body, opts = {})
732
+ create_campaign_store_budget_with_http_info(application_id, campaign_id, body, opts)
733
+ nil
734
+ end
735
+
736
+ # Create campaign store budget
737
+ # Create a new store budget for a given campaign.
738
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
739
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
740
+ # @param body [NewCampaignStoreBudget] body
741
+ # @param [Hash] opts the optional parameters
742
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
743
+ def create_campaign_store_budget_with_http_info(application_id, campaign_id, body, opts = {})
744
+ if @api_client.config.debugging
745
+ @api_client.config.logger.debug 'Calling API: ManagementApi.create_campaign_store_budget ...'
746
+ end
747
+ # verify the required parameter 'application_id' is set
748
+ if @api_client.config.client_side_validation && application_id.nil?
749
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling ManagementApi.create_campaign_store_budget"
750
+ end
751
+ # verify the required parameter 'campaign_id' is set
752
+ if @api_client.config.client_side_validation && campaign_id.nil?
753
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling ManagementApi.create_campaign_store_budget"
754
+ end
755
+ # verify the required parameter 'body' is set
756
+ if @api_client.config.client_side_validation && body.nil?
757
+ fail ArgumentError, "Missing the required parameter 'body' when calling ManagementApi.create_campaign_store_budget"
758
+ end
759
+ # resource path
760
+ local_var_path = '/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets'.sub('{' + 'applicationId' + '}', CGI.escape(application_id.to_s)).sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
761
+
762
+ # query parameters
763
+ query_params = opts[:query_params] || {}
764
+
765
+ # header parameters
766
+ header_params = opts[:header_params] || {}
767
+ # HTTP header 'Accept' (if needed)
768
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
769
+ # HTTP header 'Content-Type'
770
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
771
+
772
+ # form parameters
773
+ form_params = opts[:form_params] || {}
774
+
775
+ # http body (model)
776
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
777
+
778
+ # return_type
779
+ return_type = opts[:return_type]
780
+
781
+ # auth_names
782
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
783
+
784
+ new_options = opts.merge(
785
+ :header_params => header_params,
786
+ :query_params => query_params,
787
+ :form_params => form_params,
788
+ :body => post_body,
789
+ :auth_names => auth_names,
790
+ :return_type => return_type
791
+ )
792
+
793
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
794
+ if @api_client.config.debugging
795
+ @api_client.config.logger.debug "API called: ManagementApi#create_campaign_store_budget\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
796
+ end
797
+ return data, status_code, headers
798
+ end
799
+
724
800
  # Create campaign-level collection
725
801
  # Create a campaign-level collection in a given campaign.
726
802
  # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
@@ -1777,6 +1853,88 @@ module TalonOne
1777
1853
  return data, status_code, headers
1778
1854
  end
1779
1855
 
1856
+ # Delete campaign store budgets
1857
+ # Delete the store budgets for a given campaign.
1858
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
1859
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
1860
+ # @param [Hash] opts the optional parameters
1861
+ # @option opts [String] :action The action that this budget is limiting.
1862
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
1863
+ # @return [nil]
1864
+ def delete_campaign_store_budgets(application_id, campaign_id, opts = {})
1865
+ delete_campaign_store_budgets_with_http_info(application_id, campaign_id, opts)
1866
+ nil
1867
+ end
1868
+
1869
+ # Delete campaign store budgets
1870
+ # Delete the store budgets for a given campaign.
1871
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
1872
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
1873
+ # @param [Hash] opts the optional parameters
1874
+ # @option opts [String] :action The action that this budget is limiting.
1875
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
1876
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
1877
+ def delete_campaign_store_budgets_with_http_info(application_id, campaign_id, opts = {})
1878
+ if @api_client.config.debugging
1879
+ @api_client.config.logger.debug 'Calling API: ManagementApi.delete_campaign_store_budgets ...'
1880
+ end
1881
+ # verify the required parameter 'application_id' is set
1882
+ if @api_client.config.client_side_validation && application_id.nil?
1883
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling ManagementApi.delete_campaign_store_budgets"
1884
+ end
1885
+ # verify the required parameter 'campaign_id' is set
1886
+ if @api_client.config.client_side_validation && campaign_id.nil?
1887
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling ManagementApi.delete_campaign_store_budgets"
1888
+ end
1889
+ allowable_values = ["setDiscount"]
1890
+ if @api_client.config.client_side_validation && opts[:'action'] && !allowable_values.include?(opts[:'action'])
1891
+ fail ArgumentError, "invalid value for \"action\", must be one of #{allowable_values}"
1892
+ end
1893
+ allowable_values = ["overall", "daily", "weekly", "monthly", "yearly"]
1894
+ if @api_client.config.client_side_validation && opts[:'period'] && !allowable_values.include?(opts[:'period'])
1895
+ fail ArgumentError, "invalid value for \"period\", must be one of #{allowable_values}"
1896
+ end
1897
+ # resource path
1898
+ local_var_path = '/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets'.sub('{' + 'applicationId' + '}', CGI.escape(application_id.to_s)).sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
1899
+
1900
+ # query parameters
1901
+ query_params = opts[:query_params] || {}
1902
+ query_params[:'action'] = opts[:'action'] if !opts[:'action'].nil?
1903
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
1904
+
1905
+ # header parameters
1906
+ header_params = opts[:header_params] || {}
1907
+ # HTTP header 'Accept' (if needed)
1908
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1909
+
1910
+ # form parameters
1911
+ form_params = opts[:form_params] || {}
1912
+
1913
+ # http body (model)
1914
+ post_body = opts[:body]
1915
+
1916
+ # return_type
1917
+ return_type = opts[:return_type]
1918
+
1919
+ # auth_names
1920
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
1921
+
1922
+ new_options = opts.merge(
1923
+ :header_params => header_params,
1924
+ :query_params => query_params,
1925
+ :form_params => form_params,
1926
+ :body => post_body,
1927
+ :auth_names => auth_names,
1928
+ :return_type => return_type
1929
+ )
1930
+
1931
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
1932
+ if @api_client.config.debugging
1933
+ @api_client.config.logger.debug "API called: ManagementApi#delete_campaign_store_budgets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1934
+ end
1935
+ return data, status_code, headers
1936
+ end
1937
+
1780
1938
  # Delete campaign-level collection
1781
1939
  # Delete a given campaign-level collection.
1782
1940
  # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
@@ -2690,6 +2848,88 @@ module TalonOne
2690
2848
  return data, status_code, headers
2691
2849
  end
2692
2850
 
2851
+ # Export campaign store budgets
2852
+ # Download a CSV file containing the store budgets for a given campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store.
2853
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
2854
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
2855
+ # @param [Hash] opts the optional parameters
2856
+ # @option opts [String] :action The action that this budget is limiting.
2857
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
2858
+ # @return [String]
2859
+ def export_campaign_store_budgets(application_id, campaign_id, opts = {})
2860
+ data, _status_code, _headers = export_campaign_store_budgets_with_http_info(application_id, campaign_id, opts)
2861
+ data
2862
+ end
2863
+
2864
+ # Export campaign store budgets
2865
+ # Download a CSV file containing the store budgets for a given campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following columns: - &#x60;store_integration_id&#x60;: The identifier of the store. - &#x60;limit&#x60;: The budget limit for the store.
2866
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
2867
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
2868
+ # @param [Hash] opts the optional parameters
2869
+ # @option opts [String] :action The action that this budget is limiting.
2870
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
2871
+ # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
2872
+ def export_campaign_store_budgets_with_http_info(application_id, campaign_id, opts = {})
2873
+ if @api_client.config.debugging
2874
+ @api_client.config.logger.debug 'Calling API: ManagementApi.export_campaign_store_budgets ...'
2875
+ end
2876
+ # verify the required parameter 'application_id' is set
2877
+ if @api_client.config.client_side_validation && application_id.nil?
2878
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling ManagementApi.export_campaign_store_budgets"
2879
+ end
2880
+ # verify the required parameter 'campaign_id' is set
2881
+ if @api_client.config.client_side_validation && campaign_id.nil?
2882
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling ManagementApi.export_campaign_store_budgets"
2883
+ end
2884
+ allowable_values = ["setDiscount"]
2885
+ if @api_client.config.client_side_validation && opts[:'action'] && !allowable_values.include?(opts[:'action'])
2886
+ fail ArgumentError, "invalid value for \"action\", must be one of #{allowable_values}"
2887
+ end
2888
+ allowable_values = ["overall", "daily", "weekly", "monthly", "yearly"]
2889
+ if @api_client.config.client_side_validation && opts[:'period'] && !allowable_values.include?(opts[:'period'])
2890
+ fail ArgumentError, "invalid value for \"period\", must be one of #{allowable_values}"
2891
+ end
2892
+ # resource path
2893
+ local_var_path = '/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/export'.sub('{' + 'applicationId' + '}', CGI.escape(application_id.to_s)).sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
2894
+
2895
+ # query parameters
2896
+ query_params = opts[:query_params] || {}
2897
+ query_params[:'action'] = opts[:'action'] if !opts[:'action'].nil?
2898
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
2899
+
2900
+ # header parameters
2901
+ header_params = opts[:header_params] || {}
2902
+ # HTTP header 'Accept' (if needed)
2903
+ header_params['Accept'] = @api_client.select_header_accept(['application/csv'])
2904
+
2905
+ # form parameters
2906
+ form_params = opts[:form_params] || {}
2907
+
2908
+ # http body (model)
2909
+ post_body = opts[:body]
2910
+
2911
+ # return_type
2912
+ return_type = opts[:return_type] || 'String'
2913
+
2914
+ # auth_names
2915
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
2916
+
2917
+ new_options = opts.merge(
2918
+ :header_params => header_params,
2919
+ :query_params => query_params,
2920
+ :form_params => form_params,
2921
+ :body => post_body,
2922
+ :auth_names => auth_names,
2923
+ :return_type => return_type
2924
+ )
2925
+
2926
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
2927
+ if @api_client.config.debugging
2928
+ @api_client.config.logger.debug "API called: ManagementApi#export_campaign_store_budgets\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2929
+ end
2930
+ return data, status_code, headers
2931
+ end
2932
+
2693
2933
  # Export stores
2694
2934
  # Download a CSV file containing the stores linked to a specific campaign. **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). The CSV file contains the following column: - `store_integration_id`: The identifier of the store.
2695
2935
  # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
@@ -2953,7 +3193,7 @@ module TalonOne
2953
3193
  end
2954
3194
 
2955
3195
  # Export customer sessions
2956
- # Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
3196
+ # Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - `id`: The internal ID of the session. - `firstsession`: Whether this is a first session. - `integrationid`: The integration ID of the session. - `applicationid`: The ID of the Application. - `profileid`: The internal ID of the customer profile. - `profileintegrationid`: The integration ID of the customer profile. - `created`: The timestamp when the session was created. - `state`: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - `cartitems`: The cart items in the session. - `discounts`: The discounts in the session. - `total`: The total value of cart items and additional costs in the session, before any discounts are applied. - `attributes`: The attributes set in the session. - `closedat`: Timestamp when the session was closed. - `cancelledat`: Timestamp when the session was cancelled. - `referral`: The referral code in the session. - `identifiers`: The identifiers in the session. - `additional_costs`: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - `updated`: Timestamp of the last session update. - `store_integration_id`: The integration ID of the store. - `coupons`: Coupon codes in the session.
2957
3197
  # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
2958
3198
  # @param [Hash] opts the optional parameters
2959
3199
  # @option opts [DateTime] :created_before Filter results comparing the parameter value, expected to be an RFC3339 timestamp string.
@@ -2968,7 +3208,7 @@ module TalonOne
2968
3208
  end
2969
3209
 
2970
3210
  # Export customer sessions
2971
- # Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/product/server-infrastructure-and-data-retention#data-retention-policy). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - &#x60;id&#x60;: The internal ID of the session. - &#x60;firstsession&#x60;: Whether this is a first session. - &#x60;integrationid&#x60;: The integration ID of the session. - &#x60;applicationid&#x60;: The ID of the Application. - &#x60;profileid&#x60;: The internal ID of the customer profile. - &#x60;profileintegrationid&#x60;: The integration ID of the customer profile. - &#x60;created&#x60;: The timestamp when the session was created. - &#x60;state&#x60;: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - &#x60;cartitems&#x60;: The cart items in the session. - &#x60;discounts&#x60;: The discounts in the session. - &#x60;total&#x60;: The total value of cart items and additional costs in the session, before any discounts are applied. - &#x60;attributes&#x60;: The attributes set in the session. - &#x60;closedat&#x60;: Timestamp when the session was closed. - &#x60;cancelledat&#x60;: Timestamp when the session was cancelled. - &#x60;referral&#x60;: The referral code in the session. - &#x60;identifiers&#x60;: The identifiers in the session. - &#x60;additional_costs&#x60;: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - &#x60;updated&#x60;: Timestamp of the last session update. - &#x60;store_integration_id&#x60;: The integration ID of the store. - &#x60;coupons&#x60;: Coupon codes in the session.
3211
+ # Download a CSV file containing the customer sessions that match the request. **Important:** Archived sessions cannot be exported. See the [retention policy](https://docs.talon.one/docs/dev/server-infrastructure-and-data-retention). **Tip:** If the exported CSV file is too large to view, you can [split it into multiple files](https://www.makeuseof.com/tag/how-to-split-a-huge-csv-excel-workbook-into-seperate-files/). - &#x60;id&#x60;: The internal ID of the session. - &#x60;firstsession&#x60;: Whether this is a first session. - &#x60;integrationid&#x60;: The integration ID of the session. - &#x60;applicationid&#x60;: The ID of the Application. - &#x60;profileid&#x60;: The internal ID of the customer profile. - &#x60;profileintegrationid&#x60;: The integration ID of the customer profile. - &#x60;created&#x60;: The timestamp when the session was created. - &#x60;state&#x60;: The [state](https://docs.talon.one/docs/dev/concepts/entities/customer-sessions#customer-session-states) of the session. - &#x60;cartitems&#x60;: The cart items in the session. - &#x60;discounts&#x60;: The discounts in the session. - &#x60;total&#x60;: The total value of cart items and additional costs in the session, before any discounts are applied. - &#x60;attributes&#x60;: The attributes set in the session. - &#x60;closedat&#x60;: Timestamp when the session was closed. - &#x60;cancelledat&#x60;: Timestamp when the session was cancelled. - &#x60;referral&#x60;: The referral code in the session. - &#x60;identifiers&#x60;: The identifiers in the session. - &#x60;additional_costs&#x60;: The [additional costs](https://docs.talon.one/docs/product/account/dev-tools/managing-additional-costs) in the session. - &#x60;updated&#x60;: Timestamp of the last session update. - &#x60;store_integration_id&#x60;: The integration ID of the store. - &#x60;coupons&#x60;: Coupon codes in the session.
2972
3212
  # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
2973
3213
  # @param [Hash] opts the optional parameters
2974
3214
  # @option opts [DateTime] :created_before Filter results comparing the parameter value, expected to be an RFC3339 timestamp string.
@@ -3476,6 +3716,8 @@ module TalonOne
3476
3716
  # @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.
3477
3717
  # @param [Hash] opts the optional parameters
3478
3718
  # @option opts [String] :batch_id Filter results by loyalty card batch ID.
3719
+ # @option opts [DateTime] :created_before Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string.
3720
+ # @option opts [DateTime] :created_after Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string.
3479
3721
  # @option opts [String] :date_format Determines the format of dates in the export document.
3480
3722
  # @return [String]
3481
3723
  def export_loyalty_cards(loyalty_program_id, opts = {})
@@ -3488,6 +3730,8 @@ module TalonOne
3488
3730
  # @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.
3489
3731
  # @param [Hash] opts the optional parameters
3490
3732
  # @option opts [String] :batch_id Filter results by loyalty card batch ID.
3733
+ # @option opts [DateTime] :created_before Only return loyalty cards created before this timestamp. **Note:** - This must be an RFC3339 timestamp string.
3734
+ # @option opts [DateTime] :created_after Only return loyalty cards created after this timestamp. **Note:** - This must be an RFC3339 timestamp string.
3491
3735
  # @option opts [String] :date_format Determines the format of dates in the export document.
3492
3736
  # @return [Array<(String, Integer, Hash)>] String data, response status code and response headers
3493
3737
  def export_loyalty_cards_with_http_info(loyalty_program_id, opts = {})
@@ -3508,6 +3752,8 @@ module TalonOne
3508
3752
  # query parameters
3509
3753
  query_params = opts[:query_params] || {}
3510
3754
  query_params[:'batchId'] = opts[:'batch_id'] if !opts[:'batch_id'].nil?
3755
+ query_params[:'createdBefore'] = opts[:'created_before'] if !opts[:'created_before'].nil?
3756
+ query_params[:'createdAfter'] = opts[:'created_after'] if !opts[:'created_after'].nil?
3511
3757
  query_params[:'dateFormat'] = opts[:'date_format'] if !opts[:'date_format'].nil?
3512
3758
 
3513
3759
  # header parameters
@@ -6886,7 +7132,7 @@ module TalonOne
6886
7132
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
6887
7133
  # @option opts [Integer] :achievement_id The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint.
6888
7134
  # @option opts [String] :title Filter results by the &#x60;title&#x60; of an achievement.
6889
- # @return [InlineResponse20049]
7135
+ # @return [InlineResponse20051]
6890
7136
  def get_customer_profile_achievement_progress(application_id, integration_id, opts = {})
6891
7137
  data, _status_code, _headers = get_customer_profile_achievement_progress_with_http_info(application_id, integration_id, opts)
6892
7138
  data
@@ -6901,7 +7147,7 @@ module TalonOne
6901
7147
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
6902
7148
  # @option opts [Integer] :achievement_id The ID of the achievement. You can get this ID with the [List achievement](https://docs.talon.one/management-api#tag/Achievements/operation/listAchievements) endpoint.
6903
7149
  # @option opts [String] :title Filter results by the &#x60;title&#x60; of an achievement.
6904
- # @return [Array<(InlineResponse20049, Integer, Hash)>] InlineResponse20049 data, response status code and response headers
7150
+ # @return [Array<(InlineResponse20051, Integer, Hash)>] InlineResponse20051 data, response status code and response headers
6905
7151
  def get_customer_profile_achievement_progress_with_http_info(application_id, integration_id, opts = {})
6906
7152
  if @api_client.config.debugging
6907
7153
  @api_client.config.logger.debug 'Calling API: ManagementApi.get_customer_profile_achievement_progress ...'
@@ -6944,7 +7190,7 @@ module TalonOne
6944
7190
  post_body = opts[:body]
6945
7191
 
6946
7192
  # return_type
6947
- return_type = opts[:return_type] || 'InlineResponse20049'
7193
+ return_type = opts[:return_type] || 'InlineResponse20051'
6948
7194
 
6949
7195
  # auth_names
6950
7196
  auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
@@ -8017,7 +8263,7 @@ module TalonOne
8017
8263
  if @api_client.config.client_side_validation && !allowable_values.include?(entity_type)
8018
8264
  fail ArgumentError, "invalid value for \"entity_type\", must be one of #{allowable_values}"
8019
8265
  end
8020
- allowable_values = ["CampaignEvaluationTreeChanged", "CampaignNotification", "CouponCreated", "CouponUpdated", "CouponDeleted", "AsyncCouponsCreated", "CouponsDeleted", "CouponsUpdated", "CouponCodeExpiring", "StrikethroughPrice", "LoyaltyPointsAdded", "LoyaltyPointsDeducted", "LoyaltyPointsExpiring", "LoyaltyPointsPendingToActive", "TierWillDowngrade", "TierUpgrade", "TierDowngrade", "LoyaltyCardPointsAdded", "LoyaltyCardPointsDeducted", "LoyaltyCardPointsExpiring"]
8266
+ allowable_values = ["CampaignEvaluationTreeChanged", "CampaignNotification", "CouponCreated", "CouponUpdated", "CouponDeleted", "AsyncCouponsCreated", "CouponsDeleted", "CouponsUpdated", "CouponCodeExpiring", "StrikethroughPrice", "LoyaltyPointsAdded", "LoyaltyPointsDeducted", "LoyaltyPointsExpiring", "LoyaltyPointsPendingToActive", "LoyaltyAddedDeductedPointsBalances", "LoyaltyCardAddedDeductedPointsBalances", "TierWillDowngrade", "TierUpgrade", "TierDowngrade", "LoyaltyCardPointsAdded", "LoyaltyCardPointsDeducted", "LoyaltyCardPointsExpiring"]
8021
8267
  if @api_client.config.client_side_validation && opts[:'change_type'] && !allowable_values.include?(opts[:'change_type'])
8022
8268
  fail ArgumentError, "invalid value for \"change_type\", must be one of #{allowable_values}"
8023
8269
  end
@@ -9161,6 +9407,93 @@ module TalonOne
9161
9407
  return data, status_code, headers
9162
9408
  end
9163
9409
 
9410
+ # Import campaign store budgets
9411
+ # Upload a CSV file containing store budgets for a given campaign. Send the file as multipart data. The CSV file **must** only contain the following columns: - `store_integration_id`: The identifier of the store. - `limit`: The budget limit for the store. The import **replaces** the previous list of store budgets.
9412
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
9413
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
9414
+ # @param [Hash] opts the optional parameters
9415
+ # @option opts [String] :action The action that this budget is limiting.
9416
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
9417
+ # @option opts [String] :up_file The file containing the data that is being imported.
9418
+ # @return [Import]
9419
+ def import_campaign_store_budget(application_id, campaign_id, opts = {})
9420
+ data, _status_code, _headers = import_campaign_store_budget_with_http_info(application_id, campaign_id, opts)
9421
+ data
9422
+ end
9423
+
9424
+ # Import campaign store budgets
9425
+ # Upload a CSV file containing store budgets for a given campaign. Send the file as multipart data. The CSV file **must** only contain the following columns: - &#x60;store_integration_id&#x60;: The identifier of the store. - &#x60;limit&#x60;: The budget limit for the store. The import **replaces** the previous list of store budgets.
9426
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
9427
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
9428
+ # @param [Hash] opts the optional parameters
9429
+ # @option opts [String] :action The action that this budget is limiting.
9430
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
9431
+ # @option opts [String] :up_file The file containing the data that is being imported.
9432
+ # @return [Array<(Import, Integer, Hash)>] Import data, response status code and response headers
9433
+ def import_campaign_store_budget_with_http_info(application_id, campaign_id, opts = {})
9434
+ if @api_client.config.debugging
9435
+ @api_client.config.logger.debug 'Calling API: ManagementApi.import_campaign_store_budget ...'
9436
+ end
9437
+ # verify the required parameter 'application_id' is set
9438
+ if @api_client.config.client_side_validation && application_id.nil?
9439
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling ManagementApi.import_campaign_store_budget"
9440
+ end
9441
+ # verify the required parameter 'campaign_id' is set
9442
+ if @api_client.config.client_side_validation && campaign_id.nil?
9443
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling ManagementApi.import_campaign_store_budget"
9444
+ end
9445
+ allowable_values = ["setDiscount"]
9446
+ if @api_client.config.client_side_validation && opts[:'action'] && !allowable_values.include?(opts[:'action'])
9447
+ fail ArgumentError, "invalid value for \"action\", must be one of #{allowable_values}"
9448
+ end
9449
+ allowable_values = ["overall", "daily", "weekly", "monthly", "yearly"]
9450
+ if @api_client.config.client_side_validation && opts[:'period'] && !allowable_values.include?(opts[:'period'])
9451
+ fail ArgumentError, "invalid value for \"period\", must be one of #{allowable_values}"
9452
+ end
9453
+ # resource path
9454
+ local_var_path = '/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/import'.sub('{' + 'applicationId' + '}', CGI.escape(application_id.to_s)).sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
9455
+
9456
+ # query parameters
9457
+ query_params = opts[:query_params] || {}
9458
+ query_params[:'action'] = opts[:'action'] if !opts[:'action'].nil?
9459
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
9460
+
9461
+ # header parameters
9462
+ header_params = opts[:header_params] || {}
9463
+ # HTTP header 'Accept' (if needed)
9464
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
9465
+ # HTTP header 'Content-Type'
9466
+ header_params['Content-Type'] = @api_client.select_header_content_type(['multipart/form-data'])
9467
+
9468
+ # form parameters
9469
+ form_params = opts[:form_params] || {}
9470
+ form_params['upFile'] = opts[:'up_file'] if !opts[:'up_file'].nil?
9471
+
9472
+ # http body (model)
9473
+ post_body = opts[:body]
9474
+
9475
+ # return_type
9476
+ return_type = opts[:return_type] || 'Import'
9477
+
9478
+ # auth_names
9479
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
9480
+
9481
+ new_options = opts.merge(
9482
+ :header_params => header_params,
9483
+ :query_params => query_params,
9484
+ :form_params => form_params,
9485
+ :body => post_body,
9486
+ :auth_names => auth_names,
9487
+ :return_type => return_type
9488
+ )
9489
+
9490
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
9491
+ if @api_client.config.debugging
9492
+ @api_client.config.logger.debug "API called: ManagementApi#import_campaign_store_budget\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
9493
+ end
9494
+ return data, status_code, headers
9495
+ end
9496
+
9164
9497
  # Import stores
9165
9498
  # Upload a CSV file containing the stores you want to link to a specific campaign. Send the file as multipart data. The CSV file **must** only contain the following column: - `store_integration_id`: The identifier of the store. The import **replaces** the previous list of stores linked to the campaign.
9166
9499
  # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
@@ -9527,6 +9860,7 @@ module TalonOne
9527
9860
  # Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - `customerprofileid` (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - `identifier` (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - `amount`: The amount of points to award to the customer profile. - `startdate` (optional): The earliest date when the points can be redeemed. The points are `active` from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string `immediate`. Empty or missing values are considered `immediate`. - `expirydate` (optional): The latest date when the points can be redeemed. The points are `expired` after this date. **Note**: It must be an RFC3339 timestamp string or string `unlimited`. Empty or missing values are considered `unlimited`. - `subledgerid` (optional): The ID of the subledger that should received the points. - `reason` (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for `startdate`. If `startdate` matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for `startdate` is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** ```text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ``` **Example for card-based programs:** ```text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement ```
9528
9861
  # @param loyalty_program_id [Integer] Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
9529
9862
  # @param [Hash] opts the optional parameters
9863
+ # @option opts [Boolean] :notifications_enabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer&#39;s tier or offsets their negative points balance. This parameter is optional and defaults to &#x60;true&#x60;.
9530
9864
  # @option opts [String] :up_file The file containing the data that is being imported.
9531
9865
  # @return [Import]
9532
9866
  def import_loyalty_points(loyalty_program_id, opts = {})
@@ -9538,6 +9872,7 @@ module TalonOne
9538
9872
  # Upload a CSV file containing the loyalty points you want to import into a given loyalty program. Send the file as multipart data. Depending on the type of loyalty program, you can import points into a given customer profile or loyalty card. The CSV file contains the following columns: - &#x60;customerprofileid&#x60; (optional): For profile-based loyalty programs, the integration ID of the customer profile where the loyalty points are imported. **Note**: If the customer profile does not exist, it will be created. The profile will not be visible in any Application until a session or profile update is received for that profile. - &#x60;identifier&#x60; (optional): For card-based loyalty programs, the identifier of the loyalty card where the loyalty points are imported. - &#x60;amount&#x60;: The amount of points to award to the customer profile. - &#x60;startdate&#x60; (optional): The earliest date when the points can be redeemed. The points are &#x60;active&#x60; from this date until the expiration date. **Note**: It must be an RFC3339 timestamp string or string &#x60;immediate&#x60;. Empty or missing values are considered &#x60;immediate&#x60;. - &#x60;expirydate&#x60; (optional): The latest date when the points can be redeemed. The points are &#x60;expired&#x60; after this date. **Note**: It must be an RFC3339 timestamp string or string &#x60;unlimited&#x60;. Empty or missing values are considered &#x60;unlimited&#x60;. - &#x60;subledgerid&#x60; (optional): The ID of the subledger that should received the points. - &#x60;reason&#x60; (optional): The reason why these points are awarded. You can use the time zone of your choice. It is converted to UTC internally by Talon.One. **Note:** For existing customer profiles and loyalty cards, the imported points are added to any previous active or pending points, depending on the value provided for &#x60;startdate&#x60;. If &#x60;startdate&#x60; matches the current date, the imported points are _active_. If it is later, the points are _pending_ until the date provided for &#x60;startdate&#x60; is reached. **Note:** We recommend limiting your file size to 500MB. **Example for profile-based programs:** &#x60;&#x60;&#x60;text customerprofileid,amount,startdate,expirydate,subledgerid,reason URNGV8294NV,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement &#x60;&#x60;&#x60; **Example for card-based programs:** &#x60;&#x60;&#x60;text identifier,amount,startdate,expirydate,subledgerid,reason summer-loyalty-card-0543,100,2009-11-10T23:00:00Z,2009-11-11T23:00:00Z,subledger1,appeasement &#x60;&#x60;&#x60;
9539
9873
  # @param loyalty_program_id [Integer] Identifier of the loyalty program. You can get the ID with the [List loyalty programs](https://docs.talon.one/management-api#tag/Loyalty/operation/getLoyaltyPrograms) endpoint.
9540
9874
  # @param [Hash] opts the optional parameters
9875
+ # @option opts [Boolean] :notifications_enabled Indicates whether the points import triggers notifications about its effects. For example, a notification is sent if the import upgrades a customer&#39;s tier or offsets their negative points balance. This parameter is optional and defaults to &#x60;true&#x60;.
9541
9876
  # @option opts [String] :up_file The file containing the data that is being imported.
9542
9877
  # @return [Array<(Import, Integer, Hash)>] Import data, response status code and response headers
9543
9878
  def import_loyalty_points_with_http_info(loyalty_program_id, opts = {})
@@ -9553,6 +9888,7 @@ module TalonOne
9553
9888
 
9554
9889
  # query parameters
9555
9890
  query_params = opts[:query_params] || {}
9891
+ query_params[:'notificationsEnabled'] = opts[:'notifications_enabled'] if !opts[:'notifications_enabled'].nil?
9556
9892
 
9557
9893
  # header parameters
9558
9894
  header_params = opts[:header_params] || {}
@@ -9879,7 +10215,7 @@ module TalonOne
9879
10215
  # @option opts [Integer] :page_size The number of items in the response. (default to 50)
9880
10216
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
9881
10217
  # @option opts [String] :title Filter by the display name for the achievement in the campaign manager. **Note**: If no &#x60;title&#x60; is provided, all the achievements from the campaign are returned.
9882
- # @return [InlineResponse20048]
10218
+ # @return [InlineResponse20050]
9883
10219
  def list_achievements(application_id, campaign_id, opts = {})
9884
10220
  data, _status_code, _headers = list_achievements_with_http_info(application_id, campaign_id, opts)
9885
10221
  data
@@ -9893,7 +10229,7 @@ module TalonOne
9893
10229
  # @option opts [Integer] :page_size The number of items in the response.
9894
10230
  # @option opts [Integer] :skip The number of items to skip when paging through large result sets.
9895
10231
  # @option opts [String] :title Filter by the display name for the achievement in the campaign manager. **Note**: If no &#x60;title&#x60; is provided, all the achievements from the campaign are returned.
9896
- # @return [Array<(InlineResponse20048, Integer, Hash)>] InlineResponse20048 data, response status code and response headers
10232
+ # @return [Array<(InlineResponse20050, Integer, Hash)>] InlineResponse20050 data, response status code and response headers
9897
10233
  def list_achievements_with_http_info(application_id, campaign_id, opts = {})
9898
10234
  if @api_client.config.debugging
9899
10235
  @api_client.config.logger.debug 'Calling API: ManagementApi.list_achievements ...'
@@ -9935,7 +10271,7 @@ module TalonOne
9935
10271
  post_body = opts[:body]
9936
10272
 
9937
10273
  # return_type
9938
- return_type = opts[:return_type] || 'InlineResponse20048'
10274
+ return_type = opts[:return_type] || 'InlineResponse20050'
9939
10275
 
9940
10276
  # auth_names
9941
10277
  auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
@@ -10012,6 +10348,88 @@ module TalonOne
10012
10348
  return data, status_code, headers
10013
10349
  end
10014
10350
 
10351
+ # List campaign store budget limits
10352
+ # Return the store budget limits for a given campaign.
10353
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
10354
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
10355
+ # @param [Hash] opts the optional parameters
10356
+ # @option opts [String] :action The action that this budget is limiting.
10357
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
10358
+ # @return [InlineResponse20048]
10359
+ def list_campaign_store_budget_limits(application_id, campaign_id, opts = {})
10360
+ data, _status_code, _headers = list_campaign_store_budget_limits_with_http_info(application_id, campaign_id, opts)
10361
+ data
10362
+ end
10363
+
10364
+ # List campaign store budget limits
10365
+ # Return the store budget limits for a given campaign.
10366
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
10367
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
10368
+ # @param [Hash] opts the optional parameters
10369
+ # @option opts [String] :action The action that this budget is limiting.
10370
+ # @option opts [String] :period The period to which the limit applies. **Note**: For budgets with no period, set this to &#x60;overall&#x60;.
10371
+ # @return [Array<(InlineResponse20048, Integer, Hash)>] InlineResponse20048 data, response status code and response headers
10372
+ def list_campaign_store_budget_limits_with_http_info(application_id, campaign_id, opts = {})
10373
+ if @api_client.config.debugging
10374
+ @api_client.config.logger.debug 'Calling API: ManagementApi.list_campaign_store_budget_limits ...'
10375
+ end
10376
+ # verify the required parameter 'application_id' is set
10377
+ if @api_client.config.client_side_validation && application_id.nil?
10378
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling ManagementApi.list_campaign_store_budget_limits"
10379
+ end
10380
+ # verify the required parameter 'campaign_id' is set
10381
+ if @api_client.config.client_side_validation && campaign_id.nil?
10382
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling ManagementApi.list_campaign_store_budget_limits"
10383
+ end
10384
+ allowable_values = ["setDiscount"]
10385
+ if @api_client.config.client_side_validation && opts[:'action'] && !allowable_values.include?(opts[:'action'])
10386
+ fail ArgumentError, "invalid value for \"action\", must be one of #{allowable_values}"
10387
+ end
10388
+ allowable_values = ["overall", "daily", "weekly", "monthly", "yearly"]
10389
+ if @api_client.config.client_side_validation && opts[:'period'] && !allowable_values.include?(opts[:'period'])
10390
+ fail ArgumentError, "invalid value for \"period\", must be one of #{allowable_values}"
10391
+ end
10392
+ # resource path
10393
+ local_var_path = '/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets'.sub('{' + 'applicationId' + '}', CGI.escape(application_id.to_s)).sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
10394
+
10395
+ # query parameters
10396
+ query_params = opts[:query_params] || {}
10397
+ query_params[:'action'] = opts[:'action'] if !opts[:'action'].nil?
10398
+ query_params[:'period'] = opts[:'period'] if !opts[:'period'].nil?
10399
+
10400
+ # header parameters
10401
+ header_params = opts[:header_params] || {}
10402
+ # HTTP header 'Accept' (if needed)
10403
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
10404
+
10405
+ # form parameters
10406
+ form_params = opts[:form_params] || {}
10407
+
10408
+ # http body (model)
10409
+ post_body = opts[:body]
10410
+
10411
+ # return_type
10412
+ return_type = opts[:return_type] || 'InlineResponse20048'
10413
+
10414
+ # auth_names
10415
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
10416
+
10417
+ new_options = opts.merge(
10418
+ :header_params => header_params,
10419
+ :query_params => query_params,
10420
+ :form_params => form_params,
10421
+ :body => post_body,
10422
+ :auth_names => auth_names,
10423
+ :return_type => return_type
10424
+ )
10425
+
10426
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
10427
+ if @api_client.config.debugging
10428
+ @api_client.config.logger.debug "API called: ManagementApi#list_campaign_store_budget_limits\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
10429
+ end
10430
+ return data, status_code, headers
10431
+ end
10432
+
10015
10433
  # List items in a catalog
10016
10434
  # Return a paginated list of cart items in the given catalog.
10017
10435
  # @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**.
@@ -10061,8 +10479,8 @@ module TalonOne
10061
10479
  query_params[:'pageSize'] = opts[:'page_size'] if !opts[:'page_size'].nil?
10062
10480
  query_params[:'skip'] = opts[:'skip'] if !opts[:'skip'].nil?
10063
10481
  query_params[:'withTotalResultSize'] = opts[:'with_total_result_size'] if !opts[:'with_total_result_size'].nil?
10064
- query_params[:'sku'] = @api_client.build_collection_param(opts[:'sku'], :csv) if !opts[:'sku'].nil?
10065
- query_params[:'productNames'] = @api_client.build_collection_param(opts[:'product_names'], :csv) if !opts[:'product_names'].nil?
10482
+ query_params[:'sku'] = @api_client.build_collection_param(opts[:'sku'], :multi) if !opts[:'sku'].nil?
10483
+ query_params[:'productNames'] = @api_client.build_collection_param(opts[:'product_names'], :multi) if !opts[:'product_names'].nil?
10066
10484
 
10067
10485
  # header parameters
10068
10486
  header_params = opts[:header_params] || {}
@@ -10561,6 +10979,70 @@ module TalonOne
10561
10979
  return data, status_code, headers
10562
10980
  end
10563
10981
 
10982
+ # Create SCIM group
10983
+ # Create a new Talon.One group using the SCIM Group provisioning protocol with an identity provider, for example, Microsoft Entra ID, and assign members from the payload to the new group. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
10984
+ # @param body [ScimBaseGroup] body
10985
+ # @param [Hash] opts the optional parameters
10986
+ # @return [ScimGroup]
10987
+ def scim_create_group(body, opts = {})
10988
+ data, _status_code, _headers = scim_create_group_with_http_info(body, opts)
10989
+ data
10990
+ end
10991
+
10992
+ # Create SCIM group
10993
+ # Create a new Talon.One group using the SCIM Group provisioning protocol with an identity provider, for example, Microsoft Entra ID, and assign members from the payload to the new group. In Talon.One, a &#x60;Group&#x60; corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and &#x60;members&#x60; are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
10994
+ # @param body [ScimBaseGroup] body
10995
+ # @param [Hash] opts the optional parameters
10996
+ # @return [Array<(ScimGroup, Integer, Hash)>] ScimGroup data, response status code and response headers
10997
+ def scim_create_group_with_http_info(body, opts = {})
10998
+ if @api_client.config.debugging
10999
+ @api_client.config.logger.debug 'Calling API: ManagementApi.scim_create_group ...'
11000
+ end
11001
+ # verify the required parameter 'body' is set
11002
+ if @api_client.config.client_side_validation && body.nil?
11003
+ fail ArgumentError, "Missing the required parameter 'body' when calling ManagementApi.scim_create_group"
11004
+ end
11005
+ # resource path
11006
+ local_var_path = '/v1/provisioning/scim/Groups'
11007
+
11008
+ # query parameters
11009
+ query_params = opts[:query_params] || {}
11010
+
11011
+ # header parameters
11012
+ header_params = opts[:header_params] || {}
11013
+ # HTTP header 'Accept' (if needed)
11014
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
11015
+ # HTTP header 'Content-Type'
11016
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
11017
+
11018
+ # form parameters
11019
+ form_params = opts[:form_params] || {}
11020
+
11021
+ # http body (model)
11022
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
11023
+
11024
+ # return_type
11025
+ return_type = opts[:return_type] || 'ScimGroup'
11026
+
11027
+ # auth_names
11028
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
11029
+
11030
+ new_options = opts.merge(
11031
+ :header_params => header_params,
11032
+ :query_params => query_params,
11033
+ :form_params => form_params,
11034
+ :body => post_body,
11035
+ :auth_names => auth_names,
11036
+ :return_type => return_type
11037
+ )
11038
+
11039
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path, new_options)
11040
+ if @api_client.config.debugging
11041
+ @api_client.config.logger.debug "API called: ManagementApi#scim_create_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
11042
+ end
11043
+ return data, status_code, headers
11044
+ end
11045
+
10564
11046
  # Create SCIM user
10565
11047
  # Create a new Talon.One user using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
10566
11048
  # @param body [ScimNewUser] body
@@ -10625,6 +11107,66 @@ module TalonOne
10625
11107
  return data, status_code, headers
10626
11108
  end
10627
11109
 
11110
+ # Delete SCIM group
11111
+ # Delete a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11112
+ # @param group_id [Integer] The ID of the group.
11113
+ # @param [Hash] opts the optional parameters
11114
+ # @return [nil]
11115
+ def scim_delete_group(group_id, opts = {})
11116
+ scim_delete_group_with_http_info(group_id, opts)
11117
+ nil
11118
+ end
11119
+
11120
+ # Delete SCIM group
11121
+ # Delete a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a &#x60;Group&#x60; corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and &#x60;members&#x60; are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11122
+ # @param group_id [Integer] The ID of the group.
11123
+ # @param [Hash] opts the optional parameters
11124
+ # @return [Array<(nil, Integer, Hash)>] nil, response status code and response headers
11125
+ def scim_delete_group_with_http_info(group_id, opts = {})
11126
+ if @api_client.config.debugging
11127
+ @api_client.config.logger.debug 'Calling API: ManagementApi.scim_delete_group ...'
11128
+ end
11129
+ # verify the required parameter 'group_id' is set
11130
+ if @api_client.config.client_side_validation && group_id.nil?
11131
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling ManagementApi.scim_delete_group"
11132
+ end
11133
+ # resource path
11134
+ local_var_path = '/v1/provisioning/scim/Groups/{groupId}'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
11135
+
11136
+ # query parameters
11137
+ query_params = opts[:query_params] || {}
11138
+
11139
+ # header parameters
11140
+ header_params = opts[:header_params] || {}
11141
+
11142
+ # form parameters
11143
+ form_params = opts[:form_params] || {}
11144
+
11145
+ # http body (model)
11146
+ post_body = opts[:body]
11147
+
11148
+ # return_type
11149
+ return_type = opts[:return_type]
11150
+
11151
+ # auth_names
11152
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
11153
+
11154
+ new_options = opts.merge(
11155
+ :header_params => header_params,
11156
+ :query_params => query_params,
11157
+ :form_params => form_params,
11158
+ :body => post_body,
11159
+ :auth_names => auth_names,
11160
+ :return_type => return_type
11161
+ )
11162
+
11163
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
11164
+ if @api_client.config.debugging
11165
+ @api_client.config.logger.debug "API called: ManagementApi#scim_delete_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
11166
+ end
11167
+ return data, status_code, headers
11168
+ end
11169
+
10628
11170
  # Delete SCIM user
10629
11171
  # Delete a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID.
10630
11172
  # @param user_id [Integer] The ID of the user.
@@ -10685,6 +11227,124 @@ module TalonOne
10685
11227
  return data, status_code, headers
10686
11228
  end
10687
11229
 
11230
+ # Get SCIM group
11231
+ # Retrieve data for a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11232
+ # @param group_id [Integer] The ID of the group.
11233
+ # @param [Hash] opts the optional parameters
11234
+ # @return [ScimGroup]
11235
+ def scim_get_group(group_id, opts = {})
11236
+ data, _status_code, _headers = scim_get_group_with_http_info(group_id, opts)
11237
+ data
11238
+ end
11239
+
11240
+ # Get SCIM group
11241
+ # Retrieve data for a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a &#x60;Group&#x60; corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and &#x60;members&#x60; are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11242
+ # @param group_id [Integer] The ID of the group.
11243
+ # @param [Hash] opts the optional parameters
11244
+ # @return [Array<(ScimGroup, Integer, Hash)>] ScimGroup data, response status code and response headers
11245
+ def scim_get_group_with_http_info(group_id, opts = {})
11246
+ if @api_client.config.debugging
11247
+ @api_client.config.logger.debug 'Calling API: ManagementApi.scim_get_group ...'
11248
+ end
11249
+ # verify the required parameter 'group_id' is set
11250
+ if @api_client.config.client_side_validation && group_id.nil?
11251
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling ManagementApi.scim_get_group"
11252
+ end
11253
+ # resource path
11254
+ local_var_path = '/v1/provisioning/scim/Groups/{groupId}'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
11255
+
11256
+ # query parameters
11257
+ query_params = opts[:query_params] || {}
11258
+
11259
+ # header parameters
11260
+ header_params = opts[:header_params] || {}
11261
+ # HTTP header 'Accept' (if needed)
11262
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
11263
+
11264
+ # form parameters
11265
+ form_params = opts[:form_params] || {}
11266
+
11267
+ # http body (model)
11268
+ post_body = opts[:body]
11269
+
11270
+ # return_type
11271
+ return_type = opts[:return_type] || 'ScimGroup'
11272
+
11273
+ # auth_names
11274
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
11275
+
11276
+ new_options = opts.merge(
11277
+ :header_params => header_params,
11278
+ :query_params => query_params,
11279
+ :form_params => form_params,
11280
+ :body => post_body,
11281
+ :auth_names => auth_names,
11282
+ :return_type => return_type
11283
+ )
11284
+
11285
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
11286
+ if @api_client.config.debugging
11287
+ @api_client.config.logger.debug "API called: ManagementApi#scim_get_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
11288
+ end
11289
+ return data, status_code, headers
11290
+ end
11291
+
11292
+ # List SCIM groups
11293
+ # Retrieve a paginated list of groups created using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11294
+ # @param [Hash] opts the optional parameters
11295
+ # @return [ScimGroupsListResponse]
11296
+ def scim_get_groups(opts = {})
11297
+ data, _status_code, _headers = scim_get_groups_with_http_info(opts)
11298
+ data
11299
+ end
11300
+
11301
+ # List SCIM groups
11302
+ # Retrieve a paginated list of groups created using the SCIM protocol with an identity provider, for example, Microsoft Entra ID. In Talon.One, a &#x60;Group&#x60; corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and &#x60;members&#x60; are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11303
+ # @param [Hash] opts the optional parameters
11304
+ # @return [Array<(ScimGroupsListResponse, Integer, Hash)>] ScimGroupsListResponse data, response status code and response headers
11305
+ def scim_get_groups_with_http_info(opts = {})
11306
+ if @api_client.config.debugging
11307
+ @api_client.config.logger.debug 'Calling API: ManagementApi.scim_get_groups ...'
11308
+ end
11309
+ # resource path
11310
+ local_var_path = '/v1/provisioning/scim/Groups'
11311
+
11312
+ # query parameters
11313
+ query_params = opts[:query_params] || {}
11314
+
11315
+ # header parameters
11316
+ header_params = opts[:header_params] || {}
11317
+ # HTTP header 'Accept' (if needed)
11318
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
11319
+
11320
+ # form parameters
11321
+ form_params = opts[:form_params] || {}
11322
+
11323
+ # http body (model)
11324
+ post_body = opts[:body]
11325
+
11326
+ # return_type
11327
+ return_type = opts[:return_type] || 'ScimGroupsListResponse'
11328
+
11329
+ # auth_names
11330
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
11331
+
11332
+ new_options = opts.merge(
11333
+ :header_params => header_params,
11334
+ :query_params => query_params,
11335
+ :form_params => form_params,
11336
+ :body => post_body,
11337
+ :auth_names => auth_names,
11338
+ :return_type => return_type
11339
+ )
11340
+
11341
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
11342
+ if @api_client.config.debugging
11343
+ @api_client.config.logger.debug "API called: ManagementApi#scim_get_groups\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
11344
+ end
11345
+ return data, status_code, headers
11346
+ end
11347
+
10688
11348
  # List supported SCIM resource types
10689
11349
  # Retrieve a list of resource types supported by the SCIM provisioning protocol. Resource types define the various kinds of resources that can be managed via the SCIM API, such as users, groups, or custom-defined resources.
10690
11350
  # @param [Hash] opts the optional parameters
@@ -10971,6 +11631,76 @@ module TalonOne
10971
11631
  return data, status_code, headers
10972
11632
  end
10973
11633
 
11634
+ # Update SCIM group attributes
11635
+ # Update certain attributes of a group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint allows for selective adding, removing, or replacing of specific group attributes while other attributes remain unchanged. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11636
+ # @param group_id [Integer] The ID of the group.
11637
+ # @param body [ScimPatchRequest] body
11638
+ # @param [Hash] opts the optional parameters
11639
+ # @return [ScimGroup]
11640
+ def scim_patch_group(group_id, body, opts = {})
11641
+ data, _status_code, _headers = scim_patch_group_with_http_info(group_id, body, opts)
11642
+ data
11643
+ end
11644
+
11645
+ # Update SCIM group attributes
11646
+ # Update certain attributes of a group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint allows for selective adding, removing, or replacing of specific group attributes while other attributes remain unchanged. In Talon.One, a &#x60;Group&#x60; corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and &#x60;members&#x60; are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11647
+ # @param group_id [Integer] The ID of the group.
11648
+ # @param body [ScimPatchRequest] body
11649
+ # @param [Hash] opts the optional parameters
11650
+ # @return [Array<(ScimGroup, Integer, Hash)>] ScimGroup data, response status code and response headers
11651
+ def scim_patch_group_with_http_info(group_id, body, opts = {})
11652
+ if @api_client.config.debugging
11653
+ @api_client.config.logger.debug 'Calling API: ManagementApi.scim_patch_group ...'
11654
+ end
11655
+ # verify the required parameter 'group_id' is set
11656
+ if @api_client.config.client_side_validation && group_id.nil?
11657
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling ManagementApi.scim_patch_group"
11658
+ end
11659
+ # verify the required parameter 'body' is set
11660
+ if @api_client.config.client_side_validation && body.nil?
11661
+ fail ArgumentError, "Missing the required parameter 'body' when calling ManagementApi.scim_patch_group"
11662
+ end
11663
+ # resource path
11664
+ local_var_path = '/v1/provisioning/scim/Groups/{groupId}'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
11665
+
11666
+ # query parameters
11667
+ query_params = opts[:query_params] || {}
11668
+
11669
+ # header parameters
11670
+ header_params = opts[:header_params] || {}
11671
+ # HTTP header 'Accept' (if needed)
11672
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
11673
+ # HTTP header 'Content-Type'
11674
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
11675
+
11676
+ # form parameters
11677
+ form_params = opts[:form_params] || {}
11678
+
11679
+ # http body (model)
11680
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
11681
+
11682
+ # return_type
11683
+ return_type = opts[:return_type] || 'ScimGroup'
11684
+
11685
+ # auth_names
11686
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
11687
+
11688
+ new_options = opts.merge(
11689
+ :header_params => header_params,
11690
+ :query_params => query_params,
11691
+ :form_params => form_params,
11692
+ :body => post_body,
11693
+ :auth_names => auth_names,
11694
+ :return_type => return_type
11695
+ )
11696
+
11697
+ data, status_code, headers = @api_client.call_api(:PATCH, local_var_path, new_options)
11698
+ if @api_client.config.debugging
11699
+ @api_client.config.logger.debug "API called: ManagementApi#scim_patch_group\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
11700
+ end
11701
+ return data, status_code, headers
11702
+ end
11703
+
10974
11704
  # Update SCIM user attributes
10975
11705
  # Update certain attributes of a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint allows for selective adding, removing, or replacing specific attributes while leaving other attributes unchanged.
10976
11706
  # @param user_id [Integer] The ID of the user.
@@ -11041,6 +11771,76 @@ module TalonOne
11041
11771
  return data, status_code, headers
11042
11772
  end
11043
11773
 
11774
+ # Update SCIM group
11775
+ # Update the details of a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint replaces all attributes of the given group with the attributes provided in the request payload. In Talon.One, a `Group` corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and `members` are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11776
+ # @param group_id [Integer] The ID of the group.
11777
+ # @param body [ScimBaseGroup] body
11778
+ # @param [Hash] opts the optional parameters
11779
+ # @return [ScimGroup]
11780
+ def scim_replace_group_attributes(group_id, body, opts = {})
11781
+ data, _status_code, _headers = scim_replace_group_attributes_with_http_info(group_id, body, opts)
11782
+ data
11783
+ end
11784
+
11785
+ # Update SCIM group
11786
+ # Update the details of a specific group created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint replaces all attributes of the given group with the attributes provided in the request payload. In Talon.One, a &#x60;Group&#x60; corresponds to a [role](https://docs.talon.one/docs/product/account/account-settings/managing-roles), and &#x60;members&#x60; are the [users](https://docs.talon.one/docs/product/account/account-settings/managing-users) assigned to that role.
11787
+ # @param group_id [Integer] The ID of the group.
11788
+ # @param body [ScimBaseGroup] body
11789
+ # @param [Hash] opts the optional parameters
11790
+ # @return [Array<(ScimGroup, Integer, Hash)>] ScimGroup data, response status code and response headers
11791
+ def scim_replace_group_attributes_with_http_info(group_id, body, opts = {})
11792
+ if @api_client.config.debugging
11793
+ @api_client.config.logger.debug 'Calling API: ManagementApi.scim_replace_group_attributes ...'
11794
+ end
11795
+ # verify the required parameter 'group_id' is set
11796
+ if @api_client.config.client_side_validation && group_id.nil?
11797
+ fail ArgumentError, "Missing the required parameter 'group_id' when calling ManagementApi.scim_replace_group_attributes"
11798
+ end
11799
+ # verify the required parameter 'body' is set
11800
+ if @api_client.config.client_side_validation && body.nil?
11801
+ fail ArgumentError, "Missing the required parameter 'body' when calling ManagementApi.scim_replace_group_attributes"
11802
+ end
11803
+ # resource path
11804
+ local_var_path = '/v1/provisioning/scim/Groups/{groupId}'.sub('{' + 'groupId' + '}', CGI.escape(group_id.to_s))
11805
+
11806
+ # query parameters
11807
+ query_params = opts[:query_params] || {}
11808
+
11809
+ # header parameters
11810
+ header_params = opts[:header_params] || {}
11811
+ # HTTP header 'Accept' (if needed)
11812
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
11813
+ # HTTP header 'Content-Type'
11814
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json'])
11815
+
11816
+ # form parameters
11817
+ form_params = opts[:form_params] || {}
11818
+
11819
+ # http body (model)
11820
+ post_body = opts[:body] || @api_client.object_to_http_body(body)
11821
+
11822
+ # return_type
11823
+ return_type = opts[:return_type] || 'ScimGroup'
11824
+
11825
+ # auth_names
11826
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
11827
+
11828
+ new_options = opts.merge(
11829
+ :header_params => header_params,
11830
+ :query_params => query_params,
11831
+ :form_params => form_params,
11832
+ :body => post_body,
11833
+ :auth_names => auth_names,
11834
+ :return_type => return_type
11835
+ )
11836
+
11837
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
11838
+ if @api_client.config.debugging
11839
+ @api_client.config.logger.debug "API called: ManagementApi#scim_replace_group_attributes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
11840
+ end
11841
+ return data, status_code, headers
11842
+ end
11843
+
11044
11844
  # Update SCIM user
11045
11845
  # Update the details of a specific Talon.One user created using the SCIM provisioning protocol with an identity provider, for example, Microsoft Entra ID. This endpoint replaces all attributes of the specific user with the attributes provided in the request payload.
11046
11846
  # @param user_id [Integer] The ID of the user.
@@ -11368,6 +12168,74 @@ module TalonOne
11368
12168
  return data, status_code, headers
11369
12169
  end
11370
12170
 
12171
+ # Get summary of campaign store budgets
12172
+ # Fetch a summary of all store budget information for a given campaign.
12173
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
12174
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
12175
+ # @param [Hash] opts the optional parameters
12176
+ # @return [InlineResponse20049]
12177
+ def summarize_campaign_store_budget(application_id, campaign_id, opts = {})
12178
+ data, _status_code, _headers = summarize_campaign_store_budget_with_http_info(application_id, campaign_id, opts)
12179
+ data
12180
+ end
12181
+
12182
+ # Get summary of campaign store budgets
12183
+ # Fetch a summary of all store budget information for a given campaign.
12184
+ # @param application_id [Integer] The ID of the Application. It is displayed in your Talon.One deployment URL.
12185
+ # @param campaign_id [Integer] The ID of the campaign. It is displayed in your Talon.One deployment URL.
12186
+ # @param [Hash] opts the optional parameters
12187
+ # @return [Array<(InlineResponse20049, Integer, Hash)>] InlineResponse20049 data, response status code and response headers
12188
+ def summarize_campaign_store_budget_with_http_info(application_id, campaign_id, opts = {})
12189
+ if @api_client.config.debugging
12190
+ @api_client.config.logger.debug 'Calling API: ManagementApi.summarize_campaign_store_budget ...'
12191
+ end
12192
+ # verify the required parameter 'application_id' is set
12193
+ if @api_client.config.client_side_validation && application_id.nil?
12194
+ fail ArgumentError, "Missing the required parameter 'application_id' when calling ManagementApi.summarize_campaign_store_budget"
12195
+ end
12196
+ # verify the required parameter 'campaign_id' is set
12197
+ if @api_client.config.client_side_validation && campaign_id.nil?
12198
+ fail ArgumentError, "Missing the required parameter 'campaign_id' when calling ManagementApi.summarize_campaign_store_budget"
12199
+ end
12200
+ # resource path
12201
+ local_var_path = '/v1/applications/{applicationId}/campaigns/{campaignId}/stores/budgets/summary'.sub('{' + 'applicationId' + '}', CGI.escape(application_id.to_s)).sub('{' + 'campaignId' + '}', CGI.escape(campaign_id.to_s))
12202
+
12203
+ # query parameters
12204
+ query_params = opts[:query_params] || {}
12205
+
12206
+ # header parameters
12207
+ header_params = opts[:header_params] || {}
12208
+ # HTTP header 'Accept' (if needed)
12209
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
12210
+
12211
+ # form parameters
12212
+ form_params = opts[:form_params] || {}
12213
+
12214
+ # http body (model)
12215
+ post_body = opts[:body]
12216
+
12217
+ # return_type
12218
+ return_type = opts[:return_type] || 'InlineResponse20049'
12219
+
12220
+ # auth_names
12221
+ auth_names = opts[:auth_names] || ['management_key', 'manager_auth']
12222
+
12223
+ new_options = opts.merge(
12224
+ :header_params => header_params,
12225
+ :query_params => query_params,
12226
+ :form_params => form_params,
12227
+ :body => post_body,
12228
+ :auth_names => auth_names,
12229
+ :return_type => return_type
12230
+ )
12231
+
12232
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
12233
+ if @api_client.config.debugging
12234
+ @api_client.config.logger.debug "API called: ManagementApi#summarize_campaign_store_budget\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
12235
+ end
12236
+ return data, status_code, headers
12237
+ end
12238
+
11371
12239
  # Transfer card data
11372
12240
  # Transfer loyalty card data, such as linked customers, loyalty balances and transactions, from a given loyalty card to a new, automatically created loyalty card. **Important:** - The original card is automatically blocked once the new card is created, and it cannot be activated again. - The default status of the new card is _active_.
11373
12241
  # @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.