algolia 3.0.0.alpha.14 → 3.0.0.alpha.15

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 (65) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/Gemfile.lock +2 -2
  4. data/lib/algolia/api/abtesting_client.rb +4 -4
  5. data/lib/algolia/api/analytics_client.rb +268 -98
  6. data/lib/algolia/api/ingestion_client.rb +4 -4
  7. data/lib/algolia/api/insights_client.rb +4 -4
  8. data/lib/algolia/api/monitoring_client.rb +4 -4
  9. data/lib/algolia/api/personalization_client.rb +4 -4
  10. data/lib/algolia/api/query_suggestions_client.rb +4 -4
  11. data/lib/algolia/api/recommend_client.rb +4 -4
  12. data/lib/algolia/api/search_client.rb +4 -4
  13. data/lib/algolia/models/abtesting/{currencies_value.rb → currency.rb} +3 -3
  14. data/lib/algolia/models/abtesting/variant.rb +2 -5
  15. data/lib/algolia/models/analytics/click_positions_inner.rb +242 -0
  16. data/lib/algolia/models/analytics/currencies_value.rb +208 -0
  17. data/lib/algolia/models/analytics/daily_add_to_cart_rates.rb +265 -0
  18. data/lib/algolia/models/analytics/daily_average_clicks.rb +249 -0
  19. data/lib/algolia/models/analytics/{click_through_rate_event.rb → daily_click_through_rates.rb} +24 -14
  20. data/lib/algolia/models/analytics/daily_conversion_rates.rb +265 -0
  21. data/lib/algolia/models/analytics/{no_click_rate_event.rb → daily_no_click_rates.rb} +21 -7
  22. data/lib/algolia/models/analytics/{no_results_rate_event.rb → daily_no_results_rates.rb} +7 -7
  23. data/lib/algolia/models/analytics/{conversion_rate_event.rb → daily_purchase_rates.rb} +18 -22
  24. data/lib/algolia/models/analytics/{average_click_event.rb → daily_revenue.rb} +15 -25
  25. data/lib/algolia/models/analytics/{search_event.rb → daily_searches.rb} +4 -4
  26. data/lib/algolia/models/analytics/{search_no_result_event.rb → daily_searches_no_clicks.rb} +19 -5
  27. data/lib/algolia/models/analytics/{search_no_click_event.rb → daily_searches_no_results.rb} +19 -5
  28. data/lib/algolia/models/analytics/{user_with_date.rb → daily_users.rb} +5 -5
  29. data/lib/algolia/models/analytics/get_add_to_cart_rate_response.rb +267 -0
  30. data/lib/algolia/models/analytics/get_average_click_position_response.rb +31 -5
  31. data/lib/algolia/models/analytics/get_click_positions_response.rb +6 -6
  32. data/lib/algolia/models/analytics/get_click_through_rate_response.rb +22 -12
  33. data/lib/algolia/models/analytics/get_conversion_rate_response.rb +267 -0
  34. data/lib/algolia/models/analytics/get_no_click_rate_response.rb +19 -5
  35. data/lib/algolia/models/analytics/get_no_results_rate_response.rb +5 -5
  36. data/lib/algolia/models/analytics/{get_conversation_rate_response.rb → get_purchase_rate_response.rb} +19 -23
  37. data/lib/algolia/models/analytics/{click_position.rb → get_revenue.rb} +23 -21
  38. data/lib/algolia/models/analytics/get_searches_count_response.rb +2 -2
  39. data/lib/algolia/models/analytics/get_searches_no_clicks_response.rb +2 -2
  40. data/lib/algolia/models/analytics/get_searches_no_results_response.rb +2 -2
  41. data/lib/algolia/models/analytics/get_status_response.rb +4 -2
  42. data/lib/algolia/models/analytics/get_top_countries_response.rb +1 -1
  43. data/lib/algolia/models/analytics/get_top_filter_attributes_response.rb +1 -1
  44. data/lib/algolia/models/analytics/get_top_filter_for_attribute.rb +23 -2
  45. data/lib/algolia/models/analytics/get_top_filters_no_results_response.rb +4 -2
  46. data/lib/algolia/models/analytics/get_top_filters_no_results_value.rb +23 -2
  47. data/lib/algolia/models/analytics/get_top_hits_response.rb +2 -1
  48. data/lib/algolia/models/analytics/get_top_searches_response.rb +2 -1
  49. data/lib/algolia/models/analytics/get_users_count_response.rb +3 -3
  50. data/lib/algolia/models/analytics/operator.rb +38 -0
  51. data/lib/algolia/models/analytics/top_country.rb +1 -1
  52. data/lib/algolia/models/analytics/top_hit.rb +1 -1
  53. data/lib/algolia/models/analytics/top_hit_with_analytics.rb +60 -21
  54. data/lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb +437 -0
  55. data/lib/algolia/models/analytics/top_hits_response.rb +1 -1
  56. data/lib/algolia/models/analytics/top_hits_response_with_analytics.rb +1 -1
  57. data/lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb +201 -0
  58. data/lib/algolia/models/analytics/top_search.rb +2 -2
  59. data/lib/algolia/models/analytics/top_search_with_analytics.rb +99 -17
  60. data/lib/algolia/models/analytics/top_search_with_revenue_analytics.rb +504 -0
  61. data/lib/algolia/models/analytics/top_searches_response.rb +1 -1
  62. data/lib/algolia/models/analytics/top_searches_response_with_analytics.rb +1 -1
  63. data/lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb +201 -0
  64. data/lib/algolia/version.rb +1 -1
  65. metadata +26 -14
@@ -6,7 +6,7 @@ require 'time'
6
6
  module Algolia
7
7
  module Analytics
8
8
  class TopSearchesResponse
9
- # Top searches with their hits count.
9
+ # Most popular searches and their number of search results (hits).
10
10
  attr_accessor :searches
11
11
 
12
12
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -6,7 +6,7 @@ require 'time'
6
6
  module Algolia
7
7
  module Analytics
8
8
  class TopSearchesResponseWithAnalytics
9
- # Top searches with their hits count and analytics.
9
+ # Most popular searches and their associated click and conversion metrics.
10
10
  attr_accessor :searches
11
11
 
12
12
  # Attribute mapping from ruby-style variable name to JSON key.
@@ -0,0 +1,201 @@
1
+ # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
+
3
+ require 'date'
4
+ require 'time'
5
+
6
+ module Algolia
7
+ module Analytics
8
+ class TopSearchesResponseWithRevenueAnalytics
9
+ # Most popular searches, including their click and revenue metrics.
10
+ attr_accessor :searches
11
+
12
+ # Attribute mapping from ruby-style variable name to JSON key.
13
+ def self.attribute_map
14
+ {
15
+ :searches => :searches
16
+ }
17
+ end
18
+
19
+ # Returns all the JSON keys this model knows about
20
+ def self.acceptable_attributes
21
+ attribute_map.values
22
+ end
23
+
24
+ # Attribute type mapping.
25
+ def self.types_mapping
26
+ {
27
+ :searches => :'Array<TopSearchWithRevenueAnalytics>'
28
+ }
29
+ end
30
+
31
+ # List of attributes with nullable: true
32
+ def self.openapi_nullable
33
+ Set.new([])
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ unless attributes.is_a?(Hash)
40
+ raise ArgumentError, "The input argument (attributes) must be a hash in `Algolia::TopSearchesResponseWithRevenueAnalytics` initialize method"
41
+ end
42
+
43
+ # check to see if the attribute exists and convert string to symbol for hash key
44
+ attributes = attributes.each_with_object({}) do |(k, v), h|
45
+ unless self.class.attribute_map.key?(k.to_sym)
46
+ raise ArgumentError,
47
+ "`#{k}` is not a valid attribute in `Algolia::TopSearchesResponseWithRevenueAnalytics`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
48
+ end
49
+
50
+ h[k.to_sym] = v
51
+ end
52
+
53
+ if attributes.key?(:searches)
54
+ if (value = attributes[:searches]).is_a?(Array)
55
+ self.searches = value
56
+ end
57
+ else
58
+ self.searches = nil
59
+ end
60
+ end
61
+
62
+ # Checks equality by comparing each attribute.
63
+ # @param [Object] Object to be compared
64
+ def ==(other)
65
+ return true if equal?(other)
66
+
67
+ self.class == other.class &&
68
+ searches == other.searches
69
+ end
70
+
71
+ # @see the `==` method
72
+ # @param [Object] Object to be compared
73
+ def eql?(other)
74
+ self == other
75
+ end
76
+
77
+ # Calculates hash code according to all attributes.
78
+ # @return [Integer] Hash code
79
+ def hash
80
+ [searches].hash
81
+ end
82
+
83
+ # Builds the object from hash
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ # @return [Object] Returns the model itself
86
+ def self.build_from_hash(attributes)
87
+ return nil unless attributes.is_a?(Hash)
88
+
89
+ attributes = attributes.transform_keys(&:to_sym)
90
+ transformed_hash = {}
91
+ types_mapping.each_pair do |key, type|
92
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
93
+ transformed_hash[key.to_sym] = nil
94
+ elsif type =~ /\AArray<(.*)>/i
95
+ # check to ensure the input is an array given that the attribute
96
+ # is documented as an array but the input is not
97
+ if attributes[attribute_map[key]].is_a?(Array)
98
+ transformed_hash[key.to_sym] = attributes[attribute_map[key]].map { |v| _deserialize(::Regexp.last_match(1), v) }
99
+ end
100
+ elsif !attributes[attribute_map[key]].nil?
101
+ transformed_hash[key.to_sym] = _deserialize(type, attributes[attribute_map[key]])
102
+ end
103
+ end
104
+ new(transformed_hash)
105
+ end
106
+
107
+ # Deserializes the data based on type
108
+ # @param string type Data type
109
+ # @param string value Value to be deserialized
110
+ # @return [Object] Deserialized data
111
+ def self._deserialize(type, value)
112
+ case type.to_sym
113
+ when :Time
114
+ Time.parse(value)
115
+ when :Date
116
+ Date.parse(value)
117
+ when :String
118
+ value.to_s
119
+ when :Integer
120
+ value.to_i
121
+ when :Float
122
+ value.to_f
123
+ when :Boolean
124
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
125
+ true
126
+ else
127
+ false
128
+ end
129
+ when :Object
130
+ # generic object (usually a Hash), return directly
131
+ value
132
+ when /\AArray<(?<inner_type>.+)>\z/
133
+ inner_type = Regexp.last_match[:inner_type]
134
+ value.map { |v| _deserialize(inner_type, v) }
135
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
136
+ k_type = Regexp.last_match[:k_type]
137
+ v_type = Regexp.last_match[:v_type]
138
+ {}.tap do |hash|
139
+ value.each do |k, v|
140
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
141
+ end
142
+ end
143
+ else # model
144
+ # models (e.g. Pet) or oneOf
145
+ klass = Algolia::Analytics.const_get(type)
146
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
147
+ end
148
+ end
149
+
150
+ # Returns the string representation of the object
151
+ # @return [String] String presentation of the object
152
+ def to_s
153
+ to_hash.to_s
154
+ end
155
+
156
+ # to_body is an alias to to_hash (backward compatibility)
157
+ # @return [Hash] Returns the object in the form of hash
158
+ def to_body
159
+ to_hash
160
+ end
161
+
162
+ def to_json(*_args)
163
+ to_hash.to_json
164
+ end
165
+
166
+ # Returns the object in the form of hash
167
+ # @return [Hash] Returns the object in the form of hash
168
+ def to_hash
169
+ hash = {}
170
+ self.class.attribute_map.each_pair do |attr, param|
171
+ value = send(attr)
172
+ if value.nil?
173
+ is_nullable = self.class.openapi_nullable.include?(attr)
174
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
175
+ end
176
+
177
+ hash[param] = _to_hash(value)
178
+ end
179
+ hash
180
+ end
181
+
182
+ # Outputs non-array value in the form of hash
183
+ # For object, use to_hash. Otherwise, just return the value
184
+ # @param [Object] value Any valid value
185
+ # @return [Hash] Returns the value in the form of hash
186
+ def _to_hash(value)
187
+ if value.is_a?(Array)
188
+ value.compact.map { |v| _to_hash(v) }
189
+ elsif value.is_a?(Hash)
190
+ {}.tap do |hash|
191
+ value.each { |k, v| hash[k] = _to_hash(v) }
192
+ end
193
+ elsif value.respond_to? :to_hash
194
+ value.to_hash
195
+ else
196
+ value
197
+ end
198
+ end
199
+ end
200
+ end
201
+ end
@@ -1,5 +1,5 @@
1
1
  # Code generated by OpenAPI Generator (https://openapi-generator.tech), manual changes will be lost - read more on https://github.com/algolia/api-clients-automation. DO NOT EDIT.
2
2
 
3
3
  module Algolia
4
- VERSION = '3.0.0.alpha.14'.freeze
4
+ VERSION = '3.0.0.alpha.15'.freeze
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: algolia
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.alpha.14
4
+ version: 3.0.0.alpha.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Algolia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-19 00:00:00.000000000 Z
11
+ date: 2024-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -146,7 +146,7 @@ files:
146
146
  - lib/algolia/models/abtesting/ab_tests_variant_search_params.rb
147
147
  - lib/algolia/models/abtesting/add_ab_tests_request.rb
148
148
  - lib/algolia/models/abtesting/add_ab_tests_variant.rb
149
- - lib/algolia/models/abtesting/currencies_value.rb
149
+ - lib/algolia/models/abtesting/currency.rb
150
150
  - lib/algolia/models/abtesting/custom_search_params.rb
151
151
  - lib/algolia/models/abtesting/error_base.rb
152
152
  - lib/algolia/models/abtesting/filter_effects.rb
@@ -154,18 +154,31 @@ files:
154
154
  - lib/algolia/models/abtesting/filter_effects_outliers.rb
155
155
  - lib/algolia/models/abtesting/list_ab_tests_response.rb
156
156
  - lib/algolia/models/abtesting/variant.rb
157
- - lib/algolia/models/analytics/average_click_event.rb
158
- - lib/algolia/models/analytics/click_position.rb
159
- - lib/algolia/models/analytics/click_through_rate_event.rb
160
- - lib/algolia/models/analytics/conversion_rate_event.rb
157
+ - lib/algolia/models/analytics/click_positions_inner.rb
158
+ - lib/algolia/models/analytics/currencies_value.rb
159
+ - lib/algolia/models/analytics/daily_add_to_cart_rates.rb
160
+ - lib/algolia/models/analytics/daily_average_clicks.rb
161
+ - lib/algolia/models/analytics/daily_click_through_rates.rb
162
+ - lib/algolia/models/analytics/daily_conversion_rates.rb
163
+ - lib/algolia/models/analytics/daily_no_click_rates.rb
164
+ - lib/algolia/models/analytics/daily_no_results_rates.rb
165
+ - lib/algolia/models/analytics/daily_purchase_rates.rb
166
+ - lib/algolia/models/analytics/daily_revenue.rb
167
+ - lib/algolia/models/analytics/daily_searches.rb
168
+ - lib/algolia/models/analytics/daily_searches_no_clicks.rb
169
+ - lib/algolia/models/analytics/daily_searches_no_results.rb
170
+ - lib/algolia/models/analytics/daily_users.rb
161
171
  - lib/algolia/models/analytics/direction.rb
162
172
  - lib/algolia/models/analytics/error_base.rb
173
+ - lib/algolia/models/analytics/get_add_to_cart_rate_response.rb
163
174
  - lib/algolia/models/analytics/get_average_click_position_response.rb
164
175
  - lib/algolia/models/analytics/get_click_positions_response.rb
165
176
  - lib/algolia/models/analytics/get_click_through_rate_response.rb
166
- - lib/algolia/models/analytics/get_conversation_rate_response.rb
177
+ - lib/algolia/models/analytics/get_conversion_rate_response.rb
167
178
  - lib/algolia/models/analytics/get_no_click_rate_response.rb
168
179
  - lib/algolia/models/analytics/get_no_results_rate_response.rb
180
+ - lib/algolia/models/analytics/get_purchase_rate_response.rb
181
+ - lib/algolia/models/analytics/get_revenue.rb
169
182
  - lib/algolia/models/analytics/get_searches_count_response.rb
170
183
  - lib/algolia/models/analytics/get_searches_no_clicks_response.rb
171
184
  - lib/algolia/models/analytics/get_searches_no_results_response.rb
@@ -181,22 +194,21 @@ files:
181
194
  - lib/algolia/models/analytics/get_top_hits_response.rb
182
195
  - lib/algolia/models/analytics/get_top_searches_response.rb
183
196
  - lib/algolia/models/analytics/get_users_count_response.rb
184
- - lib/algolia/models/analytics/no_click_rate_event.rb
185
- - lib/algolia/models/analytics/no_results_rate_event.rb
197
+ - lib/algolia/models/analytics/operator.rb
186
198
  - lib/algolia/models/analytics/order_by.rb
187
- - lib/algolia/models/analytics/search_event.rb
188
- - lib/algolia/models/analytics/search_no_click_event.rb
189
- - lib/algolia/models/analytics/search_no_result_event.rb
190
199
  - lib/algolia/models/analytics/top_country.rb
191
200
  - lib/algolia/models/analytics/top_hit.rb
192
201
  - lib/algolia/models/analytics/top_hit_with_analytics.rb
202
+ - lib/algolia/models/analytics/top_hit_with_revenue_analytics.rb
193
203
  - lib/algolia/models/analytics/top_hits_response.rb
194
204
  - lib/algolia/models/analytics/top_hits_response_with_analytics.rb
205
+ - lib/algolia/models/analytics/top_hits_response_with_revenue_analytics.rb
195
206
  - lib/algolia/models/analytics/top_search.rb
196
207
  - lib/algolia/models/analytics/top_search_with_analytics.rb
208
+ - lib/algolia/models/analytics/top_search_with_revenue_analytics.rb
197
209
  - lib/algolia/models/analytics/top_searches_response.rb
198
210
  - lib/algolia/models/analytics/top_searches_response_with_analytics.rb
199
- - lib/algolia/models/analytics/user_with_date.rb
211
+ - lib/algolia/models/analytics/top_searches_response_with_revenue_analytics.rb
200
212
  - lib/algolia/models/ingestion/action_type.rb
201
213
  - lib/algolia/models/ingestion/auth_algolia.rb
202
214
  - lib/algolia/models/ingestion/auth_algolia_partial.rb