Class: Algolia::AbtestingClient

Inherits:
Object
  • Object
show all
Defined in:
lib/algolia/api/abtesting_client.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config = nil) ⇒ AbtestingClient

Returns a new instance of AbtestingClient.



7
8
9
10
11
12
13
# File 'lib/algolia/api/abtesting_client.rb', line 7

def initialize(config = nil)
  raise "`config` is missing." if config.nil?
  raise "`app_id` is missing." if config.app_id.nil? || config.app_id == ""
  raise "`api_key` is missing." if config.api_key.nil? || config.api_key == ""

  @api_client = Algolia::ApiClient.new(config)
end

Instance Attribute Details

#api_clientObject

Returns the value of attribute api_client.



5
6
7
# File 'lib/algolia/api/abtesting_client.rb', line 5

def api_client
  @api_client
end

Class Method Details

.create(app_id, api_key, region = nil, opts = {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/algolia/api/abtesting_client.rb', line 15

def self.create(app_id, api_key, region = nil, opts = {})
  hosts = []
  regions = ["de", "us"]

  if region.is_a?(Hash) && (opts.nil? || opts.empty?)
    opts = region
    region = nil
  end

  if !region.nil? && (!region.is_a?(String) || !regions.include?(region))
    raise "`region` must be one of the following: #{regions.join(", ")}"
  end

  hosts <<
    Transport::StatefulHost.new(
      region.nil? ? "analytics.algolia.com" : "analytics.{region}.algolia.com".sub!("{region}", region),
      accept: CallType::READ | CallType::WRITE
    )

  config = Algolia::Configuration.new(app_id, api_key, hosts, "Abtesting", opts)
  create_with_config(config)
end

.create_with_config(config) ⇒ Object



38
39
40
# File 'lib/algolia/api/abtesting_client.rb', line 38

def self.create_with_config(config)
  new(config)
end

Instance Method Details

#add_ab_tests(add_ab_tests_request, request_options = {}) ⇒ ABTestResponse

Creates a new A/B test.

Required API Key ACLs:

- editSettings

Parameters:

  • add_ab_tests_request (AddABTestsRequest)

    (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (ABTestResponse)


97
98
99
100
# File 'lib/algolia/api/abtesting_client.rb', line 97

def add_ab_tests(add_ab_tests_request, request_options = {})
  response = add_ab_tests_with_http_info(add_ab_tests_request, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ABTestResponse")
end

#add_ab_tests_with_http_info(add_ab_tests_request, request_options = {}) ⇒ Http::Response

Creates a new A/B test.

Required API Key ACLs:

- editSettings

Parameters:

  • add_ab_tests_request (AddABTestsRequest)

    (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/algolia/api/abtesting_client.rb', line 65

def add_ab_tests_with_http_info(add_ab_tests_request, request_options = {})
  # verify the required parameter 'add_ab_tests_request' is set
  if @api_client.config.client_side_validation && add_ab_tests_request.nil?
    raise ArgumentError, "Parameter `add_ab_tests_request` is required when calling `add_ab_tests`."
  end

  path = "/2/abtests"
  query_params = {}
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body] || @api_client.object_to_http_body(add_ab_tests_request)

  new_options = request_options.merge(
    :operation => :"AbtestingClient.add_ab_tests",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:POST, path, new_options)
end

#add_user_agent_segment(segment, version = nil) ⇒ Object



52
53
54
55
56
# File 'lib/algolia/api/abtesting_client.rb', line 52

def add_user_agent_segment(segment, version = nil)
  @api_client.config.add_user_agent_segment(segment, version)

  self
end

#custom_delete(path, parameters = nil, request_options = {}) ⇒ Object

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (Object)


140
141
142
143
# File 'lib/algolia/api/abtesting_client.rb', line 140

def custom_delete(path, parameters = nil, request_options = {})
  response = custom_delete_with_http_info(path, parameters, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Object")
end

#custom_delete_with_http_info(path, parameters = nil, request_options = {}) ⇒ Http::Response

Returns the response.

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/algolia/api/abtesting_client.rb', line 108

def custom_delete_with_http_info(path, parameters = nil, request_options = {})
  # verify the required parameter 'path' is set
  if @api_client.config.client_side_validation && path.nil?
    raise ArgumentError, "Parameter `path` is required when calling `custom_delete`."
  end

  path = "/{path}".sub("{" + "path" + "}", path.to_s)
  query_params = {}
  query_params = query_params.merge(parameters) unless parameters.nil?
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body]

  new_options = request_options.merge(
    :operation => :"AbtestingClient.custom_delete",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:DELETE, path, new_options)
end

#custom_get(path, parameters = nil, request_options = {}) ⇒ Object

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (Object)


183
184
185
186
# File 'lib/algolia/api/abtesting_client.rb', line 183

def custom_get(path, parameters = nil, request_options = {})
  response = custom_get_with_http_info(path, parameters, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Object")
end

#custom_get_with_http_info(path, parameters = nil, request_options = {}) ⇒ Http::Response

Returns the response.

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# File 'lib/algolia/api/abtesting_client.rb', line 151

def custom_get_with_http_info(path, parameters = nil, request_options = {})
  # verify the required parameter 'path' is set
  if @api_client.config.client_side_validation && path.nil?
    raise ArgumentError, "Parameter `path` is required when calling `custom_get`."
  end

  path = "/{path}".sub("{" + "path" + "}", path.to_s)
  query_params = {}
  query_params = query_params.merge(parameters) unless parameters.nil?
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body]

  new_options = request_options.merge(
    :operation => :"AbtestingClient.custom_get",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:GET, path, new_options)
end

#custom_post(path, parameters = nil, body = nil, request_options = {}) ⇒ Object

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • body (Object) (defaults to: nil)

    Parameters to send with the custom request.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (Object)


228
229
230
231
# File 'lib/algolia/api/abtesting_client.rb', line 228

def custom_post(path, parameters = nil, body = nil, request_options = {})
  response = custom_post_with_http_info(path, parameters, body, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Object")
end

#custom_post_with_http_info(path, parameters = nil, body = nil, request_options = {}) ⇒ Http::Response

Returns the response.

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • body (Object) (defaults to: nil)

    Parameters to send with the custom request.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
# File 'lib/algolia/api/abtesting_client.rb', line 195

def custom_post_with_http_info(path, parameters = nil, body = nil, request_options = {})
  # verify the required parameter 'path' is set
  if @api_client.config.client_side_validation && path.nil?
    raise ArgumentError, "Parameter `path` is required when calling `custom_post`."
  end

  path = "/{path}".sub("{" + "path" + "}", path.to_s)
  query_params = {}
  query_params = query_params.merge(parameters) unless parameters.nil?
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body] || @api_client.object_to_http_body(body)

  new_options = request_options.merge(
    :operation => :"AbtestingClient.custom_post",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:POST, path, new_options)
end

#custom_put(path, parameters = nil, body = nil, request_options = {}) ⇒ Object

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • body (Object) (defaults to: nil)

    Parameters to send with the custom request.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (Object)


273
274
275
276
# File 'lib/algolia/api/abtesting_client.rb', line 273

def custom_put(path, parameters = nil, body = nil, request_options = {})
  response = custom_put_with_http_info(path, parameters, body, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Object")
end

#custom_put_with_http_info(path, parameters = nil, body = nil, request_options = {}) ⇒ Http::Response

Returns the response.

Parameters:

  • path (String)

    Path of the endpoint, anything after "/1" must be specified. (required)

  • parameters (Hash<String, Object>) (defaults to: nil)

    Query parameters to apply to the current query.

  • body (Object) (defaults to: nil)

    Parameters to send with the custom request.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
# File 'lib/algolia/api/abtesting_client.rb', line 240

def custom_put_with_http_info(path, parameters = nil, body = nil, request_options = {})
  # verify the required parameter 'path' is set
  if @api_client.config.client_side_validation && path.nil?
    raise ArgumentError, "Parameter `path` is required when calling `custom_put`."
  end

  path = "/{path}".sub("{" + "path" + "}", path.to_s)
  query_params = {}
  query_params = query_params.merge(parameters) unless parameters.nil?
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body] || @api_client.object_to_http_body(body)

  new_options = request_options.merge(
    :operation => :"AbtestingClient.custom_put",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:PUT, path, new_options)
end

#delete_ab_test(id, request_options = {}) ⇒ ABTestResponse

Deletes an A/B test by its ID.

Required API Key ACLs:

- editSettings

Parameters:

  • id (Integer)

    Unique A/B test identifier. (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (ABTestResponse)


317
318
319
320
# File 'lib/algolia/api/abtesting_client.rb', line 317

def delete_ab_test(id, request_options = {})
  response = delete_ab_test_with_http_info(id, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ABTestResponse")
end

#delete_ab_test_with_http_info(id, request_options = {}) ⇒ Http::Response

Deletes an A/B test by its ID.

Required API Key ACLs:

- editSettings

Parameters:

  • id (Integer)

    Unique A/B test identifier. (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
# File 'lib/algolia/api/abtesting_client.rb', line 285

def delete_ab_test_with_http_info(id, request_options = {})
  # verify the required parameter 'id' is set
  if @api_client.config.client_side_validation && id.nil?
    raise ArgumentError, "Parameter `id` is required when calling `delete_ab_test`."
  end

  path = "/2/abtests/{id}".sub("{" + "id" + "}", Transport.encode_uri(id.to_s))
  query_params = {}
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body]

  new_options = request_options.merge(
    :operation => :"AbtestingClient.delete_ab_test",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:DELETE, path, new_options)
end

#estimate_ab_test(estimate_ab_test_request, request_options = {}) ⇒ EstimateABTestResponse

Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.

Required API Key ACLs:

- analytics

Parameters:

  • estimate_ab_test_request (EstimateABTestRequest)

    (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (EstimateABTestResponse)


361
362
363
364
# File 'lib/algolia/api/abtesting_client.rb', line 361

def estimate_ab_test(estimate_ab_test_request, request_options = {})
  response = estimate_ab_test_with_http_info(estimate_ab_test_request, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::EstimateABTestResponse")
end

#estimate_ab_test_with_http_info(estimate_ab_test_request, request_options = {}) ⇒ Http::Response

Given the traffic percentage and the expected effect size, this endpoint estimates the sample size and duration of an A/B test based on historical traffic.

Required API Key ACLs:

- analytics

Parameters:

  • estimate_ab_test_request (EstimateABTestRequest)

    (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
# File 'lib/algolia/api/abtesting_client.rb', line 329

def estimate_ab_test_with_http_info(estimate_ab_test_request, request_options = {})
  # verify the required parameter 'estimate_ab_test_request' is set
  if @api_client.config.client_side_validation && estimate_ab_test_request.nil?
    raise ArgumentError, "Parameter `estimate_ab_test_request` is required when calling `estimate_ab_test`."
  end

  path = "/2/abtests/estimate"
  query_params = {}
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body] || @api_client.object_to_http_body(estimate_ab_test_request)

  new_options = request_options.merge(
    :operation => :"AbtestingClient.estimate_ab_test",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:POST, path, new_options)
end

#get_ab_test(id, request_options = {}) ⇒ ABTest

Retrieves the details for an A/B test by its ID.

Required API Key ACLs:

- analytics

Parameters:

  • id (Integer)

    Unique A/B test identifier. (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (ABTest)


405
406
407
408
# File 'lib/algolia/api/abtesting_client.rb', line 405

def get_ab_test(id, request_options = {})
  response = get_ab_test_with_http_info(id, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ABTest")
end

#get_ab_test_with_http_info(id, request_options = {}) ⇒ Http::Response

Retrieves the details for an A/B test by its ID.

Required API Key ACLs:

- analytics

Parameters:

  • id (Integer)

    Unique A/B test identifier. (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
# File 'lib/algolia/api/abtesting_client.rb', line 373

def get_ab_test_with_http_info(id, request_options = {})
  # verify the required parameter 'id' is set
  if @api_client.config.client_side_validation && id.nil?
    raise ArgumentError, "Parameter `id` is required when calling `get_ab_test`."
  end

  path = "/2/abtests/{id}".sub("{" + "id" + "}", Transport.encode_uri(id.to_s))
  query_params = {}
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body]

  new_options = request_options.merge(
    :operation => :"AbtestingClient.get_ab_test",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:GET, path, new_options)
end

#list_ab_tests(offset = nil, limit = nil, index_prefix = nil, index_suffix = nil, request_options = {}) ⇒ ListABTestsResponse

Lists all A/B tests you configured for this application.

Required API Key ACLs:

- analytics

Parameters:

  • offset (Integer) (defaults to: nil)

    Position of the first item to return. (default to 0)

  • limit (Integer) (defaults to: nil)

    Number of items to return. (default to 10)

  • index_prefix (String) (defaults to: nil)

    Index name prefix. Only A/B tests for indices starting with this string are included in the response.

  • index_suffix (String) (defaults to: nil)

    Index name suffix. Only A/B tests for indices ending with this string are included in the response.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (ListABTestsResponse)


460
461
462
463
# File 'lib/algolia/api/abtesting_client.rb', line 460

def list_ab_tests(offset = nil, limit = nil, index_prefix = nil, index_suffix = nil, request_options = {})
  response = list_ab_tests_with_http_info(offset, limit, index_prefix, index_suffix, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ListABTestsResponse")
end

#list_ab_tests_with_http_info(offset = nil, limit = nil, index_prefix = nil, index_suffix = nil, request_options = {}) ⇒ Http::Response

Lists all A/B tests you configured for this application.

Required API Key ACLs:

- analytics

Parameters:

  • offset (Integer) (defaults to: nil)

    Position of the first item to return. (default to 0)

  • limit (Integer) (defaults to: nil)

    Number of items to return. (default to 10)

  • index_prefix (String) (defaults to: nil)

    Index name prefix. Only A/B tests for indices starting with this string are included in the response.

  • index_suffix (String) (defaults to: nil)

    Index name suffix. Only A/B tests for indices ending with this string are included in the response.

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
# File 'lib/algolia/api/abtesting_client.rb', line 420

def list_ab_tests_with_http_info(
  offset = nil,
  limit = nil,
  index_prefix = nil,
  index_suffix = nil,
  request_options = {}
)
  path = "/2/abtests"
  query_params = {}
  query_params[:offset] = offset unless offset.nil?
  query_params[:limit] = limit unless limit.nil?
  query_params[:indexPrefix] = index_prefix unless index_prefix.nil?
  query_params[:indexSuffix] = index_suffix unless index_suffix.nil?
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body]

  new_options = request_options.merge(
    :operation => :"AbtestingClient.list_ab_tests",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:GET, path, new_options)
end

#schedule_ab_test(schedule_ab_tests_request, request_options = {}) ⇒ ScheduleABTestResponse

Schedule an A/B test to be started at a later time.

Required API Key ACLs:

- editSettings

Parameters:

  • schedule_ab_tests_request (ScheduleABTestsRequest)

    (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (ScheduleABTestResponse)


504
505
506
507
# File 'lib/algolia/api/abtesting_client.rb', line 504

def schedule_ab_test(schedule_ab_tests_request, request_options = {})
  response = schedule_ab_test_with_http_info(schedule_ab_tests_request, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ScheduleABTestResponse")
end

#schedule_ab_test_with_http_info(schedule_ab_tests_request, request_options = {}) ⇒ Http::Response

Schedule an A/B test to be started at a later time.

Required API Key ACLs:

- editSettings

Parameters:

  • schedule_ab_tests_request (ScheduleABTestsRequest)

    (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
# File 'lib/algolia/api/abtesting_client.rb', line 472

def schedule_ab_test_with_http_info(schedule_ab_tests_request, request_options = {})
  # verify the required parameter 'schedule_ab_tests_request' is set
  if @api_client.config.client_side_validation && schedule_ab_tests_request.nil?
    raise ArgumentError, "Parameter `schedule_ab_tests_request` is required when calling `schedule_ab_test`."
  end

  path = "/2/abtests/schedule"
  query_params = {}
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body] || @api_client.object_to_http_body(schedule_ab_tests_request)

  new_options = request_options.merge(
    :operation => :"AbtestingClient.schedule_ab_test",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:POST, path, new_options)
end

#set_client_api_key(api_key) ⇒ void

This method returns an undefined value.

Helper method to switch the API key used to authenticate the requests.

Parameters:

  • api_key (String)

    the new API key to use.



46
47
48
49
50
# File 'lib/algolia/api/abtesting_client.rb', line 46

def set_client_api_key(api_key)
  @api_client.set_client_api_key(api_key)

  self
end

#stop_ab_test(id, request_options = {}) ⇒ ABTestResponse

Stops an A/B test by its ID. You can’t restart stopped A/B tests.

Required API Key ACLs:

- editSettings

Parameters:

  • id (Integer)

    Unique A/B test identifier. (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:

  • (ABTestResponse)


548
549
550
551
# File 'lib/algolia/api/abtesting_client.rb', line 548

def stop_ab_test(id, request_options = {})
  response = stop_ab_test_with_http_info(id, request_options)
  @api_client.deserialize(response.body, request_options[:debug_return_type] || "Abtesting::ABTestResponse")
end

#stop_ab_test_with_http_info(id, request_options = {}) ⇒ Http::Response

Stops an A/B test by its ID. You can’t restart stopped A/B tests.

Required API Key ACLs:

- editSettings

Parameters:

  • id (Integer)

    Unique A/B test identifier. (required)

  • request_options:

    The request options to send along with the query, they will be merged with the transporter base parameters (headers, query params, timeouts, etc.). (optional)

Returns:



516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
# File 'lib/algolia/api/abtesting_client.rb', line 516

def stop_ab_test_with_http_info(id, request_options = {})
  # verify the required parameter 'id' is set
  if @api_client.config.client_side_validation && id.nil?
    raise ArgumentError, "Parameter `id` is required when calling `stop_ab_test`."
  end

  path = "/2/abtests/{id}/stop".sub("{" + "id" + "}", Transport.encode_uri(id.to_s))
  query_params = {}
  query_params = query_params.merge(request_options[:query_params]) unless request_options[:query_params].nil?
  header_params = {}
  header_params = header_params.merge(request_options[:header_params]) unless request_options[:header_params].nil?

  post_body = request_options[:debug_body]

  new_options = request_options.merge(
    :operation => :"AbtestingClient.stop_ab_test",
    :header_params => header_params,
    :query_params => query_params,
    :body => post_body,
    :use_read_transporter => false
  )

  @api_client.call_api(:POST, path, new_options)
end