ultracart_api 4.1.160 → 4.1.162

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +50 -2
  3. data/docs/SfvbApi.md +1123 -10
  4. data/docs/SfvbBlogPost.md +30 -0
  5. data/docs/SfvbBlogPostsResponse.md +24 -0
  6. data/docs/SfvbExperiment.md +36 -0
  7. data/docs/SfvbExperimentEndRequest.md +18 -0
  8. data/docs/SfvbExperimentObjective.md +24 -0
  9. data/docs/SfvbExperimentObjectivesResponse.md +18 -0
  10. data/docs/SfvbExperimentStartRequest.md +40 -0
  11. data/docs/SfvbExperimentStartVariation.md +22 -0
  12. data/docs/SfvbExperimentVariationUpdateRequest.md +18 -0
  13. data/docs/SfvbExperimentsResponse.md +18 -0
  14. data/docs/SfvbPageBlogPostSelector.md +26 -0
  15. data/docs/SfvbPageBlogPostsRequest.md +18 -0
  16. data/docs/SfvbPageBlogPostsResponse.md +22 -0
  17. data/docs/SfvbPageCreateRequest.md +34 -0
  18. data/docs/SfvbPageDuplicateRequest.md +22 -0
  19. data/docs/SfvbPageItem.md +26 -0
  20. data/docs/SfvbPageItemSelector.md +42 -0
  21. data/docs/SfvbPageItemsAddRequest.md +18 -0
  22. data/docs/SfvbPageItemsRemoveRequest.md +18 -0
  23. data/docs/SfvbPageItemsResponse.md +24 -0
  24. data/docs/SfvbPageListResponse.md +18 -0
  25. data/docs/SfvbPageResponse.md +13 -1
  26. data/docs/SfvbPageSelectors.md +26 -0
  27. data/docs/SfvbPageSettingsRequest.md +44 -0
  28. data/docs/SfvbPageSummary.md +44 -0
  29. data/docs/SfvbTemplate.md +36 -0
  30. data/docs/SfvbTemplatesResponse.md +20 -0
  31. data/lib/ultracart_api/api/sfvb_api.rb +1722 -211
  32. data/lib/ultracart_api/models/sfvb_blog_post.rb +280 -0
  33. data/lib/ultracart_api/models/sfvb_blog_posts_response.rb +252 -0
  34. data/lib/ultracart_api/models/sfvb_experiment.rb +309 -0
  35. data/lib/ultracart_api/models/sfvb_experiment_end_request.rb +220 -0
  36. data/lib/ultracart_api/models/sfvb_experiment_objective.rb +250 -0
  37. data/lib/ultracart_api/models/sfvb_experiment_objectives_response.rb +222 -0
  38. data/lib/ultracart_api/models/sfvb_experiment_start_request.rb +332 -0
  39. data/lib/ultracart_api/models/sfvb_experiment_start_variation.rb +240 -0
  40. data/lib/ultracart_api/models/sfvb_experiment_variation_update_request.rb +220 -0
  41. data/lib/ultracart_api/models/sfvb_experiments_response.rb +222 -0
  42. data/lib/ultracart_api/models/sfvb_page_blog_post_selector.rb +260 -0
  43. data/lib/ultracart_api/models/sfvb_page_blog_posts_request.rb +222 -0
  44. data/lib/ultracart_api/models/sfvb_page_blog_posts_response.rb +242 -0
  45. data/lib/ultracart_api/models/sfvb_page_create_request.rb +300 -0
  46. data/lib/ultracart_api/models/sfvb_page_duplicate_request.rb +240 -0
  47. data/lib/ultracart_api/models/sfvb_page_item.rb +260 -0
  48. data/lib/ultracart_api/models/sfvb_page_item_selector.rb +340 -0
  49. data/lib/ultracart_api/models/sfvb_page_items_add_request.rb +222 -0
  50. data/lib/ultracart_api/models/sfvb_page_items_remove_request.rb +222 -0
  51. data/lib/ultracart_api/models/sfvb_page_items_response.rb +252 -0
  52. data/lib/ultracart_api/models/sfvb_page_list_response.rb +222 -0
  53. data/lib/ultracart_api/models/sfvb_page_response.rb +64 -4
  54. data/lib/ultracart_api/models/sfvb_page_selectors.rb +264 -0
  55. data/lib/ultracart_api/models/sfvb_page_settings_request.rb +350 -0
  56. data/lib/ultracart_api/models/sfvb_page_summary.rb +350 -0
  57. data/lib/ultracart_api/models/sfvb_template.rb +310 -0
  58. data/lib/ultracart_api/models/sfvb_templates_response.rb +232 -0
  59. data/lib/ultracart_api/version.rb +1 -1
  60. data/lib/ultracart_api.rb +26 -0
  61. metadata +53 -1
data/docs/SfvbApi.md CHANGED
@@ -4,6 +4,8 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
4
4
 
5
5
  | Method | HTTP request | Description |
6
6
  | ------ | ------------ | ----------- |
7
+ | [**add_sfvb_page_blog_posts**](SfvbApi.md#add_sfvb_page_blog_posts) | **POST** /sfvb/storefronts/{storefront_oid}/pages/blog_posts/add | Assign blog posts to a page |
8
+ | [**add_sfvb_page_items**](SfvbApi.md#add_sfvb_page_items) | **POST** /sfvb/storefronts/{storefront_oid}/pages/items/add | Assign items to a page |
7
9
  | [**compile_sfvb_cjson**](SfvbApi.md#compile_sfvb_cjson) | **POST** /sfvb/cjson/compile | Compile CJSON to Velocity |
8
10
  | [**create_sfvb_preview_access**](SfvbApi.md#create_sfvb_preview_access) | **POST** /sfvb/storefronts/{storefront_oid}/preview_access | One time link that opens a preview in a browser with no UltraCart login |
9
11
  | [**create_sfvb_preview_session**](SfvbApi.md#create_sfvb_preview_session) | **POST** /sfvb/storefronts/{storefront_oid}/preview_sessions | Create a preview session |
@@ -11,17 +13,24 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
11
13
  | [**delete_sfvb_page_multimedia**](SfvbApi.md#delete_sfvb_page_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Detach an image from a page |
12
14
  | [**delete_sfvb_preview_session**](SfvbApi.md#delete_sfvb_preview_session) | **DELETE** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Delete a preview session |
13
15
  | [**download_sfvb_file**](SfvbApi.md#download_sfvb_file) | **GET** /sfvb/storefronts/{storefront_oid}/files/download | Read a storefront file's raw bytes |
16
+ | [**duplicate_sfvb_page**](SfvbApi.md#duplicate_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages/duplicate | Copy a page to a new path |
14
17
  | [**duplicate_sfvb_theme**](SfvbApi.md#duplicate_sfvb_theme) | **POST** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/duplicate | Duplicate a theme |
18
+ | [**end_sfvb_experiment**](SfvbApi.md#end_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/end | End an experiment |
15
19
  | [**get_sfvb_cjson_used_elements**](SfvbApi.md#get_sfvb_cjson_used_elements) | **POST** /sfvb/cjson/elements | Element types used by a container |
16
20
  | [**get_sfvb_container**](SfvbApi.md#get_sfvb_container) | **GET** /sfvb/storefronts/{storefront_oid}/containers/{owner_type}/{owner_object_id} | Read a container stored outside the file system |
17
21
  | [**get_sfvb_container_version**](SfvbApi.md#get_sfvb_container_version) | **GET** /sfvb/storefronts/{storefront_oid}/container_versions/{container_history_oid} | Read the CJSON stored in one container history entry |
18
22
  | [**get_sfvb_element**](SfvbApi.md#get_sfvb_element) | **GET** /sfvb/elements/{element_type} | Configuration schema and field card for one element type |
23
+ | [**get_sfvb_experiment**](SfvbApi.md#get_sfvb_experiment) | **GET** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid} | Read one experiment and its statistics |
24
+ | [**get_sfvb_experiment_objectives**](SfvbApi.md#get_sfvb_experiment_objectives) | **GET** /sfvb/storefronts/{storefront_oid}/experiments/objectives | List the objectives an experiment can optimize |
19
25
  | [**get_sfvb_file_content**](SfvbApi.md#get_sfvb_file_content) | **GET** /sfvb/storefronts/{storefront_oid}/files/content | Read a storefront file |
20
26
  | [**get_sfvb_file_upload_url**](SfvbApi.md#get_sfvb_file_upload_url) | **GET** /sfvb/storefronts/{storefront_oid}/files/upload_url/{extension} | Get a URL to upload a binary asset to |
21
27
  | [**get_sfvb_library_entry**](SfvbApi.md#get_sfvb_library_entry) | **GET** /sfvb/storefronts/{storefront_oid}/library/{library_oid} | Read one library entry including its CJSON |
22
28
  | [**get_sfvb_menu**](SfvbApi.md#get_sfvb_menu) | **GET** /sfvb/storefronts/{storefront_oid}/menus/{code} | Read one store menu and its entries |
23
29
  | [**get_sfvb_menus**](SfvbApi.md#get_sfvb_menus) | **GET** /sfvb/storefronts/{storefront_oid}/menus | List a storefront's store menus |
24
30
  | [**get_sfvb_page**](SfvbApi.md#get_sfvb_page) | **GET** /sfvb/storefronts/{storefront_oid}/pages | Read a page's attributes and images |
31
+ | [**get_sfvb_page_blog_posts**](SfvbApi.md#get_sfvb_page_blog_posts) | **GET** /sfvb/storefronts/{storefront_oid}/pages/blog_posts | Read the blog posts assigned to a page |
32
+ | [**get_sfvb_page_items**](SfvbApi.md#get_sfvb_page_items) | **GET** /sfvb/storefronts/{storefront_oid}/pages/items | Read the items assigned to a page |
33
+ | [**get_sfvb_page_selectors**](SfvbApi.md#get_sfvb_page_selectors) | **GET** /sfvb/storefronts/{storefront_oid}/pages/selectors | Read a page's selectors |
25
34
  | [**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 |
26
35
  | [**get_sfvb_site_attributes**](SfvbApi.md#get_sfvb_site_attributes) | **GET** /sfvb/storefronts/{storefront_oid}/attributes | Read a storefront's site attributes |
27
36
  | [**get_sfvb_theme**](SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme |
@@ -29,33 +38,154 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
29
38
  | [**get_sfvb_theme_job**](SfvbApi.md#get_sfvb_theme_job) | **GET** /sfvb/storefronts/{storefront_oid}/theme_jobs/{job_id} | Status of an asynchronous theme job |
30
39
  | [**get_sfvb_version**](SfvbApi.md#get_sfvb_version) | **GET** /sfvb/version | Compiler version for this merchant |
31
40
  | [**get_sfvb_whoami**](SfvbApi.md#get_sfvb_whoami) | **GET** /sfvb/whoami | Who this token is |
41
+ | [**insert_sfvb_page**](SfvbApi.md#insert_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages | Create a page |
32
42
  | [**install_sfvb_library_entry**](SfvbApi.md#install_sfvb_library_entry) | **POST** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/install | Install a library entry into a storefront |
43
+ | [**list_sfvb_blog_posts**](SfvbApi.md#list_sfvb_blog_posts) | **GET** /sfvb/storefronts/{storefront_oid}/blog_posts | List the storefront's blog posts |
33
44
  | [**list_sfvb_container_versions**](SfvbApi.md#list_sfvb_container_versions) | **GET** /sfvb/storefronts/{storefront_oid}/container_versions | Version history for a container stored outside the file system |
34
45
  | [**list_sfvb_elements**](SfvbApi.md#list_sfvb_elements) | **GET** /sfvb/elements | List every SFVB element type |
46
+ | [**list_sfvb_experiments**](SfvbApi.md#list_sfvb_experiments) | **GET** /sfvb/storefronts/{storefront_oid}/experiments | List the storefront's experiments |
35
47
  | [**list_sfvb_file_versions**](SfvbApi.md#list_sfvb_file_versions) | **GET** /sfvb/storefronts/{storefront_oid}/files/versions | Version history for a storefront file |
36
48
  | [**list_sfvb_files**](SfvbApi.md#list_sfvb_files) | **GET** /sfvb/storefronts/{storefront_oid}/files | List a storefront directory |
49
+ | [**list_sfvb_pages**](SfvbApi.md#list_sfvb_pages) | **GET** /sfvb/storefronts/{storefront_oid}/pages/list | List the storefront's pages |
37
50
  | [**list_sfvb_storefronts**](SfvbApi.md#list_sfvb_storefronts) | **GET** /sfvb/storefronts | List storefronts |
51
+ | [**list_sfvb_templates**](SfvbApi.md#list_sfvb_templates) | **GET** /sfvb/storefronts/{storefront_oid}/templates | List the active theme's templates |
38
52
  | [**list_sfvb_themes**](SfvbApi.md#list_sfvb_themes) | **GET** /sfvb/storefronts/{storefront_oid}/themes | List themes for a storefront |
39
53
  | [**list_sfvb_upsell_offers**](SfvbApi.md#list_sfvb_upsell_offers) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_offers | List upsell offers |
40
54
  | [**put_sfvb_container**](SfvbApi.md#put_sfvb_container) | **PUT** /sfvb/storefronts/{storefront_oid}/containers/{owner_type}/{owner_object_id} | Write a container stored outside the file system |
55
+ | [**put_sfvb_experiment_variation**](SfvbApi.md#put_sfvb_experiment_variation) | **PUT** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/variations/{variation_number} | Pause or resume a variation |
41
56
  | [**put_sfvb_file_content**](SfvbApi.md#put_sfvb_file_content) | **PUT** /sfvb/storefronts/{storefront_oid}/files/content | Write a storefront file |
42
57
  | [**put_sfvb_menu**](SfvbApi.md#put_sfvb_menu) | **PUT** /sfvb/storefronts/{storefront_oid}/menus/{code} | Replace a store menu's entries |
43
58
  | [**put_sfvb_page_attributes**](SfvbApi.md#put_sfvb_page_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/attributes | Change a page's attributes |
44
59
  | [**put_sfvb_page_multimedia**](SfvbApi.md#put_sfvb_page_multimedia) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Attach an image to a page |
60
+ | [**put_sfvb_page_selectors**](SfvbApi.md#put_sfvb_page_selectors) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/selectors | Replace a page's selectors |
61
+ | [**put_sfvb_page_settings**](SfvbApi.md#put_sfvb_page_settings) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/settings | Change a page's settings |
45
62
  | [**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 |
46
63
  | [**put_sfvb_site_attributes**](SfvbApi.md#put_sfvb_site_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/attributes | Change a storefront's site attributes |
47
64
  | [**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 |
65
+ | [**remove_sfvb_page_blog_posts**](SfvbApi.md#remove_sfvb_page_blog_posts) | **POST** /sfvb/storefronts/{storefront_oid}/pages/blog_posts/remove | Take blog posts off a page |
66
+ | [**remove_sfvb_page_items**](SfvbApi.md#remove_sfvb_page_items) | **POST** /sfvb/storefronts/{storefront_oid}/pages/items/remove | Take items off a page |
48
67
  | [**render_sfvb_widgets**](SfvbApi.md#render_sfvb_widgets) | **POST** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/render | Render a CJSON node to HTML |
49
68
  | [**reserve_sfvb_widget_ids**](SfvbApi.md#reserve_sfvb_widget_ids) | **POST** /sfvb/storefronts/{storefront_oid}/widget_ids | Reserve a block of widget ids |
50
69
  | [**revert_sfvb_container**](SfvbApi.md#revert_sfvb_container) | **POST** /sfvb/storefronts/{storefront_oid}/containers/{owner_type}/{owner_object_id}/revert | Revert a container stored outside the file system |
51
70
  | [**revert_sfvb_file**](SfvbApi.md#revert_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/revert | Revert a storefront file to an earlier version |
52
71
  | [**search_sfvb_files**](SfvbApi.md#search_sfvb_files) | **POST** /sfvb/storefronts/{storefront_oid}/files/search | Search storefront files |
53
72
  | [**search_sfvb_library**](SfvbApi.md#search_sfvb_library) | **GET** /sfvb/storefronts/{storefront_oid}/library | Search the element library |
73
+ | [**start_sfvb_experiment**](SfvbApi.md#start_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments | Start an experiment |
54
74
  | [**upload_sfvb_file**](SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded |
55
75
  | [**validate_sfvb_cjson**](SfvbApi.md#validate_sfvb_cjson) | **POST** /sfvb/cjson/validate | Validate CJSON |
56
76
  | [**validate_sfvb_velocity**](SfvbApi.md#validate_sfvb_velocity) | **POST** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/velocity/validate | Validate a Velocity template against a theme |
57
77
 
58
78
 
79
+ ## add_sfvb_page_blog_posts
80
+
81
+ > <SfvbPageBlogPostsResponse> add_sfvb_page_blog_posts(storefront_oid, path, page_blog_posts_request)
82
+
83
+ Assign blog posts to a page
84
+
85
+ Adds posts by blog_post_oid, at most 500 at a time. Every oid must be a post on this storefront, and one that is not changes nothing. Refused on a page whose selectors choose its blog posts. Always needs sfvb_publish.
86
+
87
+
88
+ ### Examples
89
+
90
+
91
+ (No example for this operation).
92
+
93
+
94
+ #### Using the add_sfvb_page_blog_posts_with_http_info variant
95
+
96
+ This returns an Array which contains the response data, status code and headers.
97
+
98
+ > <Array(<SfvbPageBlogPostsResponse>, Integer, Hash)> add_sfvb_page_blog_posts_with_http_info(storefront_oid, path, page_blog_posts_request)
99
+
100
+ ```ruby
101
+ begin
102
+ # Assign blog posts to a page
103
+ data, status_code, headers = api_instance.add_sfvb_page_blog_posts_with_http_info(storefront_oid, path, page_blog_posts_request)
104
+ p status_code # => 2xx
105
+ p headers # => { ... }
106
+ p data # => <SfvbPageBlogPostsResponse>
107
+ rescue UltracartClient::ApiError => e
108
+ puts "Error when calling SfvbApi->add_sfvb_page_blog_posts_with_http_info: #{e}"
109
+ end
110
+ ```
111
+
112
+ ### Parameters
113
+
114
+ | Name | Type | Description | Notes |
115
+ | ---- | ---- | ----------- | ----- |
116
+ | **storefront_oid** | **Integer** | | |
117
+ | **path** | **String** | Page path, for example /blog/ | |
118
+ | **page_blog_posts_request** | [**SfvbPageBlogPostsRequest**](SfvbPageBlogPostsRequest.md) | Blog posts to assign | |
119
+
120
+ ### Return type
121
+
122
+ [**SfvbPageBlogPostsResponse**](SfvbPageBlogPostsResponse.md)
123
+
124
+ ### Authorization
125
+
126
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
127
+
128
+ ### HTTP request headers
129
+
130
+ - **Content-Type**: application/json; charset=UTF-8
131
+ - **Accept**: application/json
132
+
133
+
134
+ ## add_sfvb_page_items
135
+
136
+ > <SfvbPageItemsResponse> add_sfvb_page_items(storefront_oid, path, page_items_add_request)
137
+
138
+ Assign items to a page
139
+
140
+ Adds items by item id, at most 500 at a time, or changes the sort order or url part of items already on the page. Every id is checked first and one unknown id changes nothing. Refused on a page whose selectors choose its items. sort_order is refused unless the page sorts its items by a custom order. Always needs sfvb_publish.
141
+
142
+
143
+ ### Examples
144
+
145
+
146
+ (No example for this operation).
147
+
148
+
149
+ #### Using the add_sfvb_page_items_with_http_info variant
150
+
151
+ This returns an Array which contains the response data, status code and headers.
152
+
153
+ > <Array(<SfvbPageItemsResponse>, Integer, Hash)> add_sfvb_page_items_with_http_info(storefront_oid, path, page_items_add_request)
154
+
155
+ ```ruby
156
+ begin
157
+ # Assign items to a page
158
+ data, status_code, headers = api_instance.add_sfvb_page_items_with_http_info(storefront_oid, path, page_items_add_request)
159
+ p status_code # => 2xx
160
+ p headers # => { ... }
161
+ p data # => <SfvbPageItemsResponse>
162
+ rescue UltracartClient::ApiError => e
163
+ puts "Error when calling SfvbApi->add_sfvb_page_items_with_http_info: #{e}"
164
+ end
165
+ ```
166
+
167
+ ### Parameters
168
+
169
+ | Name | Type | Description | Notes |
170
+ | ---- | ---- | ----------- | ----- |
171
+ | **storefront_oid** | **Integer** | | |
172
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
173
+ | **page_items_add_request** | [**SfvbPageItemsAddRequest**](SfvbPageItemsAddRequest.md) | Items to assign | |
174
+
175
+ ### Return type
176
+
177
+ [**SfvbPageItemsResponse**](SfvbPageItemsResponse.md)
178
+
179
+ ### Authorization
180
+
181
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
182
+
183
+ ### HTTP request headers
184
+
185
+ - **Content-Type**: application/json; charset=UTF-8
186
+ - **Accept**: application/json
187
+
188
+
59
189
  ## compile_sfvb_cjson
60
190
 
61
191
  > <SfvbCompileResponse> compile_sfvb_cjson(compile_request)
@@ -435,6 +565,60 @@ nil (empty response body)
435
565
  - **Accept**: application/octet-stream
436
566
 
437
567
 
568
+ ## duplicate_sfvb_page
569
+
570
+ > <SfvbPageResponse> duplicate_sfvb_page(storefront_oid, page_duplicate_request)
571
+
572
+ Copy a page to a new path
573
+
574
+ Copies what the store admin's duplicate copies - settings, items, blog posts, permissions, attributes, selectors, images and the page folder with its body. The copy goes to the path you choose, under any existing page, with the same path rules as creating a page, and a 409 with the code sfvb.page_exists when that path is taken. The root page and pages with pages under them cannot be copied. A page whose folder holds a started experiment is refused, because the copy would share the experiment - end it first. Translated title and description text is not copied. Always needs sfvb_publish, because the copy is live as soon as it exists.
575
+
576
+
577
+ ### Examples
578
+
579
+
580
+ (No example for this operation).
581
+
582
+
583
+ #### Using the duplicate_sfvb_page_with_http_info variant
584
+
585
+ This returns an Array which contains the response data, status code and headers.
586
+
587
+ > <Array(<SfvbPageResponse>, Integer, Hash)> duplicate_sfvb_page_with_http_info(storefront_oid, page_duplicate_request)
588
+
589
+ ```ruby
590
+ begin
591
+ # Copy a page to a new path
592
+ data, status_code, headers = api_instance.duplicate_sfvb_page_with_http_info(storefront_oid, page_duplicate_request)
593
+ p status_code # => 2xx
594
+ p headers # => { ... }
595
+ p data # => <SfvbPageResponse>
596
+ rescue UltracartClient::ApiError => e
597
+ puts "Error when calling SfvbApi->duplicate_sfvb_page_with_http_info: #{e}"
598
+ end
599
+ ```
600
+
601
+ ### Parameters
602
+
603
+ | Name | Type | Description | Notes |
604
+ | ---- | ---- | ----------- | ----- |
605
+ | **storefront_oid** | **Integer** | | |
606
+ | **page_duplicate_request** | [**SfvbPageDuplicateRequest**](SfvbPageDuplicateRequest.md) | The page to copy and where | |
607
+
608
+ ### Return type
609
+
610
+ [**SfvbPageResponse**](SfvbPageResponse.md)
611
+
612
+ ### Authorization
613
+
614
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
615
+
616
+ ### HTTP request headers
617
+
618
+ - **Content-Type**: application/json; charset=UTF-8
619
+ - **Accept**: application/json
620
+
621
+
438
622
  ## duplicate_sfvb_theme
439
623
 
440
624
  > <SfvbThemeJobResponse> duplicate_sfvb_theme(storefront_oid, theme_oid, duplicate_request)
@@ -490,6 +674,61 @@ end
490
674
  - **Accept**: application/json
491
675
 
492
676
 
677
+ ## end_sfvb_experiment
678
+
679
+ > <SfvbExperiment> end_sfvb_experiment(storefront_oid, experiment_oid, opts)
680
+
681
+ End an experiment
682
+
683
+ Ends a running experiment. With winner_variation_number the winner gets all new visitors, and a page experiment's winning content is promoted into the page by the completion job on its next run, which also emails the merchant. Without a winner a page experiment's id is cleared from its page body so the page shows variation 0, and a url experiment sends everyone to variation 0. Visitors already assigned to a url experiment keep their page for up to 30 days. Always needs sfvb_publish.
684
+
685
+
686
+ ### Examples
687
+
688
+
689
+ (No example for this operation).
690
+
691
+
692
+ #### Using the end_sfvb_experiment_with_http_info variant
693
+
694
+ This returns an Array which contains the response data, status code and headers.
695
+
696
+ > <Array(<SfvbExperiment>, Integer, Hash)> end_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
697
+
698
+ ```ruby
699
+ begin
700
+ # End an experiment
701
+ data, status_code, headers = api_instance.end_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
702
+ p status_code # => 2xx
703
+ p headers # => { ... }
704
+ p data # => <SfvbExperiment>
705
+ rescue UltracartClient::ApiError => e
706
+ puts "Error when calling SfvbApi->end_sfvb_experiment_with_http_info: #{e}"
707
+ end
708
+ ```
709
+
710
+ ### Parameters
711
+
712
+ | Name | Type | Description | Notes |
713
+ | ---- | ---- | ----------- | ----- |
714
+ | **storefront_oid** | **Integer** | | |
715
+ | **experiment_oid** | **Integer** | | |
716
+ | **experiment_end_request** | [**SfvbExperimentEndRequest**](SfvbExperimentEndRequest.md) | The winner, if any | [optional] |
717
+
718
+ ### Return type
719
+
720
+ [**SfvbExperiment**](SfvbExperiment.md)
721
+
722
+ ### Authorization
723
+
724
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
725
+
726
+ ### HTTP request headers
727
+
728
+ - **Content-Type**: application/json; charset=UTF-8
729
+ - **Accept**: application/json
730
+
731
+
493
732
  ## get_sfvb_cjson_used_elements
494
733
 
495
734
  > <SfvbElementsResponse> get_sfvb_cjson_used_elements(compile_request)
@@ -707,6 +946,114 @@ end
707
946
  - **Accept**: application/json
708
947
 
709
948
 
949
+ ## get_sfvb_experiment
950
+
951
+ > <SfvbExperiment> get_sfvb_experiment(storefront_oid, experiment_oid, opts)
952
+
953
+ Read one experiment and its statistics
954
+
955
+ The experiment, its variations and their statistics, and with daily=true each variation's daily rows. p95_sessions_needed is estimated only after 1000 sessions, and sessions_needed_computed_dts says when. For a url experiment, router_url is the address visitors must enter through.
956
+
957
+
958
+ ### Examples
959
+
960
+
961
+ (No example for this operation).
962
+
963
+
964
+ #### Using the get_sfvb_experiment_with_http_info variant
965
+
966
+ This returns an Array which contains the response data, status code and headers.
967
+
968
+ > <Array(<SfvbExperiment>, Integer, Hash)> get_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
969
+
970
+ ```ruby
971
+ begin
972
+ # Read one experiment and its statistics
973
+ data, status_code, headers = api_instance.get_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
974
+ p status_code # => 2xx
975
+ p headers # => { ... }
976
+ p data # => <SfvbExperiment>
977
+ rescue UltracartClient::ApiError => e
978
+ puts "Error when calling SfvbApi->get_sfvb_experiment_with_http_info: #{e}"
979
+ end
980
+ ```
981
+
982
+ ### Parameters
983
+
984
+ | Name | Type | Description | Notes |
985
+ | ---- | ---- | ----------- | ----- |
986
+ | **storefront_oid** | **Integer** | | |
987
+ | **experiment_oid** | **Integer** | | |
988
+ | **daily** | **Boolean** | Include each variation&#39;s daily statistics | [optional] |
989
+
990
+ ### Return type
991
+
992
+ [**SfvbExperiment**](SfvbExperiment.md)
993
+
994
+ ### Authorization
995
+
996
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
997
+
998
+ ### HTTP request headers
999
+
1000
+ - **Content-Type**: Not defined
1001
+ - **Accept**: application/json
1002
+
1003
+
1004
+ ## get_sfvb_experiment_objectives
1005
+
1006
+ > <SfvbExperimentObjectivesResponse> get_sfvb_experiment_objectives(storefront_oid)
1007
+
1008
+ List the objectives an experiment can optimize
1009
+
1010
+ Each objective with what is measured per session and compared between variations, the usual optimization type, and whether it needs an event name.
1011
+
1012
+
1013
+ ### Examples
1014
+
1015
+
1016
+ (No example for this operation).
1017
+
1018
+
1019
+ #### Using the get_sfvb_experiment_objectives_with_http_info variant
1020
+
1021
+ This returns an Array which contains the response data, status code and headers.
1022
+
1023
+ > <Array(<SfvbExperimentObjectivesResponse>, Integer, Hash)> get_sfvb_experiment_objectives_with_http_info(storefront_oid)
1024
+
1025
+ ```ruby
1026
+ begin
1027
+ # List the objectives an experiment can optimize
1028
+ data, status_code, headers = api_instance.get_sfvb_experiment_objectives_with_http_info(storefront_oid)
1029
+ p status_code # => 2xx
1030
+ p headers # => { ... }
1031
+ p data # => <SfvbExperimentObjectivesResponse>
1032
+ rescue UltracartClient::ApiError => e
1033
+ puts "Error when calling SfvbApi->get_sfvb_experiment_objectives_with_http_info: #{e}"
1034
+ end
1035
+ ```
1036
+
1037
+ ### Parameters
1038
+
1039
+ | Name | Type | Description | Notes |
1040
+ | ---- | ---- | ----------- | ----- |
1041
+ | **storefront_oid** | **Integer** | | |
1042
+
1043
+ ### Return type
1044
+
1045
+ [**SfvbExperimentObjectivesResponse**](SfvbExperimentObjectivesResponse.md)
1046
+
1047
+ ### Authorization
1048
+
1049
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1050
+
1051
+ ### HTTP request headers
1052
+
1053
+ - **Content-Type**: Not defined
1054
+ - **Accept**: application/json
1055
+
1056
+
710
1057
  ## get_sfvb_file_content
711
1058
 
712
1059
  > <SfvbFileContentResponse> get_sfvb_file_content(storefront_oid, opts)
@@ -1031,13 +1378,13 @@ end
1031
1378
  - **Accept**: application/json
1032
1379
 
1033
1380
 
1034
- ## get_sfvb_preview_url
1381
+ ## get_sfvb_page_blog_posts
1035
1382
 
1036
- > <SfvbPreviewUrlResponse> get_sfvb_preview_url(storefront_oid, preview_session_id, opts)
1383
+ > <SfvbPageBlogPostsResponse> get_sfvb_page_blog_posts(storefront_oid, path)
1037
1384
 
1038
- URL that renders a preview session
1385
+ Read the blog posts assigned to a page
1039
1386
 
1040
- Refuses a session that does not exist, so a URL you receive is for a session that was really there. expires_in_seconds is the time actually remaining, not the configured lifetime. Needs a token that resolves to a user, because a preview session belongs to the person who created it.
1387
+ The posts the page shows. uses_selectors is true when the page's blog post selectors choose them instead.
1041
1388
 
1042
1389
 
1043
1390
  ### Examples
@@ -1046,11 +1393,173 @@ Refuses a session that does not exist, so a URL you receive is for a session tha
1046
1393
  (No example for this operation).
1047
1394
 
1048
1395
 
1049
- #### Using the get_sfvb_preview_url_with_http_info variant
1396
+ #### Using the get_sfvb_page_blog_posts_with_http_info variant
1050
1397
 
1051
1398
  This returns an Array which contains the response data, status code and headers.
1052
1399
 
1053
- > <Array(<SfvbPreviewUrlResponse>, Integer, Hash)> get_sfvb_preview_url_with_http_info(storefront_oid, preview_session_id, opts)
1400
+ > <Array(<SfvbPageBlogPostsResponse>, Integer, Hash)> get_sfvb_page_blog_posts_with_http_info(storefront_oid, path)
1401
+
1402
+ ```ruby
1403
+ begin
1404
+ # Read the blog posts assigned to a page
1405
+ data, status_code, headers = api_instance.get_sfvb_page_blog_posts_with_http_info(storefront_oid, path)
1406
+ p status_code # => 2xx
1407
+ p headers # => { ... }
1408
+ p data # => <SfvbPageBlogPostsResponse>
1409
+ rescue UltracartClient::ApiError => e
1410
+ puts "Error when calling SfvbApi->get_sfvb_page_blog_posts_with_http_info: #{e}"
1411
+ end
1412
+ ```
1413
+
1414
+ ### Parameters
1415
+
1416
+ | Name | Type | Description | Notes |
1417
+ | ---- | ---- | ----------- | ----- |
1418
+ | **storefront_oid** | **Integer** | | |
1419
+ | **path** | **String** | Page path, for example /blog/ | |
1420
+
1421
+ ### Return type
1422
+
1423
+ [**SfvbPageBlogPostsResponse**](SfvbPageBlogPostsResponse.md)
1424
+
1425
+ ### Authorization
1426
+
1427
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1428
+
1429
+ ### HTTP request headers
1430
+
1431
+ - **Content-Type**: Not defined
1432
+ - **Accept**: application/json
1433
+
1434
+
1435
+ ## get_sfvb_page_items
1436
+
1437
+ > <SfvbPageItemsResponse> get_sfvb_page_items(storefront_oid, path)
1438
+
1439
+ Read the items assigned to a page
1440
+
1441
+ The items on the page with their sort order and url part. uses_selectors is true when the page's selectors choose its items instead.
1442
+
1443
+
1444
+ ### Examples
1445
+
1446
+
1447
+ (No example for this operation).
1448
+
1449
+
1450
+ #### Using the get_sfvb_page_items_with_http_info variant
1451
+
1452
+ This returns an Array which contains the response data, status code and headers.
1453
+
1454
+ > <Array(<SfvbPageItemsResponse>, Integer, Hash)> get_sfvb_page_items_with_http_info(storefront_oid, path)
1455
+
1456
+ ```ruby
1457
+ begin
1458
+ # Read the items assigned to a page
1459
+ data, status_code, headers = api_instance.get_sfvb_page_items_with_http_info(storefront_oid, path)
1460
+ p status_code # => 2xx
1461
+ p headers # => { ... }
1462
+ p data # => <SfvbPageItemsResponse>
1463
+ rescue UltracartClient::ApiError => e
1464
+ puts "Error when calling SfvbApi->get_sfvb_page_items_with_http_info: #{e}"
1465
+ end
1466
+ ```
1467
+
1468
+ ### Parameters
1469
+
1470
+ | Name | Type | Description | Notes |
1471
+ | ---- | ---- | ----------- | ----- |
1472
+ | **storefront_oid** | **Integer** | | |
1473
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
1474
+
1475
+ ### Return type
1476
+
1477
+ [**SfvbPageItemsResponse**](SfvbPageItemsResponse.md)
1478
+
1479
+ ### Authorization
1480
+
1481
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1482
+
1483
+ ### HTTP request headers
1484
+
1485
+ - **Content-Type**: Not defined
1486
+ - **Accept**: application/json
1487
+
1488
+
1489
+ ## get_sfvb_page_selectors
1490
+
1491
+ > <SfvbPageSelectors> get_sfvb_page_selectors(storefront_oid, path)
1492
+
1493
+ Read a page's selectors
1494
+
1495
+ The conditions that choose the page's items and blog posts, and whether each set must all match.
1496
+
1497
+
1498
+ ### Examples
1499
+
1500
+
1501
+ (No example for this operation).
1502
+
1503
+
1504
+ #### Using the get_sfvb_page_selectors_with_http_info variant
1505
+
1506
+ This returns an Array which contains the response data, status code and headers.
1507
+
1508
+ > <Array(<SfvbPageSelectors>, Integer, Hash)> get_sfvb_page_selectors_with_http_info(storefront_oid, path)
1509
+
1510
+ ```ruby
1511
+ begin
1512
+ # Read a page's selectors
1513
+ data, status_code, headers = api_instance.get_sfvb_page_selectors_with_http_info(storefront_oid, path)
1514
+ p status_code # => 2xx
1515
+ p headers # => { ... }
1516
+ p data # => <SfvbPageSelectors>
1517
+ rescue UltracartClient::ApiError => e
1518
+ puts "Error when calling SfvbApi->get_sfvb_page_selectors_with_http_info: #{e}"
1519
+ end
1520
+ ```
1521
+
1522
+ ### Parameters
1523
+
1524
+ | Name | Type | Description | Notes |
1525
+ | ---- | ---- | ----------- | ----- |
1526
+ | **storefront_oid** | **Integer** | | |
1527
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
1528
+
1529
+ ### Return type
1530
+
1531
+ [**SfvbPageSelectors**](SfvbPageSelectors.md)
1532
+
1533
+ ### Authorization
1534
+
1535
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1536
+
1537
+ ### HTTP request headers
1538
+
1539
+ - **Content-Type**: Not defined
1540
+ - **Accept**: application/json
1541
+
1542
+
1543
+ ## get_sfvb_preview_url
1544
+
1545
+ > <SfvbPreviewUrlResponse> get_sfvb_preview_url(storefront_oid, preview_session_id, opts)
1546
+
1547
+ URL that renders a preview session
1548
+
1549
+ Refuses a session that does not exist, so a URL you receive is for a session that was really there. expires_in_seconds is the time actually remaining, not the configured lifetime. Needs a token that resolves to a user, because a preview session belongs to the person who created it.
1550
+
1551
+
1552
+ ### Examples
1553
+
1554
+
1555
+ (No example for this operation).
1556
+
1557
+
1558
+ #### Using the get_sfvb_preview_url_with_http_info variant
1559
+
1560
+ This returns an Array which contains the response data, status code and headers.
1561
+
1562
+ > <Array(<SfvbPreviewUrlResponse>, Integer, Hash)> get_sfvb_preview_url_with_http_info(storefront_oid, preview_session_id, opts)
1054
1563
 
1055
1564
  ```ruby
1056
1565
  begin
@@ -1401,6 +1910,60 @@ This endpoint does not need any parameter.
1401
1910
  - **Accept**: application/json
1402
1911
 
1403
1912
 
1913
+ ## insert_sfvb_page
1914
+
1915
+ > <SfvbPageResponse> insert_sfvb_page(storefront_oid, page_create_request)
1916
+
1917
+ Create a page
1918
+
1919
+ Creates the page and its folder, the way the store admin's add page does. The parent page must already exist, and the last part of the path may only contain letters, digits, hyphens and underscores - it is refused, not cleaned. A path that already has a page is refused with a 409 and the code sfvb.page_exists. Without a group_template the page inherits its parent's templates, or catalog_group.vm directly under the root. Set attributes and images afterwards with the page attribute and image endpoints, and push the body to the page folder. Always needs sfvb_publish, because the page is live as soon as it exists. Deleting, moving and renaming pages stay in the store admin.
1920
+
1921
+
1922
+ ### Examples
1923
+
1924
+
1925
+ (No example for this operation).
1926
+
1927
+
1928
+ #### Using the insert_sfvb_page_with_http_info variant
1929
+
1930
+ This returns an Array which contains the response data, status code and headers.
1931
+
1932
+ > <Array(<SfvbPageResponse>, Integer, Hash)> insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
1933
+
1934
+ ```ruby
1935
+ begin
1936
+ # Create a page
1937
+ data, status_code, headers = api_instance.insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
1938
+ p status_code # => 2xx
1939
+ p headers # => { ... }
1940
+ p data # => <SfvbPageResponse>
1941
+ rescue UltracartClient::ApiError => e
1942
+ puts "Error when calling SfvbApi->insert_sfvb_page_with_http_info: #{e}"
1943
+ end
1944
+ ```
1945
+
1946
+ ### Parameters
1947
+
1948
+ | Name | Type | Description | Notes |
1949
+ | ---- | ---- | ----------- | ----- |
1950
+ | **storefront_oid** | **Integer** | | |
1951
+ | **page_create_request** | [**SfvbPageCreateRequest**](SfvbPageCreateRequest.md) | The page to create | |
1952
+
1953
+ ### Return type
1954
+
1955
+ [**SfvbPageResponse**](SfvbPageResponse.md)
1956
+
1957
+ ### Authorization
1958
+
1959
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1960
+
1961
+ ### HTTP request headers
1962
+
1963
+ - **Content-Type**: application/json; charset=UTF-8
1964
+ - **Accept**: application/json
1965
+
1966
+
1404
1967
  ## install_sfvb_library_entry
1405
1968
 
1406
1969
  > <SfvbLibraryEntry> install_sfvb_library_entry(storefront_oid, library_oid)
@@ -1455,6 +2018,62 @@ end
1455
2018
  - **Accept**: application/json
1456
2019
 
1457
2020
 
2021
+ ## list_sfvb_blog_posts
2022
+
2023
+ > <SfvbBlogPostsResponse> list_sfvb_blog_posts(storefront_oid, opts)
2024
+
2025
+ List the storefront's blog posts
2026
+
2027
+ One page of blog posts, newest first, without their bodies. search matches the title, body, excerpt, url part or author, or a tag exactly. unassigned marks posts no page shows yet. Use a post's blog_post_oid to assign it to a page.
2028
+
2029
+
2030
+ ### Examples
2031
+
2032
+
2033
+ (No example for this operation).
2034
+
2035
+
2036
+ #### Using the list_sfvb_blog_posts_with_http_info variant
2037
+
2038
+ This returns an Array which contains the response data, status code and headers.
2039
+
2040
+ > <Array(<SfvbBlogPostsResponse>, Integer, Hash)> list_sfvb_blog_posts_with_http_info(storefront_oid, opts)
2041
+
2042
+ ```ruby
2043
+ begin
2044
+ # List the storefront's blog posts
2045
+ data, status_code, headers = api_instance.list_sfvb_blog_posts_with_http_info(storefront_oid, opts)
2046
+ p status_code # => 2xx
2047
+ p headers # => { ... }
2048
+ p data # => <SfvbBlogPostsResponse>
2049
+ rescue UltracartClient::ApiError => e
2050
+ puts "Error when calling SfvbApi->list_sfvb_blog_posts_with_http_info: #{e}"
2051
+ end
2052
+ ```
2053
+
2054
+ ### Parameters
2055
+
2056
+ | Name | Type | Description | Notes |
2057
+ | ---- | ---- | ----------- | ----- |
2058
+ | **storefront_oid** | **Integer** | | |
2059
+ | **search** | **String** | Text to search for | [optional] |
2060
+ | **page** | **Integer** | Page number, starting at 1 | [optional] |
2061
+ | **page_size** | **Integer** | Posts per page, 1 to 100, default 50 | [optional] |
2062
+
2063
+ ### Return type
2064
+
2065
+ [**SfvbBlogPostsResponse**](SfvbBlogPostsResponse.md)
2066
+
2067
+ ### Authorization
2068
+
2069
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2070
+
2071
+ ### HTTP request headers
2072
+
2073
+ - **Content-Type**: Not defined
2074
+ - **Accept**: application/json
2075
+
2076
+
1458
2077
  ## list_sfvb_container_versions
1459
2078
 
1460
2079
  > <SfvbContainerVersionsResponse> list_sfvb_container_versions(storefront_oid, opts)
@@ -1562,6 +2181,62 @@ This endpoint does not need any parameter.
1562
2181
  - **Accept**: application/json
1563
2182
 
1564
2183
 
2184
+ ## list_sfvb_experiments
2185
+
2186
+ > <SfvbExperimentsResponse> list_sfvb_experiments(storefront_oid, opts)
2187
+
2188
+ List the storefront's experiments
2189
+
2190
+ Every experiment that is not deleted, with its variations and their statistics - the same numbers the store admin shows. Filter by status, by type (page, url, theme, openai), or by the page an experiment runs on. auto_ends_at says when the engine will end an experiment by itself, and p_value is a one-way ANOVA across all variations. Read one experiment for its daily statistics.
2191
+
2192
+
2193
+ ### Examples
2194
+
2195
+
2196
+ (No example for this operation).
2197
+
2198
+
2199
+ #### Using the list_sfvb_experiments_with_http_info variant
2200
+
2201
+ This returns an Array which contains the response data, status code and headers.
2202
+
2203
+ > <Array(<SfvbExperimentsResponse>, Integer, Hash)> list_sfvb_experiments_with_http_info(storefront_oid, opts)
2204
+
2205
+ ```ruby
2206
+ begin
2207
+ # List the storefront's experiments
2208
+ data, status_code, headers = api_instance.list_sfvb_experiments_with_http_info(storefront_oid, opts)
2209
+ p status_code # => 2xx
2210
+ p headers # => { ... }
2211
+ p data # => <SfvbExperimentsResponse>
2212
+ rescue UltracartClient::ApiError => e
2213
+ puts "Error when calling SfvbApi->list_sfvb_experiments_with_http_info: #{e}"
2214
+ end
2215
+ ```
2216
+
2217
+ ### Parameters
2218
+
2219
+ | Name | Type | Description | Notes |
2220
+ | ---- | ---- | ----------- | ----- |
2221
+ | **storefront_oid** | **Integer** | | |
2222
+ | **status** | **String** | Running or Ended | [optional] |
2223
+ | **type** | **String** | page, url, theme or openai | [optional] |
2224
+ | **path** | **String** | Only experiments on this page, for example /lp/spring-sale/ | [optional] |
2225
+
2226
+ ### Return type
2227
+
2228
+ [**SfvbExperimentsResponse**](SfvbExperimentsResponse.md)
2229
+
2230
+ ### Authorization
2231
+
2232
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2233
+
2234
+ ### HTTP request headers
2235
+
2236
+ - **Content-Type**: Not defined
2237
+ - **Accept**: application/json
2238
+
2239
+
1565
2240
  ## list_sfvb_file_versions
1566
2241
 
1567
2242
  > <SfvbFileVersionsResponse> list_sfvb_file_versions(storefront_oid, opts)
@@ -1673,6 +2348,60 @@ end
1673
2348
  - **Accept**: application/json
1674
2349
 
1675
2350
 
2351
+ ## list_sfvb_pages
2352
+
2353
+ > <SfvbPageListResponse> list_sfvb_pages(storefront_oid, opts)
2354
+
2355
+ List the storefront's pages
2356
+
2357
+ Every page with its settings, sorted by path with the root first. Hidden pages are included. Pass under to list one page and everything below it. Read from the same cached catalog the admin page tree uses, so a page created a moment ago can take a moment to appear here - read it directly with the single-page read to confirm a write.
2358
+
2359
+
2360
+ ### Examples
2361
+
2362
+
2363
+ (No example for this operation).
2364
+
2365
+
2366
+ #### Using the list_sfvb_pages_with_http_info variant
2367
+
2368
+ This returns an Array which contains the response data, status code and headers.
2369
+
2370
+ > <Array(<SfvbPageListResponse>, Integer, Hash)> list_sfvb_pages_with_http_info(storefront_oid, opts)
2371
+
2372
+ ```ruby
2373
+ begin
2374
+ # List the storefront's pages
2375
+ data, status_code, headers = api_instance.list_sfvb_pages_with_http_info(storefront_oid, opts)
2376
+ p status_code # => 2xx
2377
+ p headers # => { ... }
2378
+ p data # => <SfvbPageListResponse>
2379
+ rescue UltracartClient::ApiError => e
2380
+ puts "Error when calling SfvbApi->list_sfvb_pages_with_http_info: #{e}"
2381
+ end
2382
+ ```
2383
+
2384
+ ### Parameters
2385
+
2386
+ | Name | Type | Description | Notes |
2387
+ | ---- | ---- | ----------- | ----- |
2388
+ | **storefront_oid** | **Integer** | | |
2389
+ | **under** | **String** | Only this page and the pages below it, for example /lp/ | [optional] |
2390
+
2391
+ ### Return type
2392
+
2393
+ [**SfvbPageListResponse**](SfvbPageListResponse.md)
2394
+
2395
+ ### Authorization
2396
+
2397
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2398
+
2399
+ ### HTTP request headers
2400
+
2401
+ - **Content-Type**: Not defined
2402
+ - **Accept**: application/json
2403
+
2404
+
1676
2405
  ## list_sfvb_storefronts
1677
2406
 
1678
2407
  > <SfvbStorefrontsResponse> list_sfvb_storefronts
@@ -1698,19 +2427,73 @@ begin
1698
2427
  data, status_code, headers = api_instance.list_sfvb_storefronts_with_http_info
1699
2428
  p status_code # => 2xx
1700
2429
  p headers # => { ... }
1701
- p data # => <SfvbStorefrontsResponse>
2430
+ p data # => <SfvbStorefrontsResponse>
2431
+ rescue UltracartClient::ApiError => e
2432
+ puts "Error when calling SfvbApi->list_sfvb_storefronts_with_http_info: #{e}"
2433
+ end
2434
+ ```
2435
+
2436
+ ### Parameters
2437
+
2438
+ This endpoint does not need any parameter.
2439
+
2440
+ ### Return type
2441
+
2442
+ [**SfvbStorefrontsResponse**](SfvbStorefrontsResponse.md)
2443
+
2444
+ ### Authorization
2445
+
2446
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2447
+
2448
+ ### HTTP request headers
2449
+
2450
+ - **Content-Type**: Not defined
2451
+ - **Accept**: application/json
2452
+
2453
+
2454
+ ## list_sfvb_templates
2455
+
2456
+ > <SfvbTemplatesResponse> list_sfvb_templates(storefront_oid, opts)
2457
+
2458
+ List the active theme's templates
2459
+
2460
+ Each template with the page type it declares and what it can render - items, sub-pages, blog posts, pagination, visual builder containers. A page's group_template names one of these. The storefront's fixed templates, such as checkout and my account, are flagged system and must never be assigned to a page.
2461
+
2462
+
2463
+ ### Examples
2464
+
2465
+
2466
+ (No example for this operation).
2467
+
2468
+
2469
+ #### Using the list_sfvb_templates_with_http_info variant
2470
+
2471
+ This returns an Array which contains the response data, status code and headers.
2472
+
2473
+ > <Array(<SfvbTemplatesResponse>, Integer, Hash)> list_sfvb_templates_with_http_info(storefront_oid, opts)
2474
+
2475
+ ```ruby
2476
+ begin
2477
+ # List the active theme's templates
2478
+ data, status_code, headers = api_instance.list_sfvb_templates_with_http_info(storefront_oid, opts)
2479
+ p status_code # => 2xx
2480
+ p headers # => { ... }
2481
+ p data # => <SfvbTemplatesResponse>
1702
2482
  rescue UltracartClient::ApiError => e
1703
- puts "Error when calling SfvbApi->list_sfvb_storefronts_with_http_info: #{e}"
2483
+ puts "Error when calling SfvbApi->list_sfvb_templates_with_http_info: #{e}"
1704
2484
  end
1705
2485
  ```
1706
2486
 
1707
2487
  ### Parameters
1708
2488
 
1709
- This endpoint does not need any parameter.
2489
+ | Name | Type | Description | Notes |
2490
+ | ---- | ---- | ----------- | ----- |
2491
+ | **storefront_oid** | **Integer** | | |
2492
+ | **page_type** | **String** | Only templates declaring this page type, for example group | [optional] |
1710
2493
 
1711
2494
  ### Return type
1712
2495
 
1713
- [**SfvbStorefrontsResponse**](SfvbStorefrontsResponse.md)
2496
+ [**SfvbTemplatesResponse**](SfvbTemplatesResponse.md)
1714
2497
 
1715
2498
  ### Authorization
1716
2499
 
@@ -1886,6 +2669,62 @@ end
1886
2669
  - **Accept**: application/json
1887
2670
 
1888
2671
 
2672
+ ## put_sfvb_experiment_variation
2673
+
2674
+ > <SfvbExperiment> put_sfvb_experiment_variation(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
2675
+
2676
+ Pause or resume a variation
2677
+
2678
+ Stops or resumes sending new visitors to one variation of a running experiment. Visitors already assigned keep seeing it. Variation 0 cannot be paused, because the split falls back to it, and the last variation still receiving visitors cannot be paused. Always needs sfvb_publish.
2679
+
2680
+
2681
+ ### Examples
2682
+
2683
+
2684
+ (No example for this operation).
2685
+
2686
+
2687
+ #### Using the put_sfvb_experiment_variation_with_http_info variant
2688
+
2689
+ This returns an Array which contains the response data, status code and headers.
2690
+
2691
+ > <Array(<SfvbExperiment>, Integer, Hash)> put_sfvb_experiment_variation_with_http_info(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
2692
+
2693
+ ```ruby
2694
+ begin
2695
+ # Pause or resume a variation
2696
+ data, status_code, headers = api_instance.put_sfvb_experiment_variation_with_http_info(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
2697
+ p status_code # => 2xx
2698
+ p headers # => { ... }
2699
+ p data # => <SfvbExperiment>
2700
+ rescue UltracartClient::ApiError => e
2701
+ puts "Error when calling SfvbApi->put_sfvb_experiment_variation_with_http_info: #{e}"
2702
+ end
2703
+ ```
2704
+
2705
+ ### Parameters
2706
+
2707
+ | Name | Type | Description | Notes |
2708
+ | ---- | ---- | ----------- | ----- |
2709
+ | **storefront_oid** | **Integer** | | |
2710
+ | **experiment_oid** | **Integer** | | |
2711
+ | **variation_number** | **Integer** | | |
2712
+ | **experiment_variation_update_request** | [**SfvbExperimentVariationUpdateRequest**](SfvbExperimentVariationUpdateRequest.md) | Pause or resume | |
2713
+
2714
+ ### Return type
2715
+
2716
+ [**SfvbExperiment**](SfvbExperiment.md)
2717
+
2718
+ ### Authorization
2719
+
2720
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2721
+
2722
+ ### HTTP request headers
2723
+
2724
+ - **Content-Type**: application/json; charset=UTF-8
2725
+ - **Accept**: application/json
2726
+
2727
+
1889
2728
  ## put_sfvb_file_content
1890
2729
 
1891
2730
  > <SfvbFileWriteResponse> put_sfvb_file_content(storefront_oid, if_match, file_write_request, opts)
@@ -2108,6 +2947,116 @@ end
2108
2947
  - **Accept**: application/json
2109
2948
 
2110
2949
 
2950
+ ## put_sfvb_page_selectors
2951
+
2952
+ > <SfvbPageSelectors> put_sfvb_page_selectors(storefront_oid, path, page_selectors_request)
2953
+
2954
+ Replace a page's selectors
2955
+
2956
+ Each list you send replaces that whole set, and an empty list clears it. A list you leave out is not touched. The page's items or blog posts are recalculated from the new selectors straight away. While a page has item selectors its items cannot be assigned by hand. Always needs sfvb_publish.
2957
+
2958
+
2959
+ ### Examples
2960
+
2961
+
2962
+ (No example for this operation).
2963
+
2964
+
2965
+ #### Using the put_sfvb_page_selectors_with_http_info variant
2966
+
2967
+ This returns an Array which contains the response data, status code and headers.
2968
+
2969
+ > <Array(<SfvbPageSelectors>, Integer, Hash)> put_sfvb_page_selectors_with_http_info(storefront_oid, path, page_selectors_request)
2970
+
2971
+ ```ruby
2972
+ begin
2973
+ # Replace a page's selectors
2974
+ data, status_code, headers = api_instance.put_sfvb_page_selectors_with_http_info(storefront_oid, path, page_selectors_request)
2975
+ p status_code # => 2xx
2976
+ p headers # => { ... }
2977
+ p data # => <SfvbPageSelectors>
2978
+ rescue UltracartClient::ApiError => e
2979
+ puts "Error when calling SfvbApi->put_sfvb_page_selectors_with_http_info: #{e}"
2980
+ end
2981
+ ```
2982
+
2983
+ ### Parameters
2984
+
2985
+ | Name | Type | Description | Notes |
2986
+ | ---- | ---- | ----------- | ----- |
2987
+ | **storefront_oid** | **Integer** | | |
2988
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
2989
+ | **page_selectors_request** | [**SfvbPageSelectors**](SfvbPageSelectors.md) | The selector sets to replace | |
2990
+
2991
+ ### Return type
2992
+
2993
+ [**SfvbPageSelectors**](SfvbPageSelectors.md)
2994
+
2995
+ ### Authorization
2996
+
2997
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2998
+
2999
+ ### HTTP request headers
3000
+
3001
+ - **Content-Type**: application/json; charset=UTF-8
3002
+ - **Accept**: application/json
3003
+
3004
+
3005
+ ## put_sfvb_page_settings
3006
+
3007
+ > <SfvbPageResponse> put_sfvb_page_settings(storefront_oid, path, page_settings_request)
3008
+
3009
+ Change a page's settings
3010
+
3011
+ A partial update. Only the fields you send change - title, description, templates, visibility, sitemap exclusion, sort orders, items per page and page type. Unlike the store admin's page save, the page's attributes, images, items, selectors and permissions are left exactly as they are. Fields that would move or rename the page, and fields this endpoint does not know, are refused. The root page cannot be hidden. Always needs sfvb_publish, because page settings are live.
3012
+
3013
+
3014
+ ### Examples
3015
+
3016
+
3017
+ (No example for this operation).
3018
+
3019
+
3020
+ #### Using the put_sfvb_page_settings_with_http_info variant
3021
+
3022
+ This returns an Array which contains the response data, status code and headers.
3023
+
3024
+ > <Array(<SfvbPageResponse>, Integer, Hash)> put_sfvb_page_settings_with_http_info(storefront_oid, path, page_settings_request)
3025
+
3026
+ ```ruby
3027
+ begin
3028
+ # Change a page's settings
3029
+ data, status_code, headers = api_instance.put_sfvb_page_settings_with_http_info(storefront_oid, path, page_settings_request)
3030
+ p status_code # => 2xx
3031
+ p headers # => { ... }
3032
+ p data # => <SfvbPageResponse>
3033
+ rescue UltracartClient::ApiError => e
3034
+ puts "Error when calling SfvbApi->put_sfvb_page_settings_with_http_info: #{e}"
3035
+ end
3036
+ ```
3037
+
3038
+ ### Parameters
3039
+
3040
+ | Name | Type | Description | Notes |
3041
+ | ---- | ---- | ----------- | ----- |
3042
+ | **storefront_oid** | **Integer** | | |
3043
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
3044
+ | **page_settings_request** | [**SfvbPageSettingsRequest**](SfvbPageSettingsRequest.md) | The settings to change | |
3045
+
3046
+ ### Return type
3047
+
3048
+ [**SfvbPageResponse**](SfvbPageResponse.md)
3049
+
3050
+ ### Authorization
3051
+
3052
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3053
+
3054
+ ### HTTP request headers
3055
+
3056
+ - **Content-Type**: application/json; charset=UTF-8
3057
+ - **Accept**: application/json
3058
+
3059
+
2111
3060
  ## put_sfvb_preview_session
2112
3061
 
2113
3062
  > <SfvbPreviewSessionResponse> put_sfvb_preview_session(storefront_oid, preview_session_id, preview_session, opts)
@@ -2273,6 +3222,116 @@ end
2273
3222
  - **Accept**: application/json
2274
3223
 
2275
3224
 
3225
+ ## remove_sfvb_page_blog_posts
3226
+
3227
+ > <SfvbPageBlogPostsResponse> remove_sfvb_page_blog_posts(storefront_oid, path, page_blog_posts_request)
3228
+
3229
+ Take blog posts off a page
3230
+
3231
+ Removes posts by blog_post_oid, at most 500 at a time. Every oid must be on the page, and one that is not changes nothing. The posts themselves are not touched. Always needs sfvb_publish.
3232
+
3233
+
3234
+ ### Examples
3235
+
3236
+
3237
+ (No example for this operation).
3238
+
3239
+
3240
+ #### Using the remove_sfvb_page_blog_posts_with_http_info variant
3241
+
3242
+ This returns an Array which contains the response data, status code and headers.
3243
+
3244
+ > <Array(<SfvbPageBlogPostsResponse>, Integer, Hash)> remove_sfvb_page_blog_posts_with_http_info(storefront_oid, path, page_blog_posts_request)
3245
+
3246
+ ```ruby
3247
+ begin
3248
+ # Take blog posts off a page
3249
+ data, status_code, headers = api_instance.remove_sfvb_page_blog_posts_with_http_info(storefront_oid, path, page_blog_posts_request)
3250
+ p status_code # => 2xx
3251
+ p headers # => { ... }
3252
+ p data # => <SfvbPageBlogPostsResponse>
3253
+ rescue UltracartClient::ApiError => e
3254
+ puts "Error when calling SfvbApi->remove_sfvb_page_blog_posts_with_http_info: #{e}"
3255
+ end
3256
+ ```
3257
+
3258
+ ### Parameters
3259
+
3260
+ | Name | Type | Description | Notes |
3261
+ | ---- | ---- | ----------- | ----- |
3262
+ | **storefront_oid** | **Integer** | | |
3263
+ | **path** | **String** | Page path, for example /blog/ | |
3264
+ | **page_blog_posts_request** | [**SfvbPageBlogPostsRequest**](SfvbPageBlogPostsRequest.md) | Blog posts to take off the page | |
3265
+
3266
+ ### Return type
3267
+
3268
+ [**SfvbPageBlogPostsResponse**](SfvbPageBlogPostsResponse.md)
3269
+
3270
+ ### Authorization
3271
+
3272
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3273
+
3274
+ ### HTTP request headers
3275
+
3276
+ - **Content-Type**: application/json; charset=UTF-8
3277
+ - **Accept**: application/json
3278
+
3279
+
3280
+ ## remove_sfvb_page_items
3281
+
3282
+ > <SfvbPageItemsResponse> remove_sfvb_page_items(storefront_oid, path, page_items_remove_request)
3283
+
3284
+ Take items off a page
3285
+
3286
+ Removes items by item id, at most 500 at a time. Every id must be on the page, and one that is not changes nothing. The items themselves are not touched. Refused on a page whose selectors choose its items. Always needs sfvb_publish.
3287
+
3288
+
3289
+ ### Examples
3290
+
3291
+
3292
+ (No example for this operation).
3293
+
3294
+
3295
+ #### Using the remove_sfvb_page_items_with_http_info variant
3296
+
3297
+ This returns an Array which contains the response data, status code and headers.
3298
+
3299
+ > <Array(<SfvbPageItemsResponse>, Integer, Hash)> remove_sfvb_page_items_with_http_info(storefront_oid, path, page_items_remove_request)
3300
+
3301
+ ```ruby
3302
+ begin
3303
+ # Take items off a page
3304
+ data, status_code, headers = api_instance.remove_sfvb_page_items_with_http_info(storefront_oid, path, page_items_remove_request)
3305
+ p status_code # => 2xx
3306
+ p headers # => { ... }
3307
+ p data # => <SfvbPageItemsResponse>
3308
+ rescue UltracartClient::ApiError => e
3309
+ puts "Error when calling SfvbApi->remove_sfvb_page_items_with_http_info: #{e}"
3310
+ end
3311
+ ```
3312
+
3313
+ ### Parameters
3314
+
3315
+ | Name | Type | Description | Notes |
3316
+ | ---- | ---- | ----------- | ----- |
3317
+ | **storefront_oid** | **Integer** | | |
3318
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
3319
+ | **page_items_remove_request** | [**SfvbPageItemsRemoveRequest**](SfvbPageItemsRemoveRequest.md) | Items to take off the page | |
3320
+
3321
+ ### Return type
3322
+
3323
+ [**SfvbPageItemsResponse**](SfvbPageItemsResponse.md)
3324
+
3325
+ ### Authorization
3326
+
3327
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3328
+
3329
+ ### HTTP request headers
3330
+
3331
+ - **Content-Type**: application/json; charset=UTF-8
3332
+ - **Accept**: application/json
3333
+
3334
+
2276
3335
  ## render_sfvb_widgets
2277
3336
 
2278
3337
  > <SfvbRenderResponse> render_sfvb_widgets(storefront_oid, theme_oid, render_request)
@@ -2606,6 +3665,60 @@ end
2606
3665
  - **Accept**: application/json
2607
3666
 
2608
3667
 
3668
+ ## start_sfvb_experiment
3669
+
3670
+ > <SfvbExperiment> start_sfvb_experiment(storefront_oid, experiment_start_request)
3671
+
3672
+ Start an experiment
3673
+
3674
+ type page starts an experiment element already saved in a page body - send path, slot and widget_id, and its name, objective, duration and variations are read from the element with the builder's rules (2 to 5 variations numbered 0 up with no gaps, 3 to 90 days, traffic on all or none adding up to 100). The new id is written into the element and the body is saved, so pull it again before the next edit. type url splits visitors between existing pages at router_url, and always ends by itself after duration_days. Always needs sfvb_publish, because visitors are split as soon as it starts.
3675
+
3676
+
3677
+ ### Examples
3678
+
3679
+
3680
+ (No example for this operation).
3681
+
3682
+
3683
+ #### Using the start_sfvb_experiment_with_http_info variant
3684
+
3685
+ This returns an Array which contains the response data, status code and headers.
3686
+
3687
+ > <Array(<SfvbExperiment>, Integer, Hash)> start_sfvb_experiment_with_http_info(storefront_oid, experiment_start_request)
3688
+
3689
+ ```ruby
3690
+ begin
3691
+ # Start an experiment
3692
+ data, status_code, headers = api_instance.start_sfvb_experiment_with_http_info(storefront_oid, experiment_start_request)
3693
+ p status_code # => 2xx
3694
+ p headers # => { ... }
3695
+ p data # => <SfvbExperiment>
3696
+ rescue UltracartClient::ApiError => e
3697
+ puts "Error when calling SfvbApi->start_sfvb_experiment_with_http_info: #{e}"
3698
+ end
3699
+ ```
3700
+
3701
+ ### Parameters
3702
+
3703
+ | Name | Type | Description | Notes |
3704
+ | ---- | ---- | ----------- | ----- |
3705
+ | **storefront_oid** | **Integer** | | |
3706
+ | **experiment_start_request** | [**SfvbExperimentStartRequest**](SfvbExperimentStartRequest.md) | The experiment to start | |
3707
+
3708
+ ### Return type
3709
+
3710
+ [**SfvbExperiment**](SfvbExperiment.md)
3711
+
3712
+ ### Authorization
3713
+
3714
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3715
+
3716
+ ### HTTP request headers
3717
+
3718
+ - **Content-Type**: application/json; charset=UTF-8
3719
+ - **Accept**: application/json
3720
+
3721
+
2609
3722
  ## upload_sfvb_file
2610
3723
 
2611
3724
  > <SfvbFileWriteResponse> upload_sfvb_file(storefront_oid, file_upload_request, opts)