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.



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

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.



7
8
9
# File 'lib/algolia/api/abtesting_client.rb', line 7

def api_client
  @api_client
end

Class Method Details

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



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

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



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# File 'lib/algolia/api/abtesting_client.rb', line 40

def self.create_with_config(config)
  if config.connect_timeout.nil?
    config.connect_timeout = 2000
  end

  if config.read_timeout.nil?
    config.read_timeout = 5000
  end

  if config.write_timeout.nil?
    config.write_timeout = 30000
  end

  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)


111
112
113
114
# File 'lib/algolia/api/abtesting_client.rb', line 111

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:



79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/algolia/api/abtesting_client.rb', line 79

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



66
67
68
69
70
# File 'lib/algolia/api/abtesting_client.rb', line 66

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, for example ‘1/newFeature`. (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)


154
155
156
157
# File 'lib/algolia/api/abtesting_client.rb', line 154

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, for example ‘1/newFeature`. (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:



122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
# File 'lib/algolia/api/abtesting_client.rb', line 122

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, for example ‘1/newFeature`. (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)


197
198
199
200
# File 'lib/algolia/api/abtesting_client.rb', line 197

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, for example ‘1/newFeature`. (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:



165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
# File 'lib/algolia/api/abtesting_client.rb', line 165

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, for example ‘1/newFeature`. (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)


242
243
244
245
# File 'lib/algolia/api/abtesting_client.rb', line 242

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, for example ‘1/newFeature`. (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:



209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
# File 'lib/algolia/api/abtesting_client.rb', line 209

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, for example ‘1/newFeature`. (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)


287
288
289
290
# File 'lib/algolia/api/abtesting_client.rb', line 287

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, for example ‘1/newFeature`. (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:



254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
# File 'lib/algolia/api/abtesting_client.rb', line 254

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)


331
332
333
334
# File 'lib/algolia/api/abtesting_client.rb', line 331

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:



299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
# File 'lib/algolia/api/abtesting_client.rb', line 299

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)


375
376
377
378
# File 'lib/algolia/api/abtesting_client.rb', line 375

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:



343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
# File 'lib/algolia/api/abtesting_client.rb', line 343

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)


419
420
421
422
# File 'lib/algolia/api/abtesting_client.rb', line 419

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:



387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
# File 'lib/algolia/api/abtesting_client.rb', line 387

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)


474
475
476
477
# File 'lib/algolia/api/abtesting_client.rb', line 474

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:



434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
# File 'lib/algolia/api/abtesting_client.rb', line 434

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)


518
519
520
521
# File 'lib/algolia/api/abtesting_client.rb', line 518

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:



486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
# File 'lib/algolia/api/abtesting_client.rb', line 486

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.



60
61
62
63
64
# File 'lib/algolia/api/abtesting_client.rb', line 60

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)


562
563
564
565
# File 'lib/algolia/api/abtesting_client.rb', line 562

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:



530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
# File 'lib/algolia/api/abtesting_client.rb', line 530

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