ultracart_api 4.1.180 → 4.1.181

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4487eabe7a8df94f86f10d6069126892080a197bc997015975dbd927c0969a1e
4
- data.tar.gz: '09fe31bea119b95c73c4217fbcbc7d6109fefade0176fbb532754baa654c8b0e'
3
+ metadata.gz: c49da69ae79ac178e5eb8df20bfbd7ad6ea2944c667682f55da9f57c2fe36caa
4
+ data.tar.gz: 18e587c811bda2b7b7a059dabf819ed9b60593441b111e411e13877f7f0ae624
5
5
  SHA512:
6
- metadata.gz: d44eabdb8eb6d8aa1c3cf6ef3aee69292edf68f101cae3a96e8b08f035c9f76022118991fa2eea6a4856d161e231429b4801aa86d13d973e2d75a5775a1c976f
7
- data.tar.gz: 6e0354f889b517f359221b8597401cc0e950b32722c3a91346659e93b5597f039771fc897283495a2ea22289a8ee2a09cc11ed251123100a0c28affaa933f752
6
+ metadata.gz: e0067df7231120a1fb45d026b1c247e037e47be43625bbbf5fd7b40987fa53971b87e68cf378620c64af9dbe02a0cc1bb017cc8e39b50ca5ff1d65751c495c30
7
+ data.tar.gz: dd5170307f30f1a7f20e6ff0b8891ff6e1748d8a631cecfd919e794a7bfcbf6230ec24dbd3359b53957591b5aec0509ca23474244fa958757d9daa9ed78ae955
data/README.md CHANGED
@@ -7,7 +7,7 @@ Note: Every method has a sample for every language. See https://github.com/Ultr
7
7
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 2.0.0
10
- - Package version: 4.1.180
10
+ - Package version: 4.1.181
11
11
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
12
12
  - For more information, please visit [http://www.ultracart.com/api/](http://www.ultracart.com/api/)
13
13
 
@@ -16,7 +16,7 @@ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-g
16
16
  gemfile:
17
17
 
18
18
  ```shell
19
- gem 'ultracart_api', '4.1.180'
19
+ gem 'ultracart_api', '4.1.181'
20
20
  ```
21
21
 
22
22
  install:
@@ -518,6 +518,7 @@ Class | Method | HTTP request | Description
518
518
  *UltracartClient::SfvbApi* | [**get_sfvb_preview_url**](docs/SfvbApi.md#get_sfvb_preview_url) | **GET** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id}/url | URL that renders a preview session
519
519
  *UltracartClient::SfvbApi* | [**get_sfvb_recording**](docs/SfvbApi.md#get_sfvb_recording) | **GET** /sfvb/storefronts/{storefront_oid}/recordings/{screen_recording_uuid} | Get a screen recording
520
520
  *UltracartClient::SfvbApi* | [**get_sfvb_recording_page_view_events**](docs/SfvbApi.md#get_sfvb_recording_page_view_events) | **GET** /sfvb/storefronts/{storefront_oid}/recordings/{screen_recording_uuid}/page_views/{screen_recording_page_view_uuid}/events | Get one recorded page view's replay events
521
+ *UltracartClient::SfvbApi* | [**get_sfvb_recording_settings**](docs/SfvbApi.md#get_sfvb_recording_settings) | **GET** /sfvb/storefronts/{storefront_oid}/recording_settings | Get the storefront's screen recording settings
521
522
  *UltracartClient::SfvbApi* | [**get_sfvb_server_log**](docs/SfvbApi.md#get_sfvb_server_log) | **GET** /sfvb/storefronts/{storefront_oid}/logs/{log_id} | Get one storefront render log
522
523
  *UltracartClient::SfvbApi* | [**get_sfvb_site_attributes**](docs/SfvbApi.md#get_sfvb_site_attributes) | **GET** /sfvb/storefronts/{storefront_oid}/attributes | Read a storefront's site attributes
523
524
  *UltracartClient::SfvbApi* | [**get_sfvb_theme**](docs/SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme
@@ -560,6 +561,7 @@ Class | Method | HTTP request | Description
560
561
  *UltracartClient::SfvbApi* | [**put_sfvb_page_selectors**](docs/SfvbApi.md#put_sfvb_page_selectors) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/selectors | Replace a page's selectors
561
562
  *UltracartClient::SfvbApi* | [**put_sfvb_page_settings**](docs/SfvbApi.md#put_sfvb_page_settings) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/settings | Change a page's settings
562
563
  *UltracartClient::SfvbApi* | [**put_sfvb_preview_session**](docs/SfvbApi.md#put_sfvb_preview_session) | **PUT** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Push containers into a preview session
564
+ *UltracartClient::SfvbApi* | [**put_sfvb_recording_settings**](docs/SfvbApi.md#put_sfvb_recording_settings) | **PUT** /sfvb/storefronts/{storefront_oid}/recording_settings | Turn the storefront's screen recording on or off
563
565
  *UltracartClient::SfvbApi* | [**put_sfvb_site_attributes**](docs/SfvbApi.md#put_sfvb_site_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/attributes | Change a storefront's site attributes
564
566
  *UltracartClient::SfvbApi* | [**put_sfvb_theme_attributes**](docs/SfvbApi.md#put_sfvb_theme_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/attributes | Change a theme's colors, fonts and settings
565
567
  *UltracartClient::SfvbApi* | [**refresh_sfvb_page**](docs/SfvbApi.md#refresh_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages/refresh | Drop one page's cached copy
@@ -1895,6 +1897,9 @@ Class | Method | HTTP request | Description
1895
1897
  - [UltracartClient::SfvbRecordingPageView](docs/SfvbRecordingPageView.md)
1896
1898
  - [UltracartClient::SfvbRecordingParameter](docs/SfvbRecordingParameter.md)
1897
1899
  - [UltracartClient::SfvbRecordingResponse](docs/SfvbRecordingResponse.md)
1900
+ - [UltracartClient::SfvbRecordingSettings](docs/SfvbRecordingSettings.md)
1901
+ - [UltracartClient::SfvbRecordingSettingsRequest](docs/SfvbRecordingSettingsRequest.md)
1902
+ - [UltracartClient::SfvbRecordingSettingsResponse](docs/SfvbRecordingSettingsResponse.md)
1898
1903
  - [UltracartClient::SfvbRenderRequest](docs/SfvbRenderRequest.md)
1899
1904
  - [UltracartClient::SfvbRenderResponse](docs/SfvbRenderResponse.md)
1900
1905
  - [UltracartClient::SfvbServerLog](docs/SfvbServerLog.md)
@@ -2110,6 +2115,7 @@ Not every change is committed to every SDK.
2110
2115
 
2111
2116
  | Version | Date | Comments |
2112
2117
  | --: | :-: | --- |
2118
+ | 4.1.181 | 10/02/2026 | sfvb internal testing |
2113
2119
  | 4.1.180 | 10/02/2026 | sfvb internal builder |
2114
2120
  | 4.1.179 | 10/01/2026 | sfvb internal testing |
2115
2121
  | 4.1.178 | 09/30/2026 | sfvb internal testing |
data/docs/SfvbApi.md CHANGED
@@ -46,6 +46,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
46
46
  | [**get_sfvb_preview_url**](SfvbApi.md#get_sfvb_preview_url) | **GET** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id}/url | URL that renders a preview session |
47
47
  | [**get_sfvb_recording**](SfvbApi.md#get_sfvb_recording) | **GET** /sfvb/storefronts/{storefront_oid}/recordings/{screen_recording_uuid} | Get a screen recording |
48
48
  | [**get_sfvb_recording_page_view_events**](SfvbApi.md#get_sfvb_recording_page_view_events) | **GET** /sfvb/storefronts/{storefront_oid}/recordings/{screen_recording_uuid}/page_views/{screen_recording_page_view_uuid}/events | Get one recorded page view's replay events |
49
+ | [**get_sfvb_recording_settings**](SfvbApi.md#get_sfvb_recording_settings) | **GET** /sfvb/storefronts/{storefront_oid}/recording_settings | Get the storefront's screen recording settings |
49
50
  | [**get_sfvb_server_log**](SfvbApi.md#get_sfvb_server_log) | **GET** /sfvb/storefronts/{storefront_oid}/logs/{log_id} | Get one storefront render log |
50
51
  | [**get_sfvb_site_attributes**](SfvbApi.md#get_sfvb_site_attributes) | **GET** /sfvb/storefronts/{storefront_oid}/attributes | Read a storefront's site attributes |
51
52
  | [**get_sfvb_theme**](SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme |
@@ -88,6 +89,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
88
89
  | [**put_sfvb_page_selectors**](SfvbApi.md#put_sfvb_page_selectors) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/selectors | Replace a page's selectors |
89
90
  | [**put_sfvb_page_settings**](SfvbApi.md#put_sfvb_page_settings) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/settings | Change a page's settings |
90
91
  | [**put_sfvb_preview_session**](SfvbApi.md#put_sfvb_preview_session) | **PUT** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Push containers into a preview session |
92
+ | [**put_sfvb_recording_settings**](SfvbApi.md#put_sfvb_recording_settings) | **PUT** /sfvb/storefronts/{storefront_oid}/recording_settings | Turn the storefront's screen recording on or off |
91
93
  | [**put_sfvb_site_attributes**](SfvbApi.md#put_sfvb_site_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/attributes | Change a storefront's site attributes |
92
94
  | [**put_sfvb_theme_attributes**](SfvbApi.md#put_sfvb_theme_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/attributes | Change a theme's colors, fonts and settings |
93
95
  | [**refresh_sfvb_page**](SfvbApi.md#refresh_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages/refresh | Drop one page's cached copy |
@@ -2395,6 +2397,59 @@ end
2395
2397
  - **Accept**: application/json
2396
2398
 
2397
2399
 
2400
+ ## get_sfvb_recording_settings
2401
+
2402
+ > <SfvbRecordingSettingsResponse> get_sfvb_recording_settings(storefront_oid)
2403
+
2404
+ Get the storefront's screen recording settings
2405
+
2406
+ Whether real shoppers' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
2407
+
2408
+
2409
+ ### Examples
2410
+
2411
+
2412
+ (No example for this operation).
2413
+
2414
+
2415
+ #### Using the get_sfvb_recording_settings_with_http_info variant
2416
+
2417
+ This returns an Array which contains the response data, status code and headers.
2418
+
2419
+ > <Array(<SfvbRecordingSettingsResponse>, Integer, Hash)> get_sfvb_recording_settings_with_http_info(storefront_oid)
2420
+
2421
+ ```ruby
2422
+ begin
2423
+ # Get the storefront's screen recording settings
2424
+ data, status_code, headers = api_instance.get_sfvb_recording_settings_with_http_info(storefront_oid)
2425
+ p status_code # => 2xx
2426
+ p headers # => { ... }
2427
+ p data # => <SfvbRecordingSettingsResponse>
2428
+ rescue UltracartClient::ApiError => e
2429
+ puts "Error when calling SfvbApi->get_sfvb_recording_settings_with_http_info: #{e}"
2430
+ end
2431
+ ```
2432
+
2433
+ ### Parameters
2434
+
2435
+ | Name | Type | Description | Notes |
2436
+ | ---- | ---- | ----------- | ----- |
2437
+ | **storefront_oid** | **Integer** | | |
2438
+
2439
+ ### Return type
2440
+
2441
+ [**SfvbRecordingSettingsResponse**](SfvbRecordingSettingsResponse.md)
2442
+
2443
+ ### Authorization
2444
+
2445
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2446
+
2447
+ ### HTTP request headers
2448
+
2449
+ - **Content-Type**: Not defined
2450
+ - **Accept**: application/json
2451
+
2452
+
2398
2453
  ## get_sfvb_server_log
2399
2454
 
2400
2455
  > <SfvbServerLogDetail> get_sfvb_server_log(storefront_oid, log_id, opts)
@@ -4706,6 +4761,60 @@ end
4706
4761
  - **Accept**: application/json
4707
4762
 
4708
4763
 
4764
+ ## put_sfvb_recording_settings
4765
+
4766
+ > <SfvbRecordingSettingsResponse> put_sfvb_recording_settings(storefront_oid, recording_settings_request)
4767
+
4768
+ Turn the storefront's screen recording on or off
4769
+
4770
+ Turning it on records real shoppers' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
4771
+
4772
+
4773
+ ### Examples
4774
+
4775
+
4776
+ (No example for this operation).
4777
+
4778
+
4779
+ #### Using the put_sfvb_recording_settings_with_http_info variant
4780
+
4781
+ This returns an Array which contains the response data, status code and headers.
4782
+
4783
+ > <Array(<SfvbRecordingSettingsResponse>, Integer, Hash)> put_sfvb_recording_settings_with_http_info(storefront_oid, recording_settings_request)
4784
+
4785
+ ```ruby
4786
+ begin
4787
+ # Turn the storefront's screen recording on or off
4788
+ data, status_code, headers = api_instance.put_sfvb_recording_settings_with_http_info(storefront_oid, recording_settings_request)
4789
+ p status_code # => 2xx
4790
+ p headers # => { ... }
4791
+ p data # => <SfvbRecordingSettingsResponse>
4792
+ rescue UltracartClient::ApiError => e
4793
+ puts "Error when calling SfvbApi->put_sfvb_recording_settings_with_http_info: #{e}"
4794
+ end
4795
+ ```
4796
+
4797
+ ### Parameters
4798
+
4799
+ | Name | Type | Description | Notes |
4800
+ | ---- | ---- | ----------- | ----- |
4801
+ | **storefront_oid** | **Integer** | | |
4802
+ | **recording_settings_request** | [**SfvbRecordingSettingsRequest**](SfvbRecordingSettingsRequest.md) | Whether to record | |
4803
+
4804
+ ### Return type
4805
+
4806
+ [**SfvbRecordingSettingsResponse**](SfvbRecordingSettingsResponse.md)
4807
+
4808
+ ### Authorization
4809
+
4810
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
4811
+
4812
+ ### HTTP request headers
4813
+
4814
+ - **Content-Type**: application/json; charset=UTF-8
4815
+ - **Accept**: application/json
4816
+
4817
+
4709
4818
  ## put_sfvb_site_attributes
4710
4819
 
4711
4820
  > <SfvbSiteAttributesResponse> put_sfvb_site_attributes(storefront_oid, site_attribute_update_request)
@@ -0,0 +1,34 @@
1
+ # UltracartClient::SfvbRecordingSettings
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **cost_per_thousand** | **Float** | What 1,000 recorded sessions cost after the trial, in US dollars. | [optional] |
8
+ | **enabled** | **Boolean** | True when real shoppers&#39; sessions on this storefront are being recorded. | [optional] |
9
+ | **retention_interval** | **String** | How long recordings are kept, such as 1 year. | [optional] |
10
+ | **sessions_current_billing_period** | **Integer** | Sessions recorded so far in the current billing period. | [optional] |
11
+ | **sessions_last_billing_period** | **Integer** | Sessions recorded in the previous billing period. | [optional] |
12
+ | **sessions_trial_billing_period** | **Integer** | Sessions recorded during the free trial. | [optional] |
13
+ | **trial_expiration** | **String** | When the free trial ends, as an ISO-8601 time. Absent until the trial has started. | [optional] |
14
+ | **trial_expired** | **Boolean** | True when the free trial is over and recorded sessions are billed. | [optional] |
15
+ | **trial_started** | **Boolean** | True once recording has been turned on at least once, which starts a 14 day free trial. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'ultracart_api'
21
+
22
+ instance = UltracartClient::SfvbRecordingSettings.new(
23
+ cost_per_thousand: null,
24
+ enabled: null,
25
+ retention_interval: null,
26
+ sessions_current_billing_period: null,
27
+ sessions_last_billing_period: null,
28
+ sessions_trial_billing_period: null,
29
+ trial_expiration: null,
30
+ trial_expired: null,
31
+ trial_started: null
32
+ )
33
+ ```
34
+
@@ -0,0 +1,18 @@
1
+ # UltracartClient::SfvbRecordingSettingsRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **enabled** | **Boolean** | True to record real shoppers&#39; sessions, false to stop. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'ultracart_api'
13
+
14
+ instance = UltracartClient::SfvbRecordingSettingsRequest.new(
15
+ enabled: null
16
+ )
17
+ ```
18
+
@@ -0,0 +1,20 @@
1
+ # UltracartClient::SfvbRecordingSettingsResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **changed** | **Boolean** | On a change only. False when recording was already in the requested state, so nothing was saved. | [optional] |
8
+ | **settings** | [**SfvbRecordingSettings**](SfvbRecordingSettings.md) | | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'ultracart_api'
14
+
15
+ instance = UltracartClient::SfvbRecordingSettingsResponse.new(
16
+ changed: null,
17
+ settings: null
18
+ )
19
+ ```
20
+
@@ -3076,6 +3076,70 @@ module UltracartClient
3076
3076
  return data, status_code, headers
3077
3077
  end
3078
3078
 
3079
+ # Get the storefront's screen recording settings
3080
+ # Whether real shoppers' sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
3081
+ # @param storefront_oid [Integer]
3082
+ # @param [Hash] opts the optional parameters
3083
+ # @return [SfvbRecordingSettingsResponse]
3084
+ def get_sfvb_recording_settings(storefront_oid, opts = {})
3085
+ data, _status_code, _headers = get_sfvb_recording_settings_with_http_info(storefront_oid, opts)
3086
+ data
3087
+ end
3088
+
3089
+ # Get the storefront&#39;s screen recording settings
3090
+ # Whether real shoppers&#39; sessions on this storefront are being recorded, what recording costs per 1,000 sessions after the 14 day free trial, how long recordings are kept, and how many sessions were recorded in the current and last billing periods. Recording only collects from the moment it is turned on, so when it is on but was turned on recently, check the analytics warehouse for rows before reporting that there is no data.
3091
+ # @param storefront_oid [Integer]
3092
+ # @param [Hash] opts the optional parameters
3093
+ # @return [Array<(SfvbRecordingSettingsResponse, Integer, Hash)>] SfvbRecordingSettingsResponse data, response status code and response headers
3094
+ def get_sfvb_recording_settings_with_http_info(storefront_oid, opts = {})
3095
+ if @api_client.config.debugging
3096
+ @api_client.config.logger.debug 'Calling API: SfvbApi.get_sfvb_recording_settings ...'
3097
+ end
3098
+ # verify the required parameter 'storefront_oid' is set
3099
+ if @api_client.config.client_side_validation && storefront_oid.nil?
3100
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.get_sfvb_recording_settings"
3101
+ end
3102
+ # resource path
3103
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/recording_settings'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
3104
+
3105
+ # query parameters
3106
+ query_params = opts[:query_params] || {}
3107
+
3108
+ # header parameters
3109
+ header_params = opts[:header_params] || {}
3110
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
3111
+ # HTTP header 'Accept' (if needed)
3112
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
3113
+
3114
+ # form parameters
3115
+ form_params = opts[:form_params] || {}
3116
+
3117
+ # http body (model)
3118
+ post_body = opts[:debug_body]
3119
+
3120
+ # return_type
3121
+ return_type = opts[:debug_return_type] || 'SfvbRecordingSettingsResponse'
3122
+
3123
+ # auth_names
3124
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
3125
+
3126
+ new_options = opts.merge(
3127
+ :operation => :"SfvbApi.get_sfvb_recording_settings",
3128
+ :header_params => header_params,
3129
+ :query_params => query_params,
3130
+ :form_params => form_params,
3131
+ :body => post_body,
3132
+ :auth_names => auth_names,
3133
+ :return_type => return_type
3134
+ )
3135
+
3136
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
3137
+ if @api_client.config.debugging
3138
+ @api_client.config.logger.debug "API called: SfvbApi#get_sfvb_recording_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
3139
+ end
3140
+ return data, status_code, headers
3141
+ end
3142
+
3079
3143
  # Get one storefront render log
3080
3144
  # One render's server log with its lines, each with a level, a category such as VELOCITY or FLOW, and the message. log_id comes from the list, or from the X-UltraCart-Storefront-Log-Id header a page sends inside an SFVB preview session. min_level is debug, info, warn or error, default debug.
3081
3145
  # @param storefront_oid [Integer]
@@ -6237,6 +6301,81 @@ module UltracartClient
6237
6301
  return data, status_code, headers
6238
6302
  end
6239
6303
 
6304
+ # Turn the storefront's screen recording on or off
6305
+ # Turning it on records real shoppers' sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
6306
+ # @param storefront_oid [Integer]
6307
+ # @param recording_settings_request [SfvbRecordingSettingsRequest] Whether to record
6308
+ # @param [Hash] opts the optional parameters
6309
+ # @return [SfvbRecordingSettingsResponse]
6310
+ def put_sfvb_recording_settings(storefront_oid, recording_settings_request, opts = {})
6311
+ data, _status_code, _headers = put_sfvb_recording_settings_with_http_info(storefront_oid, recording_settings_request, opts)
6312
+ data
6313
+ end
6314
+
6315
+ # Turn the storefront&#39;s screen recording on or off
6316
+ # Turning it on records real shoppers&#39; sessions from that moment, with no history before it. The first time starts a 14 day free trial, after which recorded sessions are billed per 1,000. Only change it when the merchant has asked for it. Asking for the state it is already in changes nothing, and changed comes back false. Always needs sfvb_publish, in both directions, because it decides whether live shoppers are recorded. Limited per storefront to 5 changes a minute, 20 an hour and 50 a day.
6317
+ # @param storefront_oid [Integer]
6318
+ # @param recording_settings_request [SfvbRecordingSettingsRequest] Whether to record
6319
+ # @param [Hash] opts the optional parameters
6320
+ # @return [Array<(SfvbRecordingSettingsResponse, Integer, Hash)>] SfvbRecordingSettingsResponse data, response status code and response headers
6321
+ def put_sfvb_recording_settings_with_http_info(storefront_oid, recording_settings_request, opts = {})
6322
+ if @api_client.config.debugging
6323
+ @api_client.config.logger.debug 'Calling API: SfvbApi.put_sfvb_recording_settings ...'
6324
+ end
6325
+ # verify the required parameter 'storefront_oid' is set
6326
+ if @api_client.config.client_side_validation && storefront_oid.nil?
6327
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.put_sfvb_recording_settings"
6328
+ end
6329
+ # verify the required parameter 'recording_settings_request' is set
6330
+ if @api_client.config.client_side_validation && recording_settings_request.nil?
6331
+ fail ArgumentError, "Missing the required parameter 'recording_settings_request' when calling SfvbApi.put_sfvb_recording_settings"
6332
+ end
6333
+ # resource path
6334
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/recording_settings'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
6335
+
6336
+ # query parameters
6337
+ query_params = opts[:query_params] || {}
6338
+
6339
+ # header parameters
6340
+ header_params = opts[:header_params] || {}
6341
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
6342
+ # HTTP header 'Accept' (if needed)
6343
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
6344
+ # HTTP header 'Content-Type'
6345
+ content_type = @api_client.select_header_content_type(['application/json; charset=UTF-8'])
6346
+ if !content_type.nil?
6347
+ header_params['Content-Type'] = content_type
6348
+ end
6349
+
6350
+ # form parameters
6351
+ form_params = opts[:form_params] || {}
6352
+
6353
+ # http body (model)
6354
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(recording_settings_request)
6355
+
6356
+ # return_type
6357
+ return_type = opts[:debug_return_type] || 'SfvbRecordingSettingsResponse'
6358
+
6359
+ # auth_names
6360
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
6361
+
6362
+ new_options = opts.merge(
6363
+ :operation => :"SfvbApi.put_sfvb_recording_settings",
6364
+ :header_params => header_params,
6365
+ :query_params => query_params,
6366
+ :form_params => form_params,
6367
+ :body => post_body,
6368
+ :auth_names => auth_names,
6369
+ :return_type => return_type
6370
+ )
6371
+
6372
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
6373
+ if @api_client.config.debugging
6374
+ @api_client.config.logger.debug "API called: SfvbApi#put_sfvb_recording_settings\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
6375
+ end
6376
+ return data, status_code, headers
6377
+ end
6378
+
6240
6379
  # Change a storefront's site attributes
6241
6380
  # A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, video list, mailing list and item set attributes are refused, and so are the General screen settings other than the title, the SEO description and keywords and the social account names. Credentials are refused. Always needs sfvb_publish, because every theme reads the same attributes and there is no dormant copy to change instead. The admin General screen saves the whole storefront, so a merchant with it open can still overwrite a change made here.
6242
6381
  # @param storefront_oid [Integer]
@@ -0,0 +1,300 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module UltracartClient
17
+ class SfvbRecordingSettings
18
+ # What 1,000 recorded sessions cost after the trial, in US dollars.
19
+ attr_accessor :cost_per_thousand
20
+
21
+ # True when real shoppers' sessions on this storefront are being recorded.
22
+ attr_accessor :enabled
23
+
24
+ # How long recordings are kept, such as 1 year.
25
+ attr_accessor :retention_interval
26
+
27
+ # Sessions recorded so far in the current billing period.
28
+ attr_accessor :sessions_current_billing_period
29
+
30
+ # Sessions recorded in the previous billing period.
31
+ attr_accessor :sessions_last_billing_period
32
+
33
+ # Sessions recorded during the free trial.
34
+ attr_accessor :sessions_trial_billing_period
35
+
36
+ # When the free trial ends, as an ISO-8601 time. Absent until the trial has started.
37
+ attr_accessor :trial_expiration
38
+
39
+ # True when the free trial is over and recorded sessions are billed.
40
+ attr_accessor :trial_expired
41
+
42
+ # True once recording has been turned on at least once, which starts a 14 day free trial.
43
+ attr_accessor :trial_started
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'cost_per_thousand' => :'cost_per_thousand',
49
+ :'enabled' => :'enabled',
50
+ :'retention_interval' => :'retention_interval',
51
+ :'sessions_current_billing_period' => :'sessions_current_billing_period',
52
+ :'sessions_last_billing_period' => :'sessions_last_billing_period',
53
+ :'sessions_trial_billing_period' => :'sessions_trial_billing_period',
54
+ :'trial_expiration' => :'trial_expiration',
55
+ :'trial_expired' => :'trial_expired',
56
+ :'trial_started' => :'trial_started'
57
+ }
58
+ end
59
+
60
+ # Returns all the JSON keys this model knows about
61
+ def self.acceptable_attributes
62
+ attribute_map.values
63
+ end
64
+
65
+ # Attribute type mapping.
66
+ def self.openapi_types
67
+ {
68
+ :'cost_per_thousand' => :'Float',
69
+ :'enabled' => :'Boolean',
70
+ :'retention_interval' => :'String',
71
+ :'sessions_current_billing_period' => :'Integer',
72
+ :'sessions_last_billing_period' => :'Integer',
73
+ :'sessions_trial_billing_period' => :'Integer',
74
+ :'trial_expiration' => :'String',
75
+ :'trial_expired' => :'Boolean',
76
+ :'trial_started' => :'Boolean'
77
+ }
78
+ end
79
+
80
+ # List of attributes with nullable: true
81
+ def self.openapi_nullable
82
+ Set.new([
83
+ ])
84
+ end
85
+
86
+ # Initializes the object
87
+ # @param [Hash] attributes Model attributes in the form of hash
88
+ def initialize(attributes = {})
89
+ if (!attributes.is_a?(Hash))
90
+ fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbRecordingSettings` initialize method"
91
+ end
92
+
93
+ # check to see if the attribute exists and convert string to symbol for hash key
94
+ attributes = attributes.each_with_object({}) { |(k, v), h|
95
+ if (!self.class.attribute_map.key?(k.to_sym))
96
+ fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbRecordingSettings`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
97
+ end
98
+ h[k.to_sym] = v
99
+ }
100
+
101
+ if attributes.key?(:'cost_per_thousand')
102
+ self.cost_per_thousand = attributes[:'cost_per_thousand']
103
+ end
104
+
105
+ if attributes.key?(:'enabled')
106
+ self.enabled = attributes[:'enabled']
107
+ end
108
+
109
+ if attributes.key?(:'retention_interval')
110
+ self.retention_interval = attributes[:'retention_interval']
111
+ end
112
+
113
+ if attributes.key?(:'sessions_current_billing_period')
114
+ self.sessions_current_billing_period = attributes[:'sessions_current_billing_period']
115
+ end
116
+
117
+ if attributes.key?(:'sessions_last_billing_period')
118
+ self.sessions_last_billing_period = attributes[:'sessions_last_billing_period']
119
+ end
120
+
121
+ if attributes.key?(:'sessions_trial_billing_period')
122
+ self.sessions_trial_billing_period = attributes[:'sessions_trial_billing_period']
123
+ end
124
+
125
+ if attributes.key?(:'trial_expiration')
126
+ self.trial_expiration = attributes[:'trial_expiration']
127
+ end
128
+
129
+ if attributes.key?(:'trial_expired')
130
+ self.trial_expired = attributes[:'trial_expired']
131
+ end
132
+
133
+ if attributes.key?(:'trial_started')
134
+ self.trial_started = attributes[:'trial_started']
135
+ end
136
+ end
137
+
138
+ # Show invalid properties with the reasons. Usually used together with valid?
139
+ # @return Array for valid properties with the reasons
140
+ def list_invalid_properties
141
+ invalid_properties = Array.new
142
+ invalid_properties
143
+ end
144
+
145
+ # Check to see if the all the properties in the model are valid
146
+ # @return true if the model is valid
147
+ def valid?
148
+ true
149
+ end
150
+
151
+ # Checks equality by comparing each attribute.
152
+ # @param [Object] Object to be compared
153
+ def ==(o)
154
+ return true if self.equal?(o)
155
+ self.class == o.class &&
156
+ cost_per_thousand == o.cost_per_thousand &&
157
+ enabled == o.enabled &&
158
+ retention_interval == o.retention_interval &&
159
+ sessions_current_billing_period == o.sessions_current_billing_period &&
160
+ sessions_last_billing_period == o.sessions_last_billing_period &&
161
+ sessions_trial_billing_period == o.sessions_trial_billing_period &&
162
+ trial_expiration == o.trial_expiration &&
163
+ trial_expired == o.trial_expired &&
164
+ trial_started == o.trial_started
165
+ end
166
+
167
+ # @see the `==` method
168
+ # @param [Object] Object to be compared
169
+ def eql?(o)
170
+ self == o
171
+ end
172
+
173
+ # Calculates hash code according to all attributes.
174
+ # @return [Integer] Hash code
175
+ def hash
176
+ [cost_per_thousand, enabled, retention_interval, sessions_current_billing_period, sessions_last_billing_period, sessions_trial_billing_period, trial_expiration, trial_expired, trial_started].hash
177
+ end
178
+
179
+ # Builds the object from hash
180
+ # @param [Hash] attributes Model attributes in the form of hash
181
+ # @return [Object] Returns the model itself
182
+ def self.build_from_hash(attributes)
183
+ new.build_from_hash(attributes)
184
+ end
185
+
186
+ # Builds the object from hash
187
+ # @param [Hash] attributes Model attributes in the form of hash
188
+ # @return [Object] Returns the model itself
189
+ def build_from_hash(attributes)
190
+ return nil unless attributes.is_a?(Hash)
191
+ attributes = attributes.transform_keys(&:to_sym)
192
+ self.class.openapi_types.each_pair do |key, type|
193
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
194
+ self.send("#{key}=", nil)
195
+ elsif type =~ /\AArray<(.*)>/i
196
+ # check to ensure the input is an array given that the attribute
197
+ # is documented as an array but the input is not
198
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
199
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
200
+ end
201
+ elsif !attributes[self.class.attribute_map[key]].nil?
202
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
203
+ end
204
+ end
205
+
206
+ self
207
+ end
208
+
209
+ # Deserializes the data based on type
210
+ # @param string type Data type
211
+ # @param string value Value to be deserialized
212
+ # @return [Object] Deserialized data
213
+ def _deserialize(type, value)
214
+ case type.to_sym
215
+ when :Time
216
+ Time.parse(value)
217
+ when :Date
218
+ Date.parse(value)
219
+ when :String
220
+ value.to_s
221
+ when :Integer
222
+ value.to_i
223
+ when :Float
224
+ value.to_f
225
+ when :Boolean
226
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
227
+ true
228
+ else
229
+ false
230
+ end
231
+ when :Object
232
+ # generic object (usually a Hash), return directly
233
+ value
234
+ when /\AArray<(?<inner_type>.+)>\z/
235
+ inner_type = Regexp.last_match[:inner_type]
236
+ value.map { |v| _deserialize(inner_type, v) }
237
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
238
+ k_type = Regexp.last_match[:k_type]
239
+ v_type = Regexp.last_match[:v_type]
240
+ {}.tap do |hash|
241
+ value.each do |k, v|
242
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
243
+ end
244
+ end
245
+ else # model
246
+ # models (e.g. Pet) or oneOf
247
+ klass = UltracartClient.const_get(type)
248
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
249
+ end
250
+ end
251
+
252
+ # Returns the string representation of the object
253
+ # @return [String] String presentation of the object
254
+ def to_s
255
+ to_hash.to_s
256
+ end
257
+
258
+ # to_body is an alias to to_hash (backward compatibility)
259
+ # @return [Hash] Returns the object in the form of hash
260
+ def to_body
261
+ to_hash
262
+ end
263
+
264
+ # Returns the object in the form of hash
265
+ # @return [Hash] Returns the object in the form of hash
266
+ def to_hash
267
+ hash = {}
268
+ self.class.attribute_map.each_pair do |attr, param|
269
+ value = self.send(attr)
270
+ if value.nil?
271
+ is_nullable = self.class.openapi_nullable.include?(attr)
272
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
273
+ end
274
+
275
+ hash[param] = _to_hash(value)
276
+ end
277
+ hash
278
+ end
279
+
280
+ # Outputs non-array value in the form of hash
281
+ # For object, use to_hash. Otherwise, just return the value
282
+ # @param [Object] value Any valid value
283
+ # @return [Hash] Returns the value in the form of hash
284
+ def _to_hash(value)
285
+ if value.is_a?(Array)
286
+ value.compact.map { |v| _to_hash(v) }
287
+ elsif value.is_a?(Hash)
288
+ {}.tap do |hash|
289
+ value.each { |k, v| hash[k] = _to_hash(v) }
290
+ end
291
+ elsif value.respond_to? :to_hash
292
+ value.to_hash
293
+ else
294
+ value
295
+ end
296
+ end
297
+
298
+ end
299
+
300
+ end
@@ -0,0 +1,220 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module UltracartClient
17
+ class SfvbRecordingSettingsRequest
18
+ # True to record real shoppers' sessions, false to stop.
19
+ attr_accessor :enabled
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'enabled' => :'enabled'
25
+ }
26
+ end
27
+
28
+ # Returns all the JSON keys this model knows about
29
+ def self.acceptable_attributes
30
+ attribute_map.values
31
+ end
32
+
33
+ # Attribute type mapping.
34
+ def self.openapi_types
35
+ {
36
+ :'enabled' => :'Boolean'
37
+ }
38
+ end
39
+
40
+ # List of attributes with nullable: true
41
+ def self.openapi_nullable
42
+ Set.new([
43
+ ])
44
+ end
45
+
46
+ # Initializes the object
47
+ # @param [Hash] attributes Model attributes in the form of hash
48
+ def initialize(attributes = {})
49
+ if (!attributes.is_a?(Hash))
50
+ fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbRecordingSettingsRequest` initialize method"
51
+ end
52
+
53
+ # check to see if the attribute exists and convert string to symbol for hash key
54
+ attributes = attributes.each_with_object({}) { |(k, v), h|
55
+ if (!self.class.attribute_map.key?(k.to_sym))
56
+ fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbRecordingSettingsRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
57
+ end
58
+ h[k.to_sym] = v
59
+ }
60
+
61
+ if attributes.key?(:'enabled')
62
+ self.enabled = attributes[:'enabled']
63
+ end
64
+ end
65
+
66
+ # Show invalid properties with the reasons. Usually used together with valid?
67
+ # @return Array for valid properties with the reasons
68
+ def list_invalid_properties
69
+ invalid_properties = Array.new
70
+ invalid_properties
71
+ end
72
+
73
+ # Check to see if the all the properties in the model are valid
74
+ # @return true if the model is valid
75
+ def valid?
76
+ true
77
+ end
78
+
79
+ # Checks equality by comparing each attribute.
80
+ # @param [Object] Object to be compared
81
+ def ==(o)
82
+ return true if self.equal?(o)
83
+ self.class == o.class &&
84
+ enabled == o.enabled
85
+ end
86
+
87
+ # @see the `==` method
88
+ # @param [Object] Object to be compared
89
+ def eql?(o)
90
+ self == o
91
+ end
92
+
93
+ # Calculates hash code according to all attributes.
94
+ # @return [Integer] Hash code
95
+ def hash
96
+ [enabled].hash
97
+ end
98
+
99
+ # Builds the object from hash
100
+ # @param [Hash] attributes Model attributes in the form of hash
101
+ # @return [Object] Returns the model itself
102
+ def self.build_from_hash(attributes)
103
+ new.build_from_hash(attributes)
104
+ end
105
+
106
+ # Builds the object from hash
107
+ # @param [Hash] attributes Model attributes in the form of hash
108
+ # @return [Object] Returns the model itself
109
+ def build_from_hash(attributes)
110
+ return nil unless attributes.is_a?(Hash)
111
+ attributes = attributes.transform_keys(&:to_sym)
112
+ self.class.openapi_types.each_pair do |key, type|
113
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
114
+ self.send("#{key}=", nil)
115
+ elsif type =~ /\AArray<(.*)>/i
116
+ # check to ensure the input is an array given that the attribute
117
+ # is documented as an array but the input is not
118
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
119
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
120
+ end
121
+ elsif !attributes[self.class.attribute_map[key]].nil?
122
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
123
+ end
124
+ end
125
+
126
+ self
127
+ end
128
+
129
+ # Deserializes the data based on type
130
+ # @param string type Data type
131
+ # @param string value Value to be deserialized
132
+ # @return [Object] Deserialized data
133
+ def _deserialize(type, value)
134
+ case type.to_sym
135
+ when :Time
136
+ Time.parse(value)
137
+ when :Date
138
+ Date.parse(value)
139
+ when :String
140
+ value.to_s
141
+ when :Integer
142
+ value.to_i
143
+ when :Float
144
+ value.to_f
145
+ when :Boolean
146
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
147
+ true
148
+ else
149
+ false
150
+ end
151
+ when :Object
152
+ # generic object (usually a Hash), return directly
153
+ value
154
+ when /\AArray<(?<inner_type>.+)>\z/
155
+ inner_type = Regexp.last_match[:inner_type]
156
+ value.map { |v| _deserialize(inner_type, v) }
157
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
158
+ k_type = Regexp.last_match[:k_type]
159
+ v_type = Regexp.last_match[:v_type]
160
+ {}.tap do |hash|
161
+ value.each do |k, v|
162
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
163
+ end
164
+ end
165
+ else # model
166
+ # models (e.g. Pet) or oneOf
167
+ klass = UltracartClient.const_get(type)
168
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
169
+ end
170
+ end
171
+
172
+ # Returns the string representation of the object
173
+ # @return [String] String presentation of the object
174
+ def to_s
175
+ to_hash.to_s
176
+ end
177
+
178
+ # to_body is an alias to to_hash (backward compatibility)
179
+ # @return [Hash] Returns the object in the form of hash
180
+ def to_body
181
+ to_hash
182
+ end
183
+
184
+ # Returns the object in the form of hash
185
+ # @return [Hash] Returns the object in the form of hash
186
+ def to_hash
187
+ hash = {}
188
+ self.class.attribute_map.each_pair do |attr, param|
189
+ value = self.send(attr)
190
+ if value.nil?
191
+ is_nullable = self.class.openapi_nullable.include?(attr)
192
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
193
+ end
194
+
195
+ hash[param] = _to_hash(value)
196
+ end
197
+ hash
198
+ end
199
+
200
+ # Outputs non-array value in the form of hash
201
+ # For object, use to_hash. Otherwise, just return the value
202
+ # @param [Object] value Any valid value
203
+ # @return [Hash] Returns the value in the form of hash
204
+ def _to_hash(value)
205
+ if value.is_a?(Array)
206
+ value.compact.map { |v| _to_hash(v) }
207
+ elsif value.is_a?(Hash)
208
+ {}.tap do |hash|
209
+ value.each { |k, v| hash[k] = _to_hash(v) }
210
+ end
211
+ elsif value.respond_to? :to_hash
212
+ value.to_hash
213
+ else
214
+ value
215
+ end
216
+ end
217
+
218
+ end
219
+
220
+ end
@@ -0,0 +1,229 @@
1
+ =begin
2
+ #UltraCart Rest API V2
3
+
4
+ #UltraCart REST API Version 2
5
+
6
+ The version of the OpenAPI document: 2.0.0
7
+ Contact: support@ultracart.com
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 6.0.1-SNAPSHOT
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module UltracartClient
17
+ class SfvbRecordingSettingsResponse
18
+ # On a change only. False when recording was already in the requested state, so nothing was saved.
19
+ attr_accessor :changed
20
+
21
+ attr_accessor :settings
22
+
23
+ # Attribute mapping from ruby-style variable name to JSON key.
24
+ def self.attribute_map
25
+ {
26
+ :'changed' => :'changed',
27
+ :'settings' => :'settings'
28
+ }
29
+ end
30
+
31
+ # Returns all the JSON keys this model knows about
32
+ def self.acceptable_attributes
33
+ attribute_map.values
34
+ end
35
+
36
+ # Attribute type mapping.
37
+ def self.openapi_types
38
+ {
39
+ :'changed' => :'Boolean',
40
+ :'settings' => :'SfvbRecordingSettings'
41
+ }
42
+ end
43
+
44
+ # List of attributes with nullable: true
45
+ def self.openapi_nullable
46
+ Set.new([
47
+ ])
48
+ end
49
+
50
+ # Initializes the object
51
+ # @param [Hash] attributes Model attributes in the form of hash
52
+ def initialize(attributes = {})
53
+ if (!attributes.is_a?(Hash))
54
+ fail ArgumentError, "The input argument (attributes) must be a hash in `UltracartClient::SfvbRecordingSettingsResponse` initialize method"
55
+ end
56
+
57
+ # check to see if the attribute exists and convert string to symbol for hash key
58
+ attributes = attributes.each_with_object({}) { |(k, v), h|
59
+ if (!self.class.attribute_map.key?(k.to_sym))
60
+ fail ArgumentError, "`#{k}` is not a valid attribute in `UltracartClient::SfvbRecordingSettingsResponse`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
61
+ end
62
+ h[k.to_sym] = v
63
+ }
64
+
65
+ if attributes.key?(:'changed')
66
+ self.changed = attributes[:'changed']
67
+ end
68
+
69
+ if attributes.key?(:'settings')
70
+ self.settings = attributes[:'settings']
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ invalid_properties = Array.new
78
+ invalid_properties
79
+ end
80
+
81
+ # Check to see if the all the properties in the model are valid
82
+ # @return true if the model is valid
83
+ def valid?
84
+ true
85
+ end
86
+
87
+ # Checks equality by comparing each attribute.
88
+ # @param [Object] Object to be compared
89
+ def ==(o)
90
+ return true if self.equal?(o)
91
+ self.class == o.class &&
92
+ changed == o.changed &&
93
+ settings == o.settings
94
+ end
95
+
96
+ # @see the `==` method
97
+ # @param [Object] Object to be compared
98
+ def eql?(o)
99
+ self == o
100
+ end
101
+
102
+ # Calculates hash code according to all attributes.
103
+ # @return [Integer] Hash code
104
+ def hash
105
+ [changed, settings].hash
106
+ end
107
+
108
+ # Builds the object from hash
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @return [Object] Returns the model itself
111
+ def self.build_from_hash(attributes)
112
+ new.build_from_hash(attributes)
113
+ end
114
+
115
+ # Builds the object from hash
116
+ # @param [Hash] attributes Model attributes in the form of hash
117
+ # @return [Object] Returns the model itself
118
+ def build_from_hash(attributes)
119
+ return nil unless attributes.is_a?(Hash)
120
+ attributes = attributes.transform_keys(&:to_sym)
121
+ self.class.openapi_types.each_pair do |key, type|
122
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
123
+ self.send("#{key}=", nil)
124
+ elsif type =~ /\AArray<(.*)>/i
125
+ # check to ensure the input is an array given that the attribute
126
+ # is documented as an array but the input is not
127
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
128
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
129
+ end
130
+ elsif !attributes[self.class.attribute_map[key]].nil?
131
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
132
+ end
133
+ end
134
+
135
+ self
136
+ end
137
+
138
+ # Deserializes the data based on type
139
+ # @param string type Data type
140
+ # @param string value Value to be deserialized
141
+ # @return [Object] Deserialized data
142
+ def _deserialize(type, value)
143
+ case type.to_sym
144
+ when :Time
145
+ Time.parse(value)
146
+ when :Date
147
+ Date.parse(value)
148
+ when :String
149
+ value.to_s
150
+ when :Integer
151
+ value.to_i
152
+ when :Float
153
+ value.to_f
154
+ when :Boolean
155
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
156
+ true
157
+ else
158
+ false
159
+ end
160
+ when :Object
161
+ # generic object (usually a Hash), return directly
162
+ value
163
+ when /\AArray<(?<inner_type>.+)>\z/
164
+ inner_type = Regexp.last_match[:inner_type]
165
+ value.map { |v| _deserialize(inner_type, v) }
166
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
167
+ k_type = Regexp.last_match[:k_type]
168
+ v_type = Regexp.last_match[:v_type]
169
+ {}.tap do |hash|
170
+ value.each do |k, v|
171
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
172
+ end
173
+ end
174
+ else # model
175
+ # models (e.g. Pet) or oneOf
176
+ klass = UltracartClient.const_get(type)
177
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
178
+ end
179
+ end
180
+
181
+ # Returns the string representation of the object
182
+ # @return [String] String presentation of the object
183
+ def to_s
184
+ to_hash.to_s
185
+ end
186
+
187
+ # to_body is an alias to to_hash (backward compatibility)
188
+ # @return [Hash] Returns the object in the form of hash
189
+ def to_body
190
+ to_hash
191
+ end
192
+
193
+ # Returns the object in the form of hash
194
+ # @return [Hash] Returns the object in the form of hash
195
+ def to_hash
196
+ hash = {}
197
+ self.class.attribute_map.each_pair do |attr, param|
198
+ value = self.send(attr)
199
+ if value.nil?
200
+ is_nullable = self.class.openapi_nullable.include?(attr)
201
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
202
+ end
203
+
204
+ hash[param] = _to_hash(value)
205
+ end
206
+ hash
207
+ end
208
+
209
+ # Outputs non-array value in the form of hash
210
+ # For object, use to_hash. Otherwise, just return the value
211
+ # @param [Object] value Any valid value
212
+ # @return [Hash] Returns the value in the form of hash
213
+ def _to_hash(value)
214
+ if value.is_a?(Array)
215
+ value.compact.map { |v| _to_hash(v) }
216
+ elsif value.is_a?(Hash)
217
+ {}.tap do |hash|
218
+ value.each { |k, v| hash[k] = _to_hash(v) }
219
+ end
220
+ elsif value.respond_to? :to_hash
221
+ value.to_hash
222
+ else
223
+ value
224
+ end
225
+ end
226
+
227
+ end
228
+
229
+ end
@@ -11,5 +11,5 @@ OpenAPI Generator version: 6.0.1-SNAPSHOT
11
11
  =end
12
12
 
13
13
  module UltracartClient
14
- VERSION = '4.1.180'
14
+ VERSION = '4.1.181'
15
15
  end
data/lib/ultracart_api.rb CHANGED
@@ -1072,6 +1072,9 @@ require 'ultracart_api/models/sfvb_recording_events_response'
1072
1072
  require 'ultracart_api/models/sfvb_recording_page_view'
1073
1073
  require 'ultracart_api/models/sfvb_recording_parameter'
1074
1074
  require 'ultracart_api/models/sfvb_recording_response'
1075
+ require 'ultracart_api/models/sfvb_recording_settings'
1076
+ require 'ultracart_api/models/sfvb_recording_settings_request'
1077
+ require 'ultracart_api/models/sfvb_recording_settings_response'
1075
1078
  require 'ultracart_api/models/sfvb_render_request'
1076
1079
  require 'ultracart_api/models/sfvb_render_response'
1077
1080
  require 'ultracart_api/models/sfvb_server_log'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ultracart_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.1.180
4
+ version: 4.1.181
5
5
  platform: ruby
6
6
  authors:
7
7
  - UltraCart
@@ -1134,6 +1134,9 @@ files:
1134
1134
  - docs/SfvbRecordingPageView.md
1135
1135
  - docs/SfvbRecordingParameter.md
1136
1136
  - docs/SfvbRecordingResponse.md
1137
+ - docs/SfvbRecordingSettings.md
1138
+ - docs/SfvbRecordingSettingsRequest.md
1139
+ - docs/SfvbRecordingSettingsResponse.md
1137
1140
  - docs/SfvbRenderRequest.md
1138
1141
  - docs/SfvbRenderResponse.md
1139
1142
  - docs/SfvbServerLog.md
@@ -2362,6 +2365,9 @@ files:
2362
2365
  - lib/ultracart_api/models/sfvb_recording_page_view.rb
2363
2366
  - lib/ultracart_api/models/sfvb_recording_parameter.rb
2364
2367
  - lib/ultracart_api/models/sfvb_recording_response.rb
2368
+ - lib/ultracart_api/models/sfvb_recording_settings.rb
2369
+ - lib/ultracart_api/models/sfvb_recording_settings_request.rb
2370
+ - lib/ultracart_api/models/sfvb_recording_settings_response.rb
2365
2371
  - lib/ultracart_api/models/sfvb_render_request.rb
2366
2372
  - lib/ultracart_api/models/sfvb_render_response.rb
2367
2373
  - lib/ultracart_api/models/sfvb_server_log.rb