talon_one 8.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +42 -8
  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 +35 -0
  7. data/docs/AchievementProgressWithDefinition.md +45 -0
  8. data/docs/AchievementStatusEntry.md +45 -0
  9. data/docs/AddPriceAdjustmentCatalogAction.md +19 -0
  10. data/docs/AddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  11. data/docs/AnalyticsSKU.md +23 -0
  12. data/docs/Application.md +1 -1
  13. data/docs/ApplicationCIF.md +1 -1
  14. data/docs/ApplicationCIFExpression.md +1 -1
  15. data/docs/ApplicationCIFReferences.md +19 -0
  16. data/docs/ApplicationCustomer.md +2 -2
  17. data/docs/ApplicationEvent.md +1 -1
  18. data/docs/ApplicationSession.md +1 -1
  19. data/docs/Attribute.md +1 -1
  20. data/docs/Audience.md +1 -1
  21. data/docs/AudienceCustomer.md +2 -2
  22. data/docs/BaseNotificationWebhook.md +1 -1
  23. data/docs/Binding.md +9 -1
  24. data/docs/CampaignCollection.md +1 -1
  25. data/docs/CampaignCollectionWithoutPayload.md +1 -1
  26. data/docs/CampaignDeactivationRequest.md +17 -0
  27. data/docs/CampaignDetail.md +19 -0
  28. data/docs/CampaignGroup.md +1 -1
  29. data/docs/CampaignSet.md +1 -1
  30. data/docs/CampaignStoreBudget.md +1 -1
  31. data/docs/CampaignStoreBudgetLimitConfig.md +25 -0
  32. data/docs/CampaignTemplate.md +4 -2
  33. data/docs/CardAddedDeductedPointsBalancesNotificationPolicy.md +19 -0
  34. data/docs/CartItem.md +12 -2
  35. data/docs/Catalog.md +1 -1
  36. data/docs/CatalogItem.md +1 -1
  37. data/docs/Change.md +1 -1
  38. data/docs/Collection.md +1 -1
  39. data/docs/CollectionWithoutPayload.md +1 -1
  40. data/docs/Coupon.md +2 -2
  41. data/docs/CouponCreationJob.md +1 -1
  42. data/docs/CouponDeletionJob.md +1 -1
  43. data/docs/CouponEntity.md +19 -0
  44. data/docs/CreateAchievement.md +1 -1
  45. data/docs/CustomEffect.md +1 -1
  46. data/docs/CustomerProfile.md +2 -2
  47. data/docs/CustomerProfileEntity.md +19 -0
  48. data/docs/CustomerSessionV2.md +1 -1
  49. data/docs/Effect.md +6 -0
  50. data/docs/EffectEntity.md +7 -1
  51. data/docs/Entity.md +1 -1
  52. data/docs/Environment.md +4 -2
  53. data/docs/Event.md +1 -1
  54. data/docs/EventType.md +1 -1
  55. data/docs/Export.md +1 -1
  56. data/docs/ExtendLoyaltyPointsExpiryDateEffectProps.md +25 -0
  57. data/docs/Giveaway.md +1 -1
  58. data/docs/GiveawaysPool.md +1 -1
  59. data/docs/HiddenConditionsEffects.md +23 -0
  60. data/docs/Import.md +1 -1
  61. data/docs/InlineResponse20048.md +17 -0
  62. data/docs/InlineResponse20049.md +17 -0
  63. data/docs/InlineResponse20050.md +19 -0
  64. data/docs/InlineResponse20051.md +19 -0
  65. data/docs/IntegrationApi.md +6 -4
  66. data/docs/IntegrationCoupon.md +2 -2
  67. data/docs/IntegrationCustomerProfileAudienceRequest.md +17 -0
  68. data/docs/IntegrationCustomerProfileAudienceRequestItem.md +21 -0
  69. data/docs/IntegrationEventV2Request.md +2 -0
  70. data/docs/InventoryCoupon.md +2 -2
  71. data/docs/InventoryReferral.md +1 -1
  72. data/docs/LedgerEntry.md +1 -1
  73. data/docs/LedgerInfo.md +2 -2
  74. data/docs/LedgerTransactionLogEntryIntegrationAPI.md +3 -1
  75. data/docs/LoyaltyCard.md +1 -1
  76. data/docs/LoyaltyLedgerEntryFlags.md +17 -0
  77. data/docs/LoyaltyProgramBalance.md +2 -2
  78. data/docs/LoyaltyProgramTransaction.md +3 -1
  79. data/docs/LoyaltyTier.md +1 -1
  80. data/docs/ManagementApi.md +824 -220
  81. data/docs/MessageTest.md +27 -0
  82. data/docs/ModelReturn.md +1 -1
  83. data/docs/MultipleAudiencesItem.md +1 -1
  84. data/docs/NewMessageTest.md +29 -0
  85. data/docs/NewPriceAdjustment.md +27 -0
  86. data/docs/NewPriceType.md +23 -0
  87. data/docs/NewWebhook.md +2 -0
  88. data/docs/Picklist.md +1 -1
  89. data/docs/PriceDetail.md +23 -0
  90. data/docs/PriceType.md +33 -0
  91. data/docs/ProductUnitAnalyticsDataPoint.md +25 -0
  92. data/docs/ProductUnitAnalyticsTotals.md +17 -0
  93. data/docs/Referral.md +1 -1
  94. data/docs/RevisionActivationRequest.md +19 -0
  95. data/docs/Role.md +1 -1
  96. data/docs/RoleV2.md +1 -1
  97. data/docs/Ruleset.md +1 -1
  98. data/docs/SamlConnection.md +1 -1
  99. data/docs/ScimBaseGroup.md +19 -0
  100. data/docs/ScimGroup.md +21 -0
  101. data/docs/ScimGroupMember.md +19 -0
  102. data/docs/ScimGroupsListResponse.md +21 -0
  103. data/docs/SkuUnitAnalytics.md +19 -0
  104. data/docs/SkuUnitAnalyticsDataPoint.md +23 -0
  105. data/docs/Store.md +1 -1
  106. data/docs/StrikethroughLabelingNotification.md +2 -0
  107. data/docs/TemplateDef.md +1 -1
  108. data/docs/UpdateAchievement.md +1 -1
  109. data/docs/User.md +1 -1
  110. data/docs/Webhook.md +3 -1
  111. data/docs/WebhookAuthentication.md +33 -0
  112. data/docs/WebhookAuthenticationBase.md +21 -0
  113. data/docs/WebhookAuthenticationDataBasic.md +19 -0
  114. data/docs/WebhookAuthenticationDataCustom.md +17 -0
  115. data/docs/WebhookAuthenticationWebhookRef.md +21 -0
  116. data/docs/WebhookWithOutgoingIntegrationDetails.md +3 -1
  117. data/lib/talon_one/api/integration_api.rb +9 -6
  118. data/lib/talon_one/api/management_api.rb +1009 -304
  119. data/lib/talon_one/models/account.rb +1 -1
  120. data/lib/talon_one/models/account_additional_cost.rb +1 -1
  121. data/lib/talon_one/models/achievement.rb +4 -4
  122. data/lib/talon_one/models/achievement_base.rb +377 -0
  123. data/lib/talon_one/models/achievement_progress_with_definition.rb +490 -0
  124. data/lib/talon_one/models/achievement_status_entry.rb +472 -0
  125. data/lib/talon_one/models/add_price_adjustment_catalog_action.rb +230 -0
  126. data/lib/talon_one/models/added_deducted_points_balances_notification_policy.rb +269 -0
  127. data/lib/talon_one/models/analytics_sku.rb +246 -0
  128. data/lib/talon_one/models/application.rb +1 -1
  129. data/lib/talon_one/models/application_cif.rb +1 -1
  130. data/lib/talon_one/models/application_cif_expression.rb +1 -1
  131. data/lib/talon_one/models/application_cif_references.rb +219 -0
  132. data/lib/talon_one/models/application_customer.rb +2 -2
  133. data/lib/talon_one/models/application_event.rb +1 -1
  134. data/lib/talon_one/models/application_session.rb +1 -1
  135. data/lib/talon_one/models/attribute.rb +1 -1
  136. data/lib/talon_one/models/audience.rb +1 -1
  137. data/lib/talon_one/models/audience_customer.rb +2 -2
  138. data/lib/talon_one/models/base_notification.rb +2 -2
  139. data/lib/talon_one/models/base_notification_webhook.rb +1 -1
  140. data/lib/talon_one/models/binding.rb +44 -4
  141. data/lib/talon_one/models/campaign_collection.rb +1 -1
  142. data/lib/talon_one/models/campaign_collection_without_payload.rb +1 -1
  143. data/lib/talon_one/models/campaign_deactivation_request.rb +214 -0
  144. data/lib/talon_one/models/campaign_detail.rb +232 -0
  145. data/lib/talon_one/models/campaign_group.rb +1 -1
  146. data/lib/talon_one/models/campaign_set.rb +1 -1
  147. data/lib/talon_one/models/campaign_store_budget.rb +1 -1
  148. data/lib/talon_one/models/campaign_store_budget_limit_config.rb +322 -0
  149. data/lib/talon_one/models/campaign_template.rb +17 -5
  150. data/lib/talon_one/models/card_added_deducted_points_balances_notification_policy.rb +269 -0
  151. data/lib/talon_one/models/cart_item.rb +57 -5
  152. data/lib/talon_one/models/catalog.rb +1 -1
  153. data/lib/talon_one/models/catalog_action.rb +2 -2
  154. data/lib/talon_one/models/catalog_item.rb +1 -1
  155. data/lib/talon_one/models/change.rb +1 -1
  156. data/lib/talon_one/models/collection.rb +1 -1
  157. data/lib/talon_one/models/collection_without_payload.rb +1 -1
  158. data/lib/talon_one/models/coupon.rb +7 -7
  159. data/lib/talon_one/models/coupon_constraints.rb +5 -5
  160. data/lib/talon_one/models/coupon_creation_job.rb +6 -6
  161. data/lib/talon_one/models/coupon_deletion_job.rb +1 -1
  162. data/lib/talon_one/models/coupon_entity.rb +227 -0
  163. data/lib/talon_one/models/create_achievement.rb +3 -3
  164. data/lib/talon_one/models/custom_effect.rb +1 -1
  165. data/lib/talon_one/models/customer_profile.rb +2 -2
  166. data/lib/talon_one/models/customer_profile_entity.rb +227 -0
  167. data/lib/talon_one/models/customer_session_v2.rb +1 -1
  168. data/lib/talon_one/models/delete_user_request.rb +0 -1
  169. data/lib/talon_one/models/effect.rb +31 -1
  170. data/lib/talon_one/models/effect_entity.rb +34 -4
  171. data/lib/talon_one/models/entity.rb +1 -1
  172. data/lib/talon_one/models/environment.rb +17 -5
  173. data/lib/talon_one/models/event.rb +1 -1
  174. data/lib/talon_one/models/event_type.rb +1 -1
  175. data/lib/talon_one/models/export.rb +1 -1
  176. data/lib/talon_one/models/extend_loyalty_points_expiry_date_effect_props.rb +270 -0
  177. data/lib/talon_one/models/giveaway.rb +1 -1
  178. data/lib/talon_one/models/giveaways_pool.rb +1 -1
  179. data/lib/talon_one/models/hidden_conditions_effects.rb +246 -0
  180. data/lib/talon_one/models/import.rb +1 -1
  181. data/lib/talon_one/models/inline_response20048.rb +208 -0
  182. data/lib/talon_one/models/inline_response20049.rb +208 -0
  183. data/lib/talon_one/models/inline_response20050.rb +222 -0
  184. data/lib/talon_one/models/inline_response20051.rb +227 -0
  185. data/lib/talon_one/models/integration_coupon.rb +7 -7
  186. data/lib/talon_one/models/integration_customer_profile_audience_request.rb +208 -0
  187. data/lib/talon_one/models/integration_customer_profile_audience_request_item.rb +295 -0
  188. data/lib/talon_one/models/integration_event_v2_request.rb +13 -1
  189. data/lib/talon_one/models/inventory_coupon.rb +7 -7
  190. data/lib/talon_one/models/inventory_referral.rb +1 -1
  191. data/lib/talon_one/models/ledger_entry.rb +1 -1
  192. data/lib/talon_one/models/ledger_info.rb +0 -10
  193. data/lib/talon_one/models/ledger_transaction_log_entry_integration_api.rb +13 -4
  194. data/lib/talon_one/models/loyalty_card.rb +1 -1
  195. data/lib/talon_one/models/loyalty_ledger_entry_flags.rb +208 -0
  196. data/lib/talon_one/models/loyalty_program_balance.rb +0 -10
  197. data/lib/talon_one/models/loyalty_program_transaction.rb +13 -4
  198. data/lib/talon_one/models/loyalty_tier.rb +1 -1
  199. data/lib/talon_one/models/message_test.rb +227 -0
  200. data/lib/talon_one/models/model_return.rb +1 -1
  201. data/lib/talon_one/models/multiple_audiences_item.rb +1 -1
  202. data/lib/talon_one/models/new_coupon_creation_job.rb +5 -5
  203. data/lib/talon_one/models/new_coupons.rb +5 -5
  204. data/lib/talon_one/models/new_coupons_for_multiple_recipients.rb +5 -5
  205. data/lib/talon_one/models/new_message_test.rb +322 -0
  206. data/lib/talon_one/models/new_price_adjustment.rb +268 -0
  207. data/lib/talon_one/models/new_price_type.rb +270 -0
  208. data/lib/talon_one/models/new_webhook.rb +16 -1
  209. data/lib/talon_one/models/picklist.rb +1 -1
  210. data/lib/talon_one/models/price_detail.rb +237 -0
  211. data/lib/talon_one/models/price_type.rb +347 -0
  212. data/lib/talon_one/models/product_unit_analytics_data_point.rb +271 -0
  213. data/lib/talon_one/models/product_unit_analytics_totals.rb +206 -0
  214. data/lib/talon_one/models/referral.rb +1 -1
  215. data/lib/talon_one/models/revision_activation_request.rb +224 -0
  216. data/lib/talon_one/models/role.rb +1 -1
  217. data/lib/talon_one/models/role_v2.rb +1 -1
  218. data/lib/talon_one/models/ruleset.rb +1 -1
  219. data/lib/talon_one/models/saml_connection.rb +1 -1
  220. data/lib/talon_one/models/scim_base_group.rb +220 -0
  221. data/lib/talon_one/models/scim_group.rb +235 -0
  222. data/lib/talon_one/models/scim_group_member.rb +218 -0
  223. data/lib/talon_one/models/scim_groups_list_response.rb +236 -0
  224. data/lib/talon_one/models/sku_unit_analytics.rb +227 -0
  225. data/lib/talon_one/models/sku_unit_analytics_data_point.rb +256 -0
  226. data/lib/talon_one/models/store.rb +1 -1
  227. data/lib/talon_one/models/strikethrough_labeling_notification.rb +11 -1
  228. data/lib/talon_one/models/template_def.rb +1 -1
  229. data/lib/talon_one/models/update_achievement.rb +3 -3
  230. data/lib/talon_one/models/update_coupon.rb +5 -5
  231. data/lib/talon_one/models/update_coupon_batch.rb +5 -5
  232. data/lib/talon_one/models/user.rb +1 -1
  233. data/lib/talon_one/models/webhook.rb +17 -2
  234. data/lib/talon_one/models/webhook_authentication.rb +365 -0
  235. data/lib/talon_one/models/webhook_authentication_base.rb +274 -0
  236. data/lib/talon_one/models/webhook_authentication_data_basic.rb +227 -0
  237. data/lib/talon_one/models/webhook_authentication_data_custom.rb +213 -0
  238. data/lib/talon_one/models/webhook_authentication_webhook_ref.rb +258 -0
  239. data/lib/talon_one/models/webhook_with_outgoing_integration_details.rb +17 -2
  240. data/lib/talon_one/version.rb +1 -1
  241. data/lib/talon_one.rb +26 -1
  242. data/spec/api/integration_api_spec.rb +4 -3
  243. data/spec/api/management_api_spec.rb +227 -90
  244. data/spec/models/achievement_base_spec.rb +1 -1
  245. data/spec/models/achievement_progress_with_definition_spec.rb +1 -1
  246. data/spec/models/achievement_spec.rb +1 -1
  247. data/spec/models/achievement_status_entry_spec.rb +1 -1
  248. data/spec/models/add_price_adjustment_catalog_action_spec.rb +47 -0
  249. data/spec/models/added_deducted_points_balances_notification_policy_spec.rb +51 -0
  250. data/spec/models/base_notification_spec.rb +1 -1
  251. data/spec/models/binding_spec.rb +24 -0
  252. data/spec/models/campaign_deactivation_request_spec.rb +41 -0
  253. data/spec/models/campaign_template_spec.rb +6 -0
  254. data/spec/models/card_added_deducted_points_balances_notification_policy_spec.rb +51 -0
  255. data/spec/models/cart_item_spec.rb +30 -0
  256. data/spec/models/catalog_action_spec.rb +1 -1
  257. data/spec/models/coupon_entity_spec.rb +47 -0
  258. data/spec/models/create_achievement_spec.rb +1 -1
  259. data/spec/models/customer_profile_entity_spec.rb +47 -0
  260. data/spec/models/effect_entity_spec.rb +18 -0
  261. data/spec/models/effect_spec.rb +18 -0
  262. data/spec/models/environment_spec.rb +6 -0
  263. data/spec/models/extend_loyalty_points_expiry_date_effect_props_spec.rb +65 -0
  264. data/spec/models/inline_response20048_spec.rb +0 -6
  265. data/spec/models/inline_response20049_spec.rb +0 -6
  266. data/spec/models/inline_response20050_spec.rb +47 -0
  267. data/spec/models/inline_response20051_spec.rb +47 -0
  268. data/spec/models/integration_customer_profile_audience_request_item_spec.rb +57 -0
  269. data/spec/models/integration_customer_profile_audience_request_spec.rb +41 -0
  270. data/spec/models/integration_event_v2_request_spec.rb +6 -0
  271. data/spec/models/ledger_transaction_log_entry_integration_api_spec.rb +6 -0
  272. data/spec/models/loyalty_program_transaction_spec.rb +6 -0
  273. data/spec/models/new_message_test_spec.rb +1 -1
  274. data/spec/models/new_price_adjustment_spec.rb +71 -0
  275. data/spec/models/new_price_type_spec.rb +59 -0
  276. data/spec/models/new_webhook_spec.rb +6 -0
  277. data/spec/models/price_detail_spec.rb +59 -0
  278. data/spec/models/price_type_spec.rb +89 -0
  279. data/spec/models/revision_activation_request_spec.rb +47 -0
  280. data/spec/models/scim_base_group_spec.rb +47 -0
  281. data/spec/models/scim_group_member_spec.rb +47 -0
  282. data/spec/models/scim_group_spec.rb +53 -0
  283. data/spec/models/scim_groups_list_response_spec.rb +53 -0
  284. data/spec/models/strikethrough_labeling_notification_spec.rb +6 -0
  285. data/spec/models/update_achievement_spec.rb +1 -1
  286. data/spec/models/webhook_authentication_base_spec.rb +57 -0
  287. data/spec/models/webhook_authentication_data_basic_spec.rb +47 -0
  288. data/spec/models/webhook_authentication_data_custom_spec.rb +41 -0
  289. data/spec/models/webhook_authentication_spec.rb +93 -0
  290. data/spec/models/webhook_authentication_webhook_ref_spec.rb +53 -0
  291. data/spec/models/webhook_spec.rb +6 -0
  292. data/spec/models/webhook_with_outgoing_integration_details_spec.rb +6 -0
  293. metadata +661 -527
@@ -0,0 +1,269 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
5
+
6
+ The version of the OpenAPI document:
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TalonOne
16
+ class AddedDeductedPointsBalancesNotificationPolicy
17
+ # Notification name.
18
+ attr_accessor :name
19
+
20
+ attr_accessor :scopes
21
+
22
+ class EnumAttributeValidator
23
+ attr_reader :datatype
24
+ attr_reader :allowable_values
25
+
26
+ def initialize(datatype, allowable_values)
27
+ @allowable_values = allowable_values.map do |value|
28
+ case datatype.to_s
29
+ when /Integer/i
30
+ value.to_i
31
+ when /Float/i
32
+ value.to_f
33
+ else
34
+ value
35
+ end
36
+ end
37
+ end
38
+
39
+ def valid?(value)
40
+ !value || allowable_values.include?(value)
41
+ end
42
+ end
43
+
44
+ # Attribute mapping from ruby-style variable name to JSON key.
45
+ def self.attribute_map
46
+ {
47
+ :'name' => :'name',
48
+ :'scopes' => :'scopes'
49
+ }
50
+ end
51
+
52
+ # Attribute type mapping.
53
+ def self.openapi_types
54
+ {
55
+ :'name' => :'String',
56
+ :'scopes' => :'Array<String>'
57
+ }
58
+ end
59
+
60
+ # List of attributes with nullable: true
61
+ def self.openapi_nullable
62
+ Set.new([
63
+ ])
64
+ end
65
+
66
+ # Initializes the object
67
+ # @param [Hash] attributes Model attributes in the form of hash
68
+ def initialize(attributes = {})
69
+ if (!attributes.is_a?(Hash))
70
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::AddedDeductedPointsBalancesNotificationPolicy` initialize method"
71
+ end
72
+
73
+ # check to see if the attribute exists and convert string to symbol for hash key
74
+ attributes = attributes.each_with_object({}) { |(k, v), h|
75
+ if (!self.class.attribute_map.key?(k.to_sym))
76
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::AddedDeductedPointsBalancesNotificationPolicy`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
77
+ end
78
+ h[k.to_sym] = v
79
+ }
80
+
81
+ if attributes.key?(:'name')
82
+ self.name = attributes[:'name']
83
+ end
84
+
85
+ if attributes.key?(:'scopes')
86
+ if (value = attributes[:'scopes']).is_a?(Array)
87
+ self.scopes = value
88
+ end
89
+ end
90
+ end
91
+
92
+ # Show invalid properties with the reasons. Usually used together with valid?
93
+ # @return Array for valid properties with the reasons
94
+ def list_invalid_properties
95
+ invalid_properties = Array.new
96
+ if @name.nil?
97
+ invalid_properties.push('invalid value for "name", name cannot be nil.')
98
+ end
99
+
100
+ if @name.to_s.length < 1
101
+ invalid_properties.push('invalid value for "name", the character length must be great than or equal to 1.')
102
+ end
103
+
104
+ if @scopes.nil?
105
+ invalid_properties.push('invalid value for "scopes", scopes cannot be nil.')
106
+ end
107
+
108
+ invalid_properties
109
+ end
110
+
111
+ # Check to see if the all the properties in the model are valid
112
+ # @return true if the model is valid
113
+ def valid?
114
+ return false if @name.nil?
115
+ return false if @name.to_s.length < 1
116
+ return false if @scopes.nil?
117
+ true
118
+ end
119
+
120
+ # Custom attribute writer method with validation
121
+ # @param [Object] name Value to be assigned
122
+ def name=(name)
123
+ if name.nil?
124
+ fail ArgumentError, 'name cannot be nil'
125
+ end
126
+
127
+ if name.to_s.length < 1
128
+ fail ArgumentError, 'invalid value for "name", the character length must be great than or equal to 1.'
129
+ end
130
+
131
+ @name = name
132
+ end
133
+
134
+ # Checks equality by comparing each attribute.
135
+ # @param [Object] Object to be compared
136
+ def ==(o)
137
+ return true if self.equal?(o)
138
+ self.class == o.class &&
139
+ name == o.name &&
140
+ scopes == o.scopes
141
+ end
142
+
143
+ # @see the `==` method
144
+ # @param [Object] Object to be compared
145
+ def eql?(o)
146
+ self == o
147
+ end
148
+
149
+ # Calculates hash code according to all attributes.
150
+ # @return [Integer] Hash code
151
+ def hash
152
+ [name, scopes].hash
153
+ end
154
+
155
+ # Builds the object from hash
156
+ # @param [Hash] attributes Model attributes in the form of hash
157
+ # @return [Object] Returns the model itself
158
+ def self.build_from_hash(attributes)
159
+ new.build_from_hash(attributes)
160
+ end
161
+
162
+ # Builds the object from hash
163
+ # @param [Hash] attributes Model attributes in the form of hash
164
+ # @return [Object] Returns the model itself
165
+ def build_from_hash(attributes)
166
+ return nil unless attributes.is_a?(Hash)
167
+ self.class.openapi_types.each_pair do |key, type|
168
+ if type =~ /\AArray<(.*)>/i
169
+ # check to ensure the input is an array given that the attribute
170
+ # is documented as an array but the input is not
171
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
172
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
173
+ end
174
+ elsif !attributes[self.class.attribute_map[key]].nil?
175
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
176
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
177
+ end
178
+
179
+ self
180
+ end
181
+
182
+ # Deserializes the data based on type
183
+ # @param string type Data type
184
+ # @param string value Value to be deserialized
185
+ # @return [Object] Deserialized data
186
+ def _deserialize(type, value)
187
+ case type.to_sym
188
+ when :DateTime
189
+ DateTime.parse(value)
190
+ when :Date
191
+ Date.parse(value)
192
+ when :String
193
+ value.to_s
194
+ when :Integer
195
+ value.to_i
196
+ when :Float
197
+ value.to_f
198
+ when :Boolean
199
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
200
+ true
201
+ else
202
+ false
203
+ end
204
+ when :Object
205
+ # generic object (usually a Hash), return directly
206
+ value
207
+ when /\AArray<(?<inner_type>.+)>\z/
208
+ inner_type = Regexp.last_match[:inner_type]
209
+ value.map { |v| _deserialize(inner_type, v) }
210
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
211
+ k_type = Regexp.last_match[:k_type]
212
+ v_type = Regexp.last_match[:v_type]
213
+ {}.tap do |hash|
214
+ value.each do |k, v|
215
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
216
+ end
217
+ end
218
+ else # model
219
+ TalonOne.const_get(type).build_from_hash(value)
220
+ end
221
+ end
222
+
223
+ # Returns the string representation of the object
224
+ # @return [String] String presentation of the object
225
+ def to_s
226
+ to_hash.to_s
227
+ end
228
+
229
+ # to_body is an alias to to_hash (backward compatibility)
230
+ # @return [Hash] Returns the object in the form of hash
231
+ def to_body
232
+ to_hash
233
+ end
234
+
235
+ # Returns the object in the form of hash
236
+ # @return [Hash] Returns the object in the form of hash
237
+ def to_hash
238
+ hash = {}
239
+ self.class.attribute_map.each_pair do |attr, param|
240
+ value = self.send(attr)
241
+ if value.nil?
242
+ is_nullable = self.class.openapi_nullable.include?(attr)
243
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
244
+ end
245
+
246
+ hash[param] = _to_hash(value)
247
+ end
248
+ hash
249
+ end
250
+
251
+ # Outputs non-array value in the form of hash
252
+ # For object, use to_hash. Otherwise, just return the value
253
+ # @param [Object] value Any valid value
254
+ # @return [Hash] Returns the value in the form of hash
255
+ def _to_hash(value)
256
+ if value.is_a?(Array)
257
+ value.compact.map { |v| _to_hash(v) }
258
+ elsif value.is_a?(Hash)
259
+ {}.tap do |hash|
260
+ value.each { |k, v| hash[k] = _to_hash(v) }
261
+ end
262
+ elsif value.respond_to? :to_hash
263
+ value.to_hash
264
+ else
265
+ value
266
+ end
267
+ end
268
+ end
269
+ end
@@ -0,0 +1,246 @@
1
+ =begin
2
+ #Talon.One API
3
+
4
+ #Use the Talon.One API to integrate with your application and to manage applications and campaigns: - Use the operations in the [Integration API section](#integration-api) are used to integrate with our platform - Use the operation in the [Management API section](#management-api) to manage applications and campaigns. ## Determining the base URL of the endpoints The API is available at the same hostname as your Campaign Manager deployment. For example, if you access the Campaign Manager at `https://yourbaseurl.talon.one/`, the URL for the [updateCustomerSessionV2](https://docs.talon.one/integration-api#operation/updateCustomerSessionV2) endpoint is `https://yourbaseurl.talon.one/v2/customer_sessions/{Id}`
5
+
6
+ The version of the OpenAPI document:
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 4.3.1
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module TalonOne
16
+ class AnalyticsSKU
17
+ # The ID of the SKU linked to the application.
18
+ attr_accessor :id
19
+
20
+ # The SKU linked to the application.
21
+ attr_accessor :sku
22
+
23
+ # Values in UTC for the date the SKU linked to the product was last updated.
24
+ attr_accessor :last_updated
25
+
26
+ attr_accessor :units_sold
27
+
28
+ # Attribute mapping from ruby-style variable name to JSON key.
29
+ def self.attribute_map
30
+ {
31
+ :'id' => :'id',
32
+ :'sku' => :'sku',
33
+ :'last_updated' => :'lastUpdated',
34
+ :'units_sold' => :'unitsSold'
35
+ }
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'id' => :'Integer',
42
+ :'sku' => :'String',
43
+ :'last_updated' => :'DateTime',
44
+ :'units_sold' => :'AnalyticsDataPointWithTrend'
45
+ }
46
+ end
47
+
48
+ # List of attributes with nullable: true
49
+ def self.openapi_nullable
50
+ Set.new([
51
+ ])
52
+ end
53
+
54
+ # Initializes the object
55
+ # @param [Hash] attributes Model attributes in the form of hash
56
+ def initialize(attributes = {})
57
+ if (!attributes.is_a?(Hash))
58
+ fail ArgumentError, "The input argument (attributes) must be a hash in `TalonOne::AnalyticsSKU` initialize method"
59
+ end
60
+
61
+ # check to see if the attribute exists and convert string to symbol for hash key
62
+ attributes = attributes.each_with_object({}) { |(k, v), h|
63
+ if (!self.class.attribute_map.key?(k.to_sym))
64
+ fail ArgumentError, "`#{k}` is not a valid attribute in `TalonOne::AnalyticsSKU`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
65
+ end
66
+ h[k.to_sym] = v
67
+ }
68
+
69
+ if attributes.key?(:'id')
70
+ self.id = attributes[:'id']
71
+ end
72
+
73
+ if attributes.key?(:'sku')
74
+ self.sku = attributes[:'sku']
75
+ end
76
+
77
+ if attributes.key?(:'last_updated')
78
+ self.last_updated = attributes[:'last_updated']
79
+ end
80
+
81
+ if attributes.key?(:'units_sold')
82
+ self.units_sold = attributes[:'units_sold']
83
+ end
84
+ end
85
+
86
+ # Show invalid properties with the reasons. Usually used together with valid?
87
+ # @return Array for valid properties with the reasons
88
+ def list_invalid_properties
89
+ invalid_properties = Array.new
90
+ if @id.nil?
91
+ invalid_properties.push('invalid value for "id", id cannot be nil.')
92
+ end
93
+
94
+ if @sku.nil?
95
+ invalid_properties.push('invalid value for "sku", sku cannot be nil.')
96
+ end
97
+
98
+ invalid_properties
99
+ end
100
+
101
+ # Check to see if the all the properties in the model are valid
102
+ # @return true if the model is valid
103
+ def valid?
104
+ return false if @id.nil?
105
+ return false if @sku.nil?
106
+ true
107
+ end
108
+
109
+ # Checks equality by comparing each attribute.
110
+ # @param [Object] Object to be compared
111
+ def ==(o)
112
+ return true if self.equal?(o)
113
+ self.class == o.class &&
114
+ id == o.id &&
115
+ sku == o.sku &&
116
+ last_updated == o.last_updated &&
117
+ units_sold == o.units_sold
118
+ end
119
+
120
+ # @see the `==` method
121
+ # @param [Object] Object to be compared
122
+ def eql?(o)
123
+ self == o
124
+ end
125
+
126
+ # Calculates hash code according to all attributes.
127
+ # @return [Integer] Hash code
128
+ def hash
129
+ [id, sku, last_updated, units_sold].hash
130
+ end
131
+
132
+ # Builds the object from hash
133
+ # @param [Hash] attributes Model attributes in the form of hash
134
+ # @return [Object] Returns the model itself
135
+ def self.build_from_hash(attributes)
136
+ new.build_from_hash(attributes)
137
+ end
138
+
139
+ # Builds the object from hash
140
+ # @param [Hash] attributes Model attributes in the form of hash
141
+ # @return [Object] Returns the model itself
142
+ def build_from_hash(attributes)
143
+ return nil unless attributes.is_a?(Hash)
144
+ self.class.openapi_types.each_pair do |key, type|
145
+ if type =~ /\AArray<(.*)>/i
146
+ # check to ensure the input is an array given that the attribute
147
+ # is documented as an array but the input is not
148
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
149
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
150
+ end
151
+ elsif !attributes[self.class.attribute_map[key]].nil?
152
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
153
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
154
+ end
155
+
156
+ self
157
+ end
158
+
159
+ # Deserializes the data based on type
160
+ # @param string type Data type
161
+ # @param string value Value to be deserialized
162
+ # @return [Object] Deserialized data
163
+ def _deserialize(type, value)
164
+ case type.to_sym
165
+ when :DateTime
166
+ DateTime.parse(value)
167
+ when :Date
168
+ Date.parse(value)
169
+ when :String
170
+ value.to_s
171
+ when :Integer
172
+ value.to_i
173
+ when :Float
174
+ value.to_f
175
+ when :Boolean
176
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
177
+ true
178
+ else
179
+ false
180
+ end
181
+ when :Object
182
+ # generic object (usually a Hash), return directly
183
+ value
184
+ when /\AArray<(?<inner_type>.+)>\z/
185
+ inner_type = Regexp.last_match[:inner_type]
186
+ value.map { |v| _deserialize(inner_type, v) }
187
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
188
+ k_type = Regexp.last_match[:k_type]
189
+ v_type = Regexp.last_match[:v_type]
190
+ {}.tap do |hash|
191
+ value.each do |k, v|
192
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
193
+ end
194
+ end
195
+ else # model
196
+ TalonOne.const_get(type).build_from_hash(value)
197
+ end
198
+ end
199
+
200
+ # Returns the string representation of the object
201
+ # @return [String] String presentation of the object
202
+ def to_s
203
+ to_hash.to_s
204
+ end
205
+
206
+ # to_body is an alias to to_hash (backward compatibility)
207
+ # @return [Hash] Returns the object in the form of hash
208
+ def to_body
209
+ to_hash
210
+ end
211
+
212
+ # Returns the object in the form of hash
213
+ # @return [Hash] Returns the object in the form of hash
214
+ def to_hash
215
+ hash = {}
216
+ self.class.attribute_map.each_pair do |attr, param|
217
+ value = self.send(attr)
218
+ if value.nil?
219
+ is_nullable = self.class.openapi_nullable.include?(attr)
220
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
221
+ end
222
+
223
+ hash[param] = _to_hash(value)
224
+ end
225
+ hash
226
+ end
227
+
228
+ # Outputs non-array value in the form of hash
229
+ # For object, use to_hash. Otherwise, just return the value
230
+ # @param [Object] value Any valid value
231
+ # @return [Hash] Returns the value in the form of hash
232
+ def _to_hash(value)
233
+ if value.is_a?(Array)
234
+ value.compact.map { |v| _to_hash(v) }
235
+ elsif value.is_a?(Hash)
236
+ {}.tap do |hash|
237
+ value.each { |k, v| hash[k] = _to_hash(v) }
238
+ end
239
+ elsif value.respond_to? :to_hash
240
+ value.to_hash
241
+ else
242
+ value
243
+ end
244
+ end
245
+ end
246
+ end
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class Application
17
- # Internal ID of this entity.
17
+ # The internal ID of this entity.
18
18
  attr_accessor :id
19
19
 
20
20
  # The time this entity was created.
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class ApplicationCIF
17
- # Internal ID of this entity.
17
+ # The internal ID of this entity.
18
18
  attr_accessor :id
19
19
 
20
20
  # The time this entity was created.
@@ -14,7 +14,7 @@ require 'date'
14
14
 
15
15
  module TalonOne
16
16
  class ApplicationCIFExpression
17
- # Internal ID of this entity.
17
+ # The internal ID of this entity.
18
18
  attr_accessor :id
19
19
 
20
20
  # The time this entity was created.