ultracart_api 4.1.169 → 4.1.171

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 (51) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +45 -2
  3. data/docs/SfvbApi.md +1786 -591
  4. data/docs/SfvbItemAttribute.md +34 -0
  5. data/docs/SfvbItemAttributeUpdate.md +22 -0
  6. data/docs/SfvbItemAttributeUpdateRequest.md +18 -0
  7. data/docs/SfvbItemContentRequest.md +20 -0
  8. data/docs/SfvbItemMultimedia.md +34 -0
  9. data/docs/SfvbItemMultimediaRequest.md +24 -0
  10. data/docs/SfvbItemResponse.md +32 -0
  11. data/docs/SfvbItemSeo.md +34 -0
  12. data/docs/SfvbItemSeoRequest.md +22 -0
  13. data/docs/SfvbPageResponse.md +2 -0
  14. data/docs/SfvbUpsellItemLogic.md +24 -0
  15. data/docs/SfvbUpsellItemLogicItem.md +22 -0
  16. data/docs/SfvbUpsellOffer.md +118 -8
  17. data/docs/SfvbUpsellPath.md +48 -0
  18. data/docs/SfvbUpsellPathDuplicateRequest.md +18 -0
  19. data/docs/SfvbUpsellPathMoveRequest.md +18 -0
  20. data/docs/SfvbUpsellPathsResponse.md +28 -0
  21. data/docs/SfvbUpsellStats.md +54 -0
  22. data/docs/SfvbUpsellStep.md +22 -0
  23. data/docs/SfvbUpsellStepOffer.md +32 -0
  24. data/docs/SfvbUpsellTowerData.md +20 -0
  25. data/docs/SfvbUpsellVariation.md +22 -0
  26. data/lib/ultracart_api/api/sfvb_api.rb +1731 -83
  27. data/lib/ultracart_api/models/sfvb_item_attribute.rb +336 -0
  28. data/lib/ultracart_api/models/sfvb_item_attribute_update.rb +274 -0
  29. data/lib/ultracart_api/models/sfvb_item_attribute_update_request.rb +222 -0
  30. data/lib/ultracart_api/models/sfvb_item_content_request.rb +230 -0
  31. data/lib/ultracart_api/models/sfvb_item_multimedia.rb +334 -0
  32. data/lib/ultracart_api/models/sfvb_item_multimedia_request.rb +250 -0
  33. data/lib/ultracart_api/models/sfvb_item_response.rb +295 -0
  34. data/lib/ultracart_api/models/sfvb_item_seo.rb +358 -0
  35. data/lib/ultracart_api/models/sfvb_item_seo_request.rb +240 -0
  36. data/lib/ultracart_api/models/sfvb_page_response.rb +11 -1
  37. data/lib/ultracart_api/models/sfvb_upsell_item_logic.rb +252 -0
  38. data/lib/ultracart_api/models/sfvb_upsell_item_logic_item.rb +240 -0
  39. data/lib/ultracart_api/models/sfvb_upsell_offer.rb +598 -9
  40. data/lib/ultracart_api/models/sfvb_upsell_path.rb +373 -0
  41. data/lib/ultracart_api/models/sfvb_upsell_path_duplicate_request.rb +220 -0
  42. data/lib/ultracart_api/models/sfvb_upsell_path_move_request.rb +220 -0
  43. data/lib/ultracart_api/models/sfvb_upsell_paths_response.rb +272 -0
  44. data/lib/ultracart_api/models/sfvb_upsell_stats.rb +400 -0
  45. data/lib/ultracart_api/models/sfvb_upsell_step.rb +241 -0
  46. data/lib/ultracart_api/models/sfvb_upsell_step_offer.rb +288 -0
  47. data/lib/ultracart_api/models/sfvb_upsell_tower_data.rb +234 -0
  48. data/lib/ultracart_api/models/sfvb_upsell_variation.rb +241 -0
  49. data/lib/ultracart_api/version.rb +1 -1
  50. data/lib/ultracart_api.rb +20 -0
  51. metadata +42 -2
data/docs/SfvbApi.md CHANGED
@@ -6,15 +6,22 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
6
6
  | ------ | ------------ | ----------- |
7
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
8
  | [**add_sfvb_page_items**](SfvbApi.md#add_sfvb_page_items) | **POST** /sfvb/storefronts/{storefront_oid}/pages/items/add | Assign items to a page |
9
+ | [**archive_sfvb_upsell_path**](SfvbApi.md#archive_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/archive | Archive an upsell path |
9
10
  | [**compile_sfvb_cjson**](SfvbApi.md#compile_sfvb_cjson) | **POST** /sfvb/cjson/compile | Compile CJSON to Velocity |
10
11
  | [**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 |
11
12
  | [**create_sfvb_preview_session**](SfvbApi.md#create_sfvb_preview_session) | **POST** /sfvb/storefronts/{storefront_oid}/preview_sessions | Create a preview session |
12
13
  | [**delete_sfvb_file**](SfvbApi.md#delete_sfvb_file) | **DELETE** /sfvb/storefronts/{storefront_oid}/files | Delete a storefront file |
14
+ | [**delete_sfvb_item_attribute**](SfvbApi.md#delete_sfvb_item_attribute) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/attributes | Delete an attribute from an item |
15
+ | [**delete_sfvb_item_multimedia**](SfvbApi.md#delete_sfvb_item_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/multimedia | Detach an image from an item |
13
16
  | [**delete_sfvb_page_multimedia**](SfvbApi.md#delete_sfvb_page_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Detach an image from a page |
14
17
  | [**delete_sfvb_preview_session**](SfvbApi.md#delete_sfvb_preview_session) | **DELETE** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Delete a preview session |
18
+ | [**disable_sfvb_upsell_offer**](SfvbApi.md#disable_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/disable | Disable an upsell offer |
19
+ | [**disable_sfvb_upsell_path**](SfvbApi.md#disable_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/disable | Disable an upsell path |
15
20
  | [**download_sfvb_file**](SfvbApi.md#download_sfvb_file) | **GET** /sfvb/storefronts/{storefront_oid}/files/download | Read a storefront file's raw bytes |
16
21
  | [**duplicate_sfvb_page**](SfvbApi.md#duplicate_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages/duplicate | Copy a page to a new path |
17
22
  | [**duplicate_sfvb_theme**](SfvbApi.md#duplicate_sfvb_theme) | **POST** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/duplicate | Duplicate a theme |
23
+ | [**duplicate_sfvb_upsell_offer**](SfvbApi.md#duplicate_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/duplicate | Duplicate an upsell offer |
24
+ | [**duplicate_sfvb_upsell_path**](SfvbApi.md#duplicate_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/duplicate | Duplicate an upsell path or one of its variations |
18
25
  | [**end_sfvb_experiment**](SfvbApi.md#end_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/end | End an experiment |
19
26
  | [**get_sfvb_cjson_used_elements**](SfvbApi.md#get_sfvb_cjson_used_elements) | **POST** /sfvb/cjson/elements | Element types used by a container |
20
27
  | [**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 |
@@ -24,6 +31,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
24
31
  | [**get_sfvb_experiment_objectives**](SfvbApi.md#get_sfvb_experiment_objectives) | **GET** /sfvb/storefronts/{storefront_oid}/experiments/objectives | List the objectives an experiment can optimize |
25
32
  | [**get_sfvb_file_content**](SfvbApi.md#get_sfvb_file_content) | **GET** /sfvb/storefronts/{storefront_oid}/files/content | Read a storefront file |
26
33
  | [**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 |
34
+ | [**get_sfvb_item**](SfvbApi.md#get_sfvb_item) | **GET** /sfvb/storefronts/{storefront_oid}/items | Read an item's storefront facing content |
27
35
  | [**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 |
28
36
  | [**get_sfvb_menu**](SfvbApi.md#get_sfvb_menu) | **GET** /sfvb/storefronts/{storefront_oid}/menus/{code} | Read one store menu and its entries |
29
37
  | [**get_sfvb_menus**](SfvbApi.md#get_sfvb_menus) | **GET** /sfvb/storefronts/{storefront_oid}/menus | List a storefront's store menus |
@@ -36,9 +44,13 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
36
44
  | [**get_sfvb_theme**](SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme |
37
45
  | [**get_sfvb_theme_attributes**](SfvbApi.md#get_sfvb_theme_attributes) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid}/attributes | Read a theme's colors, fonts and settings |
38
46
  | [**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 |
47
+ | [**get_sfvb_upsell_offer**](SfvbApi.md#get_sfvb_upsell_offer) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Get an upsell offer |
48
+ | [**get_sfvb_upsell_path**](SfvbApi.md#get_sfvb_upsell_path) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Get an upsell path |
39
49
  | [**get_sfvb_version**](SfvbApi.md#get_sfvb_version) | **GET** /sfvb/version | Compiler version for this merchant |
40
50
  | [**get_sfvb_whoami**](SfvbApi.md#get_sfvb_whoami) | **GET** /sfvb/whoami | Who this token is |
41
51
  | [**insert_sfvb_page**](SfvbApi.md#insert_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages | Create a page |
52
+ | [**insert_sfvb_upsell_offer**](SfvbApi.md#insert_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers | Create an upsell offer |
53
+ | [**insert_sfvb_upsell_path**](SfvbApi.md#insert_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths | Create an upsell path |
42
54
  | [**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
55
  | [**list_sfvb_blog_posts**](SfvbApi.md#list_sfvb_blog_posts) | **GET** /sfvb/storefronts/{storefront_oid}/blog_posts | List the storefront's blog posts |
44
56
  | [**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 |
@@ -52,9 +64,15 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
52
64
  | [**list_sfvb_templates**](SfvbApi.md#list_sfvb_templates) | **GET** /sfvb/storefronts/{storefront_oid}/templates | List the active theme's templates |
53
65
  | [**list_sfvb_themes**](SfvbApi.md#list_sfvb_themes) | **GET** /sfvb/storefronts/{storefront_oid}/themes | List themes for a storefront |
54
66
  | [**list_sfvb_upsell_offers**](SfvbApi.md#list_sfvb_upsell_offers) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_offers | List upsell offers |
67
+ | [**list_sfvb_upsell_paths**](SfvbApi.md#list_sfvb_upsell_paths) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_paths | List upsell paths |
68
+ | [**move_sfvb_upsell_path**](SfvbApi.md#move_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/move | Move an upsell path |
55
69
  | [**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 |
56
70
  | [**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 |
57
71
  | [**put_sfvb_file_content**](SfvbApi.md#put_sfvb_file_content) | **PUT** /sfvb/storefronts/{storefront_oid}/files/content | Write a storefront file |
72
+ | [**put_sfvb_item_attributes**](SfvbApi.md#put_sfvb_item_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/items/attributes | Change some of an item's attributes |
73
+ | [**put_sfvb_item_content**](SfvbApi.md#put_sfvb_item_content) | **PUT** /sfvb/storefronts/{storefront_oid}/items/content | Change an item's title or long description |
74
+ | [**put_sfvb_item_multimedia**](SfvbApi.md#put_sfvb_item_multimedia) | **PUT** /sfvb/storefronts/{storefront_oid}/items/multimedia | Attach an image to an item |
75
+ | [**put_sfvb_item_seo**](SfvbApi.md#put_sfvb_item_seo) | **PUT** /sfvb/storefronts/{storefront_oid}/items/seo | Change an item's search metadata |
58
76
  | [**put_sfvb_menu**](SfvbApi.md#put_sfvb_menu) | **PUT** /sfvb/storefronts/{storefront_oid}/menus/{code} | Replace a store menu's entries |
59
77
  | [**put_sfvb_page_attributes**](SfvbApi.md#put_sfvb_page_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/attributes | Change a page's attributes |
60
78
  | [**put_sfvb_page_multimedia**](SfvbApi.md#put_sfvb_page_multimedia) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Attach an image to a page |
@@ -72,6 +90,9 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
72
90
  | [**search_sfvb_files**](SfvbApi.md#search_sfvb_files) | **POST** /sfvb/storefronts/{storefront_oid}/files/search | Search storefront files |
73
91
  | [**search_sfvb_library**](SfvbApi.md#search_sfvb_library) | **GET** /sfvb/storefronts/{storefront_oid}/library | Search the element library |
74
92
  | [**start_sfvb_experiment**](SfvbApi.md#start_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments | Start an experiment |
93
+ | [**unarchive_sfvb_upsell_path**](SfvbApi.md#unarchive_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/unarchive | Unarchive an upsell path |
94
+ | [**update_sfvb_upsell_offer**](SfvbApi.md#update_sfvb_upsell_offer) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Update an upsell offer |
95
+ | [**update_sfvb_upsell_path**](SfvbApi.md#update_sfvb_upsell_path) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Update an upsell path |
75
96
  | [**upload_sfvb_file**](SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded |
76
97
  | [**validate_sfvb_cjson**](SfvbApi.md#validate_sfvb_cjson) | **POST** /sfvb/cjson/validate | Validate CJSON |
77
98
  | [**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 |
@@ -187,6 +208,60 @@ end
187
208
  - **Accept**: application/json
188
209
 
189
210
 
211
+ ## archive_sfvb_upsell_path
212
+
213
+ > <SfvbUpsellPath> archive_sfvb_upsell_path(storefront_oid, upsell_path_oid)
214
+
215
+ Archive an upsell path
216
+
217
+ Files the path out of the default list. An archived path does not run. Archiving one that is switched on is a live change and needs sfvb_publish.
218
+
219
+
220
+ ### Examples
221
+
222
+
223
+ (No example for this operation).
224
+
225
+
226
+ #### Using the archive_sfvb_upsell_path_with_http_info variant
227
+
228
+ This returns an Array which contains the response data, status code and headers.
229
+
230
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> archive_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
231
+
232
+ ```ruby
233
+ begin
234
+ # Archive an upsell path
235
+ data, status_code, headers = api_instance.archive_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
236
+ p status_code # => 2xx
237
+ p headers # => { ... }
238
+ p data # => <SfvbUpsellPath>
239
+ rescue UltracartClient::ApiError => e
240
+ puts "Error when calling SfvbApi->archive_sfvb_upsell_path_with_http_info: #{e}"
241
+ end
242
+ ```
243
+
244
+ ### Parameters
245
+
246
+ | Name | Type | Description | Notes |
247
+ | ---- | ---- | ----------- | ----- |
248
+ | **storefront_oid** | **Integer** | | |
249
+ | **upsell_path_oid** | **Integer** | | |
250
+
251
+ ### Return type
252
+
253
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
254
+
255
+ ### Authorization
256
+
257
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
258
+
259
+ ### HTTP request headers
260
+
261
+ - **Content-Type**: Not defined
262
+ - **Accept**: application/json
263
+
264
+
190
265
  ## compile_sfvb_cjson
191
266
 
192
267
  > <SfvbCompileResponse> compile_sfvb_cjson(compile_request)
@@ -402,13 +477,13 @@ nil (empty response body)
402
477
  - **Accept**: application/json
403
478
 
404
479
 
405
- ## delete_sfvb_page_multimedia
480
+ ## delete_sfvb_item_attribute
406
481
 
407
- > <SfvbPageResponse> delete_sfvb_page_multimedia(storefront_oid, path, opts)
482
+ > <SfvbItemResponse> delete_sfvb_item_attribute(storefront_oid, name, opts)
408
483
 
409
- Detach an image from a page
484
+ Delete an attribute from an item
410
485
 
411
- Name exactly one of code or default. Removes the page's copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
486
+ Removes one attribute that no template on the item's pages declares - a test name, a misspelling, one a retired template used. A declared attribute is refused, because the template would list it again, empty; send an empty value through the attributes update to clear one of those instead.
412
487
 
413
488
 
414
489
  ### Examples
@@ -417,21 +492,21 @@ Name exactly one of code or default. Removes the page's copy of the image; the
417
492
  (No example for this operation).
418
493
 
419
494
 
420
- #### Using the delete_sfvb_page_multimedia_with_http_info variant
495
+ #### Using the delete_sfvb_item_attribute_with_http_info variant
421
496
 
422
497
  This returns an Array which contains the response data, status code and headers.
423
498
 
424
- > <Array(<SfvbPageResponse>, Integer, Hash)> delete_sfvb_page_multimedia_with_http_info(storefront_oid, path, opts)
499
+ > <Array(<SfvbItemResponse>, Integer, Hash)> delete_sfvb_item_attribute_with_http_info(storefront_oid, name, opts)
425
500
 
426
501
  ```ruby
427
502
  begin
428
- # Detach an image from a page
429
- data, status_code, headers = api_instance.delete_sfvb_page_multimedia_with_http_info(storefront_oid, path, opts)
503
+ # Delete an attribute from an item
504
+ data, status_code, headers = api_instance.delete_sfvb_item_attribute_with_http_info(storefront_oid, name, opts)
430
505
  p status_code # => 2xx
431
506
  p headers # => { ... }
432
- p data # => <SfvbPageResponse>
507
+ p data # => <SfvbItemResponse>
433
508
  rescue UltracartClient::ApiError => e
434
- puts "Error when calling SfvbApi->delete_sfvb_page_multimedia_with_http_info: #{e}"
509
+ puts "Error when calling SfvbApi->delete_sfvb_item_attribute_with_http_info: #{e}"
435
510
  end
436
511
  ```
437
512
 
@@ -440,13 +515,13 @@ end
440
515
  | Name | Type | Description | Notes |
441
516
  | ---- | ---- | ----------- | ----- |
442
517
  | **storefront_oid** | **Integer** | | |
443
- | **path** | **String** | Page path, for example /catalog/dispensers/ | |
444
- | **code** | **String** | Image code to detach | [optional] |
445
- | **default** | **Boolean** | True to detach the default image | [optional] |
518
+ | **name** | **String** | The attribute name, matched without regard to case | |
519
+ | **merchant_item_id** | **String** | | [optional] |
520
+ | **merchant_item_oid** | **Integer** | | [optional] |
446
521
 
447
522
  ### Return type
448
523
 
449
- [**SfvbPageResponse**](SfvbPageResponse.md)
524
+ [**SfvbItemResponse**](SfvbItemResponse.md)
450
525
 
451
526
  ### Authorization
452
527
 
@@ -458,13 +533,13 @@ end
458
533
  - **Accept**: application/json
459
534
 
460
535
 
461
- ## delete_sfvb_preview_session
536
+ ## delete_sfvb_item_multimedia
462
537
 
463
- > delete_sfvb_preview_session(storefront_oid, preview_session_id)
538
+ > <SfvbItemResponse> delete_sfvb_item_multimedia(storefront_oid, opts)
464
539
 
465
- Delete a preview session
540
+ Detach an image from an item
466
541
 
467
- Releases the session before its eight hour expiry. Without this the only way to free one is to wait, which is a poor answer for a tool that may open a dozen in an afternoon.
542
+ Removes the item's copy of the image in one slot. The file you uploaded is left where it is, so the same source can be attached again or used elsewhere.
468
543
 
469
544
 
470
545
  ### Examples
@@ -473,21 +548,21 @@ Releases the session before its eight hour expiry. Without this the only way to
473
548
  (No example for this operation).
474
549
 
475
550
 
476
- #### Using the delete_sfvb_preview_session_with_http_info variant
551
+ #### Using the delete_sfvb_item_multimedia_with_http_info variant
477
552
 
478
- This returns an Array which contains the response data (`nil` in this case), status code and headers.
553
+ This returns an Array which contains the response data, status code and headers.
479
554
 
480
- > <Array(nil, Integer, Hash)> delete_sfvb_preview_session_with_http_info(storefront_oid, preview_session_id)
555
+ > <Array(<SfvbItemResponse>, Integer, Hash)> delete_sfvb_item_multimedia_with_http_info(storefront_oid, opts)
481
556
 
482
557
  ```ruby
483
558
  begin
484
- # Delete a preview session
485
- data, status_code, headers = api_instance.delete_sfvb_preview_session_with_http_info(storefront_oid, preview_session_id)
559
+ # Detach an image from an item
560
+ data, status_code, headers = api_instance.delete_sfvb_item_multimedia_with_http_info(storefront_oid, opts)
486
561
  p status_code # => 2xx
487
562
  p headers # => { ... }
488
- p data # => nil
563
+ p data # => <SfvbItemResponse>
489
564
  rescue UltracartClient::ApiError => e
490
- puts "Error when calling SfvbApi->delete_sfvb_preview_session_with_http_info: #{e}"
565
+ puts "Error when calling SfvbApi->delete_sfvb_item_multimedia_with_http_info: #{e}"
491
566
  end
492
567
  ```
493
568
 
@@ -496,11 +571,14 @@ end
496
571
  | Name | Type | Description | Notes |
497
572
  | ---- | ---- | ----------- | ----- |
498
573
  | **storefront_oid** | **Integer** | | |
499
- | **preview_session_id** | **String** | | |
574
+ | **merchant_item_id** | **String** | | [optional] |
575
+ | **merchant_item_oid** | **Integer** | | [optional] |
576
+ | **code** | **String** | The image code to detach | [optional] |
577
+ | **default** | **Boolean** | Detach the default image instead of a coded one | [optional] |
500
578
 
501
579
  ### Return type
502
580
 
503
- nil (empty response body)
581
+ [**SfvbItemResponse**](SfvbItemResponse.md)
504
582
 
505
583
  ### Authorization
506
584
 
@@ -512,13 +590,13 @@ nil (empty response body)
512
590
  - **Accept**: application/json
513
591
 
514
592
 
515
- ## download_sfvb_file
593
+ ## delete_sfvb_page_multimedia
516
594
 
517
- > download_sfvb_file(storefront_oid, opts)
595
+ > <SfvbPageResponse> delete_sfvb_page_multimedia(storefront_oid, path, opts)
518
596
 
519
- Read a storefront file's raw bytes
597
+ Detach an image from a page
520
598
 
521
- Returns the file itself rather than a JSON envelope, for any type including binaries that files/content refuses. Use this to verify what you uploaded, and note it is the only way to read a file inside a theme that is not active - such a file is served to nobody until the theme is promoted, so it has no public URL to fetch instead. On success the body is the file; on failure it is the usual JSON error object, so do not assume the content type without checking the status.
599
+ Name exactly one of code or default. Removes the page's copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
522
600
 
523
601
 
524
602
  ### Examples
@@ -527,21 +605,21 @@ Returns the file itself rather than a JSON envelope, for any type including bina
527
605
  (No example for this operation).
528
606
 
529
607
 
530
- #### Using the download_sfvb_file_with_http_info variant
608
+ #### Using the delete_sfvb_page_multimedia_with_http_info variant
531
609
 
532
- This returns an Array which contains the response data (`nil` in this case), status code and headers.
610
+ This returns an Array which contains the response data, status code and headers.
533
611
 
534
- > <Array(nil, Integer, Hash)> download_sfvb_file_with_http_info(storefront_oid, opts)
612
+ > <Array(<SfvbPageResponse>, Integer, Hash)> delete_sfvb_page_multimedia_with_http_info(storefront_oid, path, opts)
535
613
 
536
614
  ```ruby
537
615
  begin
538
- # Read a storefront file's raw bytes
539
- data, status_code, headers = api_instance.download_sfvb_file_with_http_info(storefront_oid, opts)
616
+ # Detach an image from a page
617
+ data, status_code, headers = api_instance.delete_sfvb_page_multimedia_with_http_info(storefront_oid, path, opts)
540
618
  p status_code # => 2xx
541
619
  p headers # => { ... }
542
- p data # => nil
620
+ p data # => <SfvbPageResponse>
543
621
  rescue UltracartClient::ApiError => e
544
- puts "Error when calling SfvbApi->download_sfvb_file_with_http_info: #{e}"
622
+ puts "Error when calling SfvbApi->delete_sfvb_page_multimedia_with_http_info: #{e}"
545
623
  end
546
624
  ```
547
625
 
@@ -550,11 +628,13 @@ end
550
628
  | Name | Type | Description | Notes |
551
629
  | ---- | ---- | ----------- | ----- |
552
630
  | **storefront_oid** | **Integer** | | |
553
- | **path** | **String** | | [optional] |
631
+ | **path** | **String** | Page path, for example /catalog/dispensers/ | |
632
+ | **code** | **String** | Image code to detach | [optional] |
633
+ | **default** | **Boolean** | True to detach the default image | [optional] |
554
634
 
555
635
  ### Return type
556
636
 
557
- nil (empty response body)
637
+ [**SfvbPageResponse**](SfvbPageResponse.md)
558
638
 
559
639
  ### Authorization
560
640
 
@@ -563,16 +643,16 @@ nil (empty response body)
563
643
  ### HTTP request headers
564
644
 
565
645
  - **Content-Type**: Not defined
566
- - **Accept**: application/octet-stream
646
+ - **Accept**: application/json
567
647
 
568
648
 
569
- ## duplicate_sfvb_page
649
+ ## delete_sfvb_preview_session
570
650
 
571
- > <SfvbPageResponse> duplicate_sfvb_page(storefront_oid, page_duplicate_request)
651
+ > delete_sfvb_preview_session(storefront_oid, preview_session_id)
572
652
 
573
- Copy a page to a new path
653
+ Delete a preview session
574
654
 
575
- 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.
655
+ Releases the session before its eight hour expiry. Without this the only way to free one is to wait, which is a poor answer for a tool that may open a dozen in an afternoon.
576
656
 
577
657
 
578
658
  ### Examples
@@ -581,21 +661,21 @@ Copies what the store admin's duplicate copies - settings, items, blog posts, pe
581
661
  (No example for this operation).
582
662
 
583
663
 
584
- #### Using the duplicate_sfvb_page_with_http_info variant
664
+ #### Using the delete_sfvb_preview_session_with_http_info variant
585
665
 
586
- This returns an Array which contains the response data, status code and headers.
666
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
587
667
 
588
- > <Array(<SfvbPageResponse>, Integer, Hash)> duplicate_sfvb_page_with_http_info(storefront_oid, page_duplicate_request)
668
+ > <Array(nil, Integer, Hash)> delete_sfvb_preview_session_with_http_info(storefront_oid, preview_session_id)
589
669
 
590
670
  ```ruby
591
671
  begin
592
- # Copy a page to a new path
593
- data, status_code, headers = api_instance.duplicate_sfvb_page_with_http_info(storefront_oid, page_duplicate_request)
672
+ # Delete a preview session
673
+ data, status_code, headers = api_instance.delete_sfvb_preview_session_with_http_info(storefront_oid, preview_session_id)
594
674
  p status_code # => 2xx
595
675
  p headers # => { ... }
596
- p data # => <SfvbPageResponse>
676
+ p data # => nil
597
677
  rescue UltracartClient::ApiError => e
598
- puts "Error when calling SfvbApi->duplicate_sfvb_page_with_http_info: #{e}"
678
+ puts "Error when calling SfvbApi->delete_sfvb_preview_session_with_http_info: #{e}"
599
679
  end
600
680
  ```
601
681
 
@@ -604,11 +684,11 @@ end
604
684
  | Name | Type | Description | Notes |
605
685
  | ---- | ---- | ----------- | ----- |
606
686
  | **storefront_oid** | **Integer** | | |
607
- | **page_duplicate_request** | [**SfvbPageDuplicateRequest**](SfvbPageDuplicateRequest.md) | The page to copy and where | |
687
+ | **preview_session_id** | **String** | | |
608
688
 
609
689
  ### Return type
610
690
 
611
- [**SfvbPageResponse**](SfvbPageResponse.md)
691
+ nil (empty response body)
612
692
 
613
693
  ### Authorization
614
694
 
@@ -616,17 +696,17 @@ end
616
696
 
617
697
  ### HTTP request headers
618
698
 
619
- - **Content-Type**: application/json; charset=UTF-8
699
+ - **Content-Type**: Not defined
620
700
  - **Accept**: application/json
621
701
 
622
702
 
623
- ## duplicate_sfvb_theme
703
+ ## disable_sfvb_upsell_offer
624
704
 
625
- > <SfvbThemeJobResponse> duplicate_sfvb_theme(storefront_oid, theme_oid, duplicate_request)
705
+ > <SfvbUpsellOffer> disable_sfvb_upsell_offer(storefront_oid, upsell_offer_oid)
626
706
 
627
- Duplicate a theme
707
+ Disable an upsell offer
628
708
 
629
- Copies a theme into a new one and returns a job handle to poll. Asynchronous, because copying a theme copies every file in it. Needs sfvb_write rather than sfvb_publish, because the job explicitly does not activate what it creates, so the worst outcome of a mistaken call is a spare theme. This is how you get somewhere safe to work - duplicate, edit the copy with an ordinary write scope, and let a human promote it.
709
+ Switches the offer off. Disabling one that is switched on is a live change and needs sfvb_publish. An offer that is already off is returned unchanged. There is no delete.
630
710
 
631
711
 
632
712
  ### Examples
@@ -635,21 +715,21 @@ Copies a theme into a new one and returns a job handle to poll. Asynchronous, b
635
715
  (No example for this operation).
636
716
 
637
717
 
638
- #### Using the duplicate_sfvb_theme_with_http_info variant
718
+ #### Using the disable_sfvb_upsell_offer_with_http_info variant
639
719
 
640
720
  This returns an Array which contains the response data, status code and headers.
641
721
 
642
- > <Array(<SfvbThemeJobResponse>, Integer, Hash)> duplicate_sfvb_theme_with_http_info(storefront_oid, theme_oid, duplicate_request)
722
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> disable_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
643
723
 
644
724
  ```ruby
645
725
  begin
646
- # Duplicate a theme
647
- data, status_code, headers = api_instance.duplicate_sfvb_theme_with_http_info(storefront_oid, theme_oid, duplicate_request)
726
+ # Disable an upsell offer
727
+ data, status_code, headers = api_instance.disable_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
648
728
  p status_code # => 2xx
649
729
  p headers # => { ... }
650
- p data # => <SfvbThemeJobResponse>
730
+ p data # => <SfvbUpsellOffer>
651
731
  rescue UltracartClient::ApiError => e
652
- puts "Error when calling SfvbApi->duplicate_sfvb_theme_with_http_info: #{e}"
732
+ puts "Error when calling SfvbApi->disable_sfvb_upsell_offer_with_http_info: #{e}"
653
733
  end
654
734
  ```
655
735
 
@@ -658,12 +738,11 @@ end
658
738
  | Name | Type | Description | Notes |
659
739
  | ---- | ---- | ----------- | ----- |
660
740
  | **storefront_oid** | **Integer** | | |
661
- | **theme_oid** | **Integer** | | |
662
- | **duplicate_request** | [**SfvbThemeDuplicateRequest**](SfvbThemeDuplicateRequest.md) | Theme duplication details | |
741
+ | **upsell_offer_oid** | **Integer** | | |
663
742
 
664
743
  ### Return type
665
744
 
666
- [**SfvbThemeJobResponse**](SfvbThemeJobResponse.md)
745
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
667
746
 
668
747
  ### Authorization
669
748
 
@@ -671,17 +750,17 @@ end
671
750
 
672
751
  ### HTTP request headers
673
752
 
674
- - **Content-Type**: application/json
753
+ - **Content-Type**: Not defined
675
754
  - **Accept**: application/json
676
755
 
677
756
 
678
- ## end_sfvb_experiment
757
+ ## disable_sfvb_upsell_path
679
758
 
680
- > <SfvbExperiment> end_sfvb_experiment(storefront_oid, experiment_oid, opts)
759
+ > <SfvbUpsellPath> disable_sfvb_upsell_path(storefront_oid, upsell_path_oid)
681
760
 
682
- End an experiment
761
+ Disable an upsell path
683
762
 
684
- 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.
763
+ Switches the path off. Disabling a running path is a live change and needs sfvb_publish. A path that is already off is returned unchanged. There is no delete.
685
764
 
686
765
 
687
766
  ### Examples
@@ -690,21 +769,21 @@ Ends a running experiment. With winner_variation_number the winner gets all new
690
769
  (No example for this operation).
691
770
 
692
771
 
693
- #### Using the end_sfvb_experiment_with_http_info variant
772
+ #### Using the disable_sfvb_upsell_path_with_http_info variant
694
773
 
695
774
  This returns an Array which contains the response data, status code and headers.
696
775
 
697
- > <Array(<SfvbExperiment>, Integer, Hash)> end_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
776
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> disable_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
698
777
 
699
778
  ```ruby
700
779
  begin
701
- # End an experiment
702
- data, status_code, headers = api_instance.end_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
780
+ # Disable an upsell path
781
+ data, status_code, headers = api_instance.disable_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
703
782
  p status_code # => 2xx
704
783
  p headers # => { ... }
705
- p data # => <SfvbExperiment>
784
+ p data # => <SfvbUpsellPath>
706
785
  rescue UltracartClient::ApiError => e
707
- puts "Error when calling SfvbApi->end_sfvb_experiment_with_http_info: #{e}"
786
+ puts "Error when calling SfvbApi->disable_sfvb_upsell_path_with_http_info: #{e}"
708
787
  end
709
788
  ```
710
789
 
@@ -713,12 +792,11 @@ end
713
792
  | Name | Type | Description | Notes |
714
793
  | ---- | ---- | ----------- | ----- |
715
794
  | **storefront_oid** | **Integer** | | |
716
- | **experiment_oid** | **Integer** | | |
717
- | **experiment_end_request** | [**SfvbExperimentEndRequest**](SfvbExperimentEndRequest.md) | The winner, if any | [optional] |
795
+ | **upsell_path_oid** | **Integer** | | |
718
796
 
719
797
  ### Return type
720
798
 
721
- [**SfvbExperiment**](SfvbExperiment.md)
799
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
722
800
 
723
801
  ### Authorization
724
802
 
@@ -726,15 +804,17 @@ end
726
804
 
727
805
  ### HTTP request headers
728
806
 
729
- - **Content-Type**: application/json; charset=UTF-8
807
+ - **Content-Type**: Not defined
730
808
  - **Accept**: application/json
731
809
 
732
810
 
733
- ## get_sfvb_cjson_used_elements
811
+ ## download_sfvb_file
734
812
 
735
- > <SfvbElementsResponse> get_sfvb_cjson_used_elements(compile_request)
813
+ > download_sfvb_file(storefront_oid, opts)
736
814
 
737
- Element types used by a container
815
+ Read a storefront file's raw bytes
816
+
817
+ Returns the file itself rather than a JSON envelope, for any type including binaries that files/content refuses. Use this to verify what you uploaded, and note it is the only way to read a file inside a theme that is not active - such a file is served to nobody until the theme is promoted, so it has no public URL to fetch instead. On success the body is the file; on failure it is the usual JSON error object, so do not assume the content type without checking the status.
738
818
 
739
819
 
740
820
  ### Examples
@@ -743,21 +823,21 @@ Element types used by a container
743
823
  (No example for this operation).
744
824
 
745
825
 
746
- #### Using the get_sfvb_cjson_used_elements_with_http_info variant
826
+ #### Using the download_sfvb_file_with_http_info variant
747
827
 
748
- This returns an Array which contains the response data, status code and headers.
828
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
749
829
 
750
- > <Array(<SfvbElementsResponse>, Integer, Hash)> get_sfvb_cjson_used_elements_with_http_info(compile_request)
830
+ > <Array(nil, Integer, Hash)> download_sfvb_file_with_http_info(storefront_oid, opts)
751
831
 
752
832
  ```ruby
753
833
  begin
754
- # Element types used by a container
755
- data, status_code, headers = api_instance.get_sfvb_cjson_used_elements_with_http_info(compile_request)
834
+ # Read a storefront file's raw bytes
835
+ data, status_code, headers = api_instance.download_sfvb_file_with_http_info(storefront_oid, opts)
756
836
  p status_code # => 2xx
757
837
  p headers # => { ... }
758
- p data # => <SfvbElementsResponse>
838
+ p data # => nil
759
839
  rescue UltracartClient::ApiError => e
760
- puts "Error when calling SfvbApi->get_sfvb_cjson_used_elements_with_http_info: #{e}"
840
+ puts "Error when calling SfvbApi->download_sfvb_file_with_http_info: #{e}"
761
841
  end
762
842
  ```
763
843
 
@@ -765,11 +845,12 @@ end
765
845
 
766
846
  | Name | Type | Description | Notes |
767
847
  | ---- | ---- | ----------- | ----- |
768
- | **compile_request** | [**SfvbCompileRequest**](SfvbCompileRequest.md) | CJSON to inspect | |
848
+ | **storefront_oid** | **Integer** | | |
849
+ | **path** | **String** | | [optional] |
769
850
 
770
851
  ### Return type
771
852
 
772
- [**SfvbElementsResponse**](SfvbElementsResponse.md)
853
+ nil (empty response body)
773
854
 
774
855
  ### Authorization
775
856
 
@@ -777,17 +858,17 @@ end
777
858
 
778
859
  ### HTTP request headers
779
860
 
780
- - **Content-Type**: application/json
781
- - **Accept**: application/json
861
+ - **Content-Type**: Not defined
862
+ - **Accept**: application/octet-stream
782
863
 
783
864
 
784
- ## get_sfvb_container
865
+ ## duplicate_sfvb_page
785
866
 
786
- > <SfvbContainerResponse> get_sfvb_container(storefront_oid, owner_type, owner_object_id, opts)
867
+ > <SfvbPageResponse> duplicate_sfvb_page(storefront_oid, page_duplicate_request)
787
868
 
788
- Read a container stored outside the file system
869
+ Copy a page to a new path
789
870
 
790
- owner_type is one of upsell, email, postcardfront, postcardback, item or itemid. It also says how owner_object_id is read - item and upsell take an oid, itemid takes a merchant item id, and the rest take an esp uuid. itemid reaches the same containers as item and is the way to address one from a storefront, where data-context-item-id carries the merchant item id and the oid appears nowhere. Item containers also require container_name. Theme and page containers are files; read those through files/content.
871
+ 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.
791
872
 
792
873
 
793
874
  ### Examples
@@ -796,21 +877,21 @@ owner_type is one of upsell, email, postcardfront, postcardback, item or itemid.
796
877
  (No example for this operation).
797
878
 
798
879
 
799
- #### Using the get_sfvb_container_with_http_info variant
880
+ #### Using the duplicate_sfvb_page_with_http_info variant
800
881
 
801
882
  This returns an Array which contains the response data, status code and headers.
802
883
 
803
- > <Array(<SfvbContainerResponse>, Integer, Hash)> get_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, opts)
884
+ > <Array(<SfvbPageResponse>, Integer, Hash)> duplicate_sfvb_page_with_http_info(storefront_oid, page_duplicate_request)
804
885
 
805
886
  ```ruby
806
887
  begin
807
- # Read a container stored outside the file system
808
- data, status_code, headers = api_instance.get_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, opts)
888
+ # Copy a page to a new path
889
+ data, status_code, headers = api_instance.duplicate_sfvb_page_with_http_info(storefront_oid, page_duplicate_request)
809
890
  p status_code # => 2xx
810
891
  p headers # => { ... }
811
- p data # => <SfvbContainerResponse>
892
+ p data # => <SfvbPageResponse>
812
893
  rescue UltracartClient::ApiError => e
813
- puts "Error when calling SfvbApi->get_sfvb_container_with_http_info: #{e}"
894
+ puts "Error when calling SfvbApi->duplicate_sfvb_page_with_http_info: #{e}"
814
895
  end
815
896
  ```
816
897
 
@@ -819,13 +900,11 @@ end
819
900
  | Name | Type | Description | Notes |
820
901
  | ---- | ---- | ----------- | ----- |
821
902
  | **storefront_oid** | **Integer** | | |
822
- | **owner_type** | **String** | | |
823
- | **owner_object_id** | **String** | | |
824
- | **container_name** | **String** | | [optional] |
903
+ | **page_duplicate_request** | [**SfvbPageDuplicateRequest**](SfvbPageDuplicateRequest.md) | The page to copy and where | |
825
904
 
826
905
  ### Return type
827
906
 
828
- [**SfvbContainerResponse**](SfvbContainerResponse.md)
907
+ [**SfvbPageResponse**](SfvbPageResponse.md)
829
908
 
830
909
  ### Authorization
831
910
 
@@ -833,17 +912,17 @@ end
833
912
 
834
913
  ### HTTP request headers
835
914
 
836
- - **Content-Type**: Not defined
915
+ - **Content-Type**: application/json; charset=UTF-8
837
916
  - **Accept**: application/json
838
917
 
839
918
 
840
- ## get_sfvb_container_version
919
+ ## duplicate_sfvb_theme
841
920
 
842
- > <SfvbContainerVersion> get_sfvb_container_version(storefront_oid, container_history_oid, opts)
921
+ > <SfvbThemeJobResponse> duplicate_sfvb_theme(storefront_oid, theme_oid, duplicate_request)
843
922
 
844
- Read the CJSON stored in one container history entry
923
+ Duplicate a theme
845
924
 
846
- Inspect or diff an earlier version without reverting to it. The version is addressed through the container that owns it, so a history oid belonging to some other resource cannot be read through this route. owner_type also says how owner_object_id is read, and itemid addresses an item container by merchant item id.
925
+ Copies a theme into a new one and returns a job handle to poll. Asynchronous, because copying a theme copies every file in it. Needs sfvb_write rather than sfvb_publish, because the job explicitly does not activate what it creates, so the worst outcome of a mistaken call is a spare theme. This is how you get somewhere safe to work - duplicate, edit the copy with an ordinary write scope, and let a human promote it.
847
926
 
848
927
 
849
928
  ### Examples
@@ -852,21 +931,21 @@ Inspect or diff an earlier version without reverting to it. The version is addr
852
931
  (No example for this operation).
853
932
 
854
933
 
855
- #### Using the get_sfvb_container_version_with_http_info variant
934
+ #### Using the duplicate_sfvb_theme_with_http_info variant
856
935
 
857
936
  This returns an Array which contains the response data, status code and headers.
858
937
 
859
- > <Array(<SfvbContainerVersion>, Integer, Hash)> get_sfvb_container_version_with_http_info(storefront_oid, container_history_oid, opts)
938
+ > <Array(<SfvbThemeJobResponse>, Integer, Hash)> duplicate_sfvb_theme_with_http_info(storefront_oid, theme_oid, duplicate_request)
860
939
 
861
940
  ```ruby
862
941
  begin
863
- # Read the CJSON stored in one container history entry
864
- data, status_code, headers = api_instance.get_sfvb_container_version_with_http_info(storefront_oid, container_history_oid, opts)
942
+ # Duplicate a theme
943
+ data, status_code, headers = api_instance.duplicate_sfvb_theme_with_http_info(storefront_oid, theme_oid, duplicate_request)
865
944
  p status_code # => 2xx
866
945
  p headers # => { ... }
867
- p data # => <SfvbContainerVersion>
946
+ p data # => <SfvbThemeJobResponse>
868
947
  rescue UltracartClient::ApiError => e
869
- puts "Error when calling SfvbApi->get_sfvb_container_version_with_http_info: #{e}"
948
+ puts "Error when calling SfvbApi->duplicate_sfvb_theme_with_http_info: #{e}"
870
949
  end
871
950
  ```
872
951
 
@@ -875,14 +954,12 @@ end
875
954
  | Name | Type | Description | Notes |
876
955
  | ---- | ---- | ----------- | ----- |
877
956
  | **storefront_oid** | **Integer** | | |
878
- | **container_history_oid** | **Integer** | | |
879
- | **owner_type** | **String** | | [optional] |
880
- | **owner_object_id** | **String** | | [optional] |
881
- | **container_name** | **String** | | [optional] |
957
+ | **theme_oid** | **Integer** | | |
958
+ | **duplicate_request** | [**SfvbThemeDuplicateRequest**](SfvbThemeDuplicateRequest.md) | Theme duplication details | |
882
959
 
883
960
  ### Return type
884
961
 
885
- [**SfvbContainerVersion**](SfvbContainerVersion.md)
962
+ [**SfvbThemeJobResponse**](SfvbThemeJobResponse.md)
886
963
 
887
964
  ### Authorization
888
965
 
@@ -890,17 +967,17 @@ end
890
967
 
891
968
  ### HTTP request headers
892
969
 
893
- - **Content-Type**: Not defined
970
+ - **Content-Type**: application/json
894
971
  - **Accept**: application/json
895
972
 
896
973
 
897
- ## get_sfvb_element
974
+ ## duplicate_sfvb_upsell_offer
898
975
 
899
- > <SfvbElementSchemaResponse> get_sfvb_element(element_type)
976
+ > <SfvbUpsellOffer> duplicate_sfvb_upsell_offer(storefront_oid, upsell_offer_oid)
900
977
 
901
- Configuration schema and field card for one element type
978
+ Duplicate an upsell offer
902
979
 
903
- schema is the draft-07 JSON schema for the element config object and doc is the markdown field card, both as strings. Either is omitted when none has been published for the element, which is still a 200. The catalog is published by the visual builder release process, and a republish can take up to an hour to appear here.
980
+ A copy named Copy of, switched off, with its own copy of the container. Put it on a path with a path update to have it shown.
904
981
 
905
982
 
906
983
  ### Examples
@@ -909,21 +986,21 @@ schema is the draft-07 JSON schema for the element config object and doc is the
909
986
  (No example for this operation).
910
987
 
911
988
 
912
- #### Using the get_sfvb_element_with_http_info variant
989
+ #### Using the duplicate_sfvb_upsell_offer_with_http_info variant
913
990
 
914
991
  This returns an Array which contains the response data, status code and headers.
915
992
 
916
- > <Array(<SfvbElementSchemaResponse>, Integer, Hash)> get_sfvb_element_with_http_info(element_type)
993
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> duplicate_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
917
994
 
918
995
  ```ruby
919
996
  begin
920
- # Configuration schema and field card for one element type
921
- data, status_code, headers = api_instance.get_sfvb_element_with_http_info(element_type)
997
+ # Duplicate an upsell offer
998
+ data, status_code, headers = api_instance.duplicate_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
922
999
  p status_code # => 2xx
923
1000
  p headers # => { ... }
924
- p data # => <SfvbElementSchemaResponse>
1001
+ p data # => <SfvbUpsellOffer>
925
1002
  rescue UltracartClient::ApiError => e
926
- puts "Error when calling SfvbApi->get_sfvb_element_with_http_info: #{e}"
1003
+ puts "Error when calling SfvbApi->duplicate_sfvb_upsell_offer_with_http_info: #{e}"
927
1004
  end
928
1005
  ```
929
1006
 
@@ -931,11 +1008,12 @@ end
931
1008
 
932
1009
  | Name | Type | Description | Notes |
933
1010
  | ---- | ---- | ----------- | ----- |
934
- | **element_type** | **String** | | |
1011
+ | **storefront_oid** | **Integer** | | |
1012
+ | **upsell_offer_oid** | **Integer** | | |
935
1013
 
936
1014
  ### Return type
937
1015
 
938
- [**SfvbElementSchemaResponse**](SfvbElementSchemaResponse.md)
1016
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
939
1017
 
940
1018
  ### Authorization
941
1019
 
@@ -947,13 +1025,13 @@ end
947
1025
  - **Accept**: application/json
948
1026
 
949
1027
 
950
- ## get_sfvb_experiment
1028
+ ## duplicate_sfvb_upsell_path
951
1029
 
952
- > <SfvbExperiment> get_sfvb_experiment(storefront_oid, experiment_oid, opts)
1030
+ > <SfvbUpsellPath> duplicate_sfvb_upsell_path(storefront_oid, upsell_path_oid, opts)
953
1031
 
954
- Read one experiment and its statistics
1032
+ Duplicate an upsell path or one of its variations
955
1033
 
956
- 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.
1034
+ Without a variation, copies the whole path right after it, switched off. With a variation, appends a copy of that variation to the same path, which needs sfvb_publish when the path is running. Every offer the copy uses is copied too and switched off. Within this storefront only.
957
1035
 
958
1036
 
959
1037
  ### Examples
@@ -962,21 +1040,21 @@ The experiment, its variations and their statistics, and with daily=true each va
962
1040
  (No example for this operation).
963
1041
 
964
1042
 
965
- #### Using the get_sfvb_experiment_with_http_info variant
1043
+ #### Using the duplicate_sfvb_upsell_path_with_http_info variant
966
1044
 
967
1045
  This returns an Array which contains the response data, status code and headers.
968
1046
 
969
- > <Array(<SfvbExperiment>, Integer, Hash)> get_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
1047
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> duplicate_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
970
1048
 
971
1049
  ```ruby
972
1050
  begin
973
- # Read one experiment and its statistics
974
- data, status_code, headers = api_instance.get_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
1051
+ # Duplicate an upsell path or one of its variations
1052
+ data, status_code, headers = api_instance.duplicate_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
975
1053
  p status_code # => 2xx
976
1054
  p headers # => { ... }
977
- p data # => <SfvbExperiment>
1055
+ p data # => <SfvbUpsellPath>
978
1056
  rescue UltracartClient::ApiError => e
979
- puts "Error when calling SfvbApi->get_sfvb_experiment_with_http_info: #{e}"
1057
+ puts "Error when calling SfvbApi->duplicate_sfvb_upsell_path_with_http_info: #{e}"
980
1058
  end
981
1059
  ```
982
1060
 
@@ -985,12 +1063,12 @@ end
985
1063
  | Name | Type | Description | Notes |
986
1064
  | ---- | ---- | ----------- | ----- |
987
1065
  | **storefront_oid** | **Integer** | | |
988
- | **experiment_oid** | **Integer** | | |
989
- | **daily** | **Boolean** | Include each variation&#39;s daily statistics | [optional] |
1066
+ | **upsell_path_oid** | **Integer** | | |
1067
+ | **duplicate_request** | [**SfvbUpsellPathDuplicateRequest**](SfvbUpsellPathDuplicateRequest.md) | What to duplicate | [optional] |
990
1068
 
991
1069
  ### Return type
992
1070
 
993
- [**SfvbExperiment**](SfvbExperiment.md)
1071
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
994
1072
 
995
1073
  ### Authorization
996
1074
 
@@ -998,17 +1076,17 @@ end
998
1076
 
999
1077
  ### HTTP request headers
1000
1078
 
1001
- - **Content-Type**: Not defined
1079
+ - **Content-Type**: application/json; charset=UTF-8
1002
1080
  - **Accept**: application/json
1003
1081
 
1004
1082
 
1005
- ## get_sfvb_experiment_objectives
1083
+ ## end_sfvb_experiment
1006
1084
 
1007
- > <SfvbExperimentObjectivesResponse> get_sfvb_experiment_objectives(storefront_oid)
1085
+ > <SfvbExperiment> end_sfvb_experiment(storefront_oid, experiment_oid, opts)
1008
1086
 
1009
- List the objectives an experiment can optimize
1087
+ End an experiment
1010
1088
 
1011
- Each objective with what is measured per session and compared between variations, the usual optimization type, and whether it needs an event name.
1089
+ 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.
1012
1090
 
1013
1091
 
1014
1092
  ### Examples
@@ -1017,21 +1095,21 @@ Each objective with what is measured per session and compared between variations
1017
1095
  (No example for this operation).
1018
1096
 
1019
1097
 
1020
- #### Using the get_sfvb_experiment_objectives_with_http_info variant
1098
+ #### Using the end_sfvb_experiment_with_http_info variant
1021
1099
 
1022
1100
  This returns an Array which contains the response data, status code and headers.
1023
1101
 
1024
- > <Array(<SfvbExperimentObjectivesResponse>, Integer, Hash)> get_sfvb_experiment_objectives_with_http_info(storefront_oid)
1102
+ > <Array(<SfvbExperiment>, Integer, Hash)> end_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
1025
1103
 
1026
1104
  ```ruby
1027
1105
  begin
1028
- # List the objectives an experiment can optimize
1029
- data, status_code, headers = api_instance.get_sfvb_experiment_objectives_with_http_info(storefront_oid)
1106
+ # End an experiment
1107
+ data, status_code, headers = api_instance.end_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
1030
1108
  p status_code # => 2xx
1031
1109
  p headers # => { ... }
1032
- p data # => <SfvbExperimentObjectivesResponse>
1110
+ p data # => <SfvbExperiment>
1033
1111
  rescue UltracartClient::ApiError => e
1034
- puts "Error when calling SfvbApi->get_sfvb_experiment_objectives_with_http_info: #{e}"
1112
+ puts "Error when calling SfvbApi->end_sfvb_experiment_with_http_info: #{e}"
1035
1113
  end
1036
1114
  ```
1037
1115
 
@@ -1040,10 +1118,12 @@ end
1040
1118
  | Name | Type | Description | Notes |
1041
1119
  | ---- | ---- | ----------- | ----- |
1042
1120
  | **storefront_oid** | **Integer** | | |
1121
+ | **experiment_oid** | **Integer** | | |
1122
+ | **experiment_end_request** | [**SfvbExperimentEndRequest**](SfvbExperimentEndRequest.md) | The winner, if any | [optional] |
1043
1123
 
1044
1124
  ### Return type
1045
1125
 
1046
- [**SfvbExperimentObjectivesResponse**](SfvbExperimentObjectivesResponse.md)
1126
+ [**SfvbExperiment**](SfvbExperiment.md)
1047
1127
 
1048
1128
  ### Authorization
1049
1129
 
@@ -1051,17 +1131,15 @@ end
1051
1131
 
1052
1132
  ### HTTP request headers
1053
1133
 
1054
- - **Content-Type**: Not defined
1134
+ - **Content-Type**: application/json; charset=UTF-8
1055
1135
  - **Accept**: application/json
1056
1136
 
1057
1137
 
1058
- ## get_sfvb_file_content
1059
-
1060
- > <SfvbFileContentResponse> get_sfvb_file_content(storefront_oid, opts)
1138
+ ## get_sfvb_cjson_used_elements
1061
1139
 
1062
- Read a storefront file
1140
+ > <SfvbElementsResponse> get_sfvb_cjson_used_elements(compile_request)
1063
1141
 
1064
- Returns the current content, or an earlier version when version is supplied. Send the body's hash_sha256 back as If-Match when writing. The ETag header carries the same hash, but a compressing proxy may append a suffix such as -gzip to it, so prefer the body value.
1142
+ Element types used by a container
1065
1143
 
1066
1144
 
1067
1145
  ### Examples
@@ -1070,21 +1148,21 @@ Returns the current content, or an earlier version when version is supplied. Se
1070
1148
  (No example for this operation).
1071
1149
 
1072
1150
 
1073
- #### Using the get_sfvb_file_content_with_http_info variant
1151
+ #### Using the get_sfvb_cjson_used_elements_with_http_info variant
1074
1152
 
1075
1153
  This returns an Array which contains the response data, status code and headers.
1076
1154
 
1077
- > <Array(<SfvbFileContentResponse>, Integer, Hash)> get_sfvb_file_content_with_http_info(storefront_oid, opts)
1155
+ > <Array(<SfvbElementsResponse>, Integer, Hash)> get_sfvb_cjson_used_elements_with_http_info(compile_request)
1078
1156
 
1079
1157
  ```ruby
1080
1158
  begin
1081
- # Read a storefront file
1082
- data, status_code, headers = api_instance.get_sfvb_file_content_with_http_info(storefront_oid, opts)
1159
+ # Element types used by a container
1160
+ data, status_code, headers = api_instance.get_sfvb_cjson_used_elements_with_http_info(compile_request)
1083
1161
  p status_code # => 2xx
1084
1162
  p headers # => { ... }
1085
- p data # => <SfvbFileContentResponse>
1163
+ p data # => <SfvbElementsResponse>
1086
1164
  rescue UltracartClient::ApiError => e
1087
- puts "Error when calling SfvbApi->get_sfvb_file_content_with_http_info: #{e}"
1165
+ puts "Error when calling SfvbApi->get_sfvb_cjson_used_elements_with_http_info: #{e}"
1088
1166
  end
1089
1167
  ```
1090
1168
 
@@ -1092,13 +1170,11 @@ end
1092
1170
 
1093
1171
  | Name | Type | Description | Notes |
1094
1172
  | ---- | ---- | ----------- | ----- |
1095
- | **storefront_oid** | **Integer** | | |
1096
- | **path** | **String** | | [optional] |
1097
- | **version** | **Integer** | | [optional] |
1173
+ | **compile_request** | [**SfvbCompileRequest**](SfvbCompileRequest.md) | CJSON to inspect | |
1098
1174
 
1099
1175
  ### Return type
1100
1176
 
1101
- [**SfvbFileContentResponse**](SfvbFileContentResponse.md)
1177
+ [**SfvbElementsResponse**](SfvbElementsResponse.md)
1102
1178
 
1103
1179
  ### Authorization
1104
1180
 
@@ -1106,17 +1182,17 @@ end
1106
1182
 
1107
1183
  ### HTTP request headers
1108
1184
 
1109
- - **Content-Type**: Not defined
1185
+ - **Content-Type**: application/json
1110
1186
  - **Accept**: application/json
1111
1187
 
1112
1188
 
1113
- ## get_sfvb_file_upload_url
1189
+ ## get_sfvb_container
1114
1190
 
1115
- > <SfvbFileUploadUrlResponse> get_sfvb_file_upload_url(storefront_oid, extension)
1191
+ > <SfvbContainerResponse> get_sfvb_container(storefront_oid, owner_type, owner_object_id, opts)
1116
1192
 
1117
- Get a URL to upload a binary asset to
1193
+ Read a container stored outside the file system
1118
1194
 
1119
- Binary content does not travel through this API as JSON, so uploading an image, font, video or PDF is two steps. Ask here for a URL, PUT the raw bytes straight to it, then call uploadSfvbFile quoting the key you were given. The bytes never pass through the API server. The extension is checked against the accepted type list before a URL is issued, so an unsupported type fails here rather than after you have sent the file. The URL is short lived and the key is bound to your account.
1195
+ owner_type is one of upsell, email, postcardfront, postcardback, item or itemid. It also says how owner_object_id is read - item and upsell take an oid, itemid takes a merchant item id, and the rest take an esp uuid. itemid reaches the same containers as item and is the way to address one from a storefront, where data-context-item-id carries the merchant item id and the oid appears nowhere. Item containers also require container_name. Theme and page containers are files; read those through files/content.
1120
1196
 
1121
1197
 
1122
1198
  ### Examples
@@ -1125,21 +1201,21 @@ Binary content does not travel through this API as JSON, so uploading an image,
1125
1201
  (No example for this operation).
1126
1202
 
1127
1203
 
1128
- #### Using the get_sfvb_file_upload_url_with_http_info variant
1204
+ #### Using the get_sfvb_container_with_http_info variant
1129
1205
 
1130
1206
  This returns an Array which contains the response data, status code and headers.
1131
1207
 
1132
- > <Array(<SfvbFileUploadUrlResponse>, Integer, Hash)> get_sfvb_file_upload_url_with_http_info(storefront_oid, extension)
1208
+ > <Array(<SfvbContainerResponse>, Integer, Hash)> get_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, opts)
1133
1209
 
1134
1210
  ```ruby
1135
1211
  begin
1136
- # Get a URL to upload a binary asset to
1137
- data, status_code, headers = api_instance.get_sfvb_file_upload_url_with_http_info(storefront_oid, extension)
1212
+ # Read a container stored outside the file system
1213
+ data, status_code, headers = api_instance.get_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, opts)
1138
1214
  p status_code # => 2xx
1139
1215
  p headers # => { ... }
1140
- p data # => <SfvbFileUploadUrlResponse>
1216
+ p data # => <SfvbContainerResponse>
1141
1217
  rescue UltracartClient::ApiError => e
1142
- puts "Error when calling SfvbApi->get_sfvb_file_upload_url_with_http_info: #{e}"
1218
+ puts "Error when calling SfvbApi->get_sfvb_container_with_http_info: #{e}"
1143
1219
  end
1144
1220
  ```
1145
1221
 
@@ -1148,11 +1224,13 @@ end
1148
1224
  | Name | Type | Description | Notes |
1149
1225
  | ---- | ---- | ----------- | ----- |
1150
1226
  | **storefront_oid** | **Integer** | | |
1151
- | **extension** | **String** | | |
1227
+ | **owner_type** | **String** | | |
1228
+ | **owner_object_id** | **String** | | |
1229
+ | **container_name** | **String** | | [optional] |
1152
1230
 
1153
1231
  ### Return type
1154
1232
 
1155
- [**SfvbFileUploadUrlResponse**](SfvbFileUploadUrlResponse.md)
1233
+ [**SfvbContainerResponse**](SfvbContainerResponse.md)
1156
1234
 
1157
1235
  ### Authorization
1158
1236
 
@@ -1164,13 +1242,13 @@ end
1164
1242
  - **Accept**: application/json
1165
1243
 
1166
1244
 
1167
- ## get_sfvb_library_entry
1245
+ ## get_sfvb_container_version
1168
1246
 
1169
- > <SfvbLibraryEntry> get_sfvb_library_entry(storefront_oid, library_oid)
1247
+ > <SfvbContainerVersion> get_sfvb_container_version(storefront_oid, container_history_oid, opts)
1170
1248
 
1171
- Read one library entry including its CJSON
1249
+ Read the CJSON stored in one container history entry
1172
1250
 
1173
- Returns the fragment as authored. If it references images or other storefront files those paths will not resolve on this storefront until the entry is installed, so use install rather than this when the intent is to place the fragment.
1251
+ Inspect or diff an earlier version without reverting to it. The version is addressed through the container that owns it, so a history oid belonging to some other resource cannot be read through this route. owner_type also says how owner_object_id is read, and itemid addresses an item container by merchant item id.
1174
1252
 
1175
1253
 
1176
1254
  ### Examples
@@ -1179,21 +1257,21 @@ Returns the fragment as authored. If it references images or other storefront f
1179
1257
  (No example for this operation).
1180
1258
 
1181
1259
 
1182
- #### Using the get_sfvb_library_entry_with_http_info variant
1260
+ #### Using the get_sfvb_container_version_with_http_info variant
1183
1261
 
1184
1262
  This returns an Array which contains the response data, status code and headers.
1185
1263
 
1186
- > <Array(<SfvbLibraryEntry>, Integer, Hash)> get_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
1264
+ > <Array(<SfvbContainerVersion>, Integer, Hash)> get_sfvb_container_version_with_http_info(storefront_oid, container_history_oid, opts)
1187
1265
 
1188
1266
  ```ruby
1189
1267
  begin
1190
- # Read one library entry including its CJSON
1191
- data, status_code, headers = api_instance.get_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
1268
+ # Read the CJSON stored in one container history entry
1269
+ data, status_code, headers = api_instance.get_sfvb_container_version_with_http_info(storefront_oid, container_history_oid, opts)
1192
1270
  p status_code # => 2xx
1193
1271
  p headers # => { ... }
1194
- p data # => <SfvbLibraryEntry>
1272
+ p data # => <SfvbContainerVersion>
1195
1273
  rescue UltracartClient::ApiError => e
1196
- puts "Error when calling SfvbApi->get_sfvb_library_entry_with_http_info: #{e}"
1274
+ puts "Error when calling SfvbApi->get_sfvb_container_version_with_http_info: #{e}"
1197
1275
  end
1198
1276
  ```
1199
1277
 
@@ -1202,11 +1280,14 @@ end
1202
1280
  | Name | Type | Description | Notes |
1203
1281
  | ---- | ---- | ----------- | ----- |
1204
1282
  | **storefront_oid** | **Integer** | | |
1205
- | **library_oid** | **Integer** | | |
1283
+ | **container_history_oid** | **Integer** | | |
1284
+ | **owner_type** | **String** | | [optional] |
1285
+ | **owner_object_id** | **String** | | [optional] |
1286
+ | **container_name** | **String** | | [optional] |
1206
1287
 
1207
1288
  ### Return type
1208
1289
 
1209
- [**SfvbLibraryEntry**](SfvbLibraryEntry.md)
1290
+ [**SfvbContainerVersion**](SfvbContainerVersion.md)
1210
1291
 
1211
1292
  ### Authorization
1212
1293
 
@@ -1218,13 +1299,13 @@ end
1218
1299
  - **Accept**: application/json
1219
1300
 
1220
1301
 
1221
- ## get_sfvb_menu
1302
+ ## get_sfvb_element
1222
1303
 
1223
- > <SfvbMenu> get_sfvb_menu(storefront_oid, code)
1304
+ > <SfvbElementSchemaResponse> get_sfvb_element(element_type)
1224
1305
 
1225
- Read one store menu and its entries
1306
+ Configuration schema and field card for one element type
1226
1307
 
1227
- The whole tree, in render order. Page entries carry the page_path they resolve to and item entries the merchant_item_id, rather than the oids the storage keeps. Menu item oids are not returned at all because a write regenerates every one of them. Keep hash_sha256 - it is the If-Match a write needs.
1308
+ schema is the draft-07 JSON schema for the element config object and doc is the markdown field card, both as strings. Either is omitted when none has been published for the element, which is still a 200. The catalog is published by the visual builder release process, and a republish can take up to an hour to appear here.
1228
1309
 
1229
1310
 
1230
1311
  ### Examples
@@ -1233,21 +1314,21 @@ The whole tree, in render order. Page entries carry the page_path they resolve
1233
1314
  (No example for this operation).
1234
1315
 
1235
1316
 
1236
- #### Using the get_sfvb_menu_with_http_info variant
1317
+ #### Using the get_sfvb_element_with_http_info variant
1237
1318
 
1238
1319
  This returns an Array which contains the response data, status code and headers.
1239
1320
 
1240
- > <Array(<SfvbMenu>, Integer, Hash)> get_sfvb_menu_with_http_info(storefront_oid, code)
1321
+ > <Array(<SfvbElementSchemaResponse>, Integer, Hash)> get_sfvb_element_with_http_info(element_type)
1241
1322
 
1242
1323
  ```ruby
1243
1324
  begin
1244
- # Read one store menu and its entries
1245
- data, status_code, headers = api_instance.get_sfvb_menu_with_http_info(storefront_oid, code)
1325
+ # Configuration schema and field card for one element type
1326
+ data, status_code, headers = api_instance.get_sfvb_element_with_http_info(element_type)
1246
1327
  p status_code # => 2xx
1247
1328
  p headers # => { ... }
1248
- p data # => <SfvbMenu>
1329
+ p data # => <SfvbElementSchemaResponse>
1249
1330
  rescue UltracartClient::ApiError => e
1250
- puts "Error when calling SfvbApi->get_sfvb_menu_with_http_info: #{e}"
1331
+ puts "Error when calling SfvbApi->get_sfvb_element_with_http_info: #{e}"
1251
1332
  end
1252
1333
  ```
1253
1334
 
@@ -1255,12 +1336,11 @@ end
1255
1336
 
1256
1337
  | Name | Type | Description | Notes |
1257
1338
  | ---- | ---- | ----------- | ----- |
1258
- | **storefront_oid** | **Integer** | | |
1259
- | **code** | **String** | Menu code, matched without regard to case | |
1339
+ | **element_type** | **String** | | |
1260
1340
 
1261
1341
  ### Return type
1262
1342
 
1263
- [**SfvbMenu**](SfvbMenu.md)
1343
+ [**SfvbElementSchemaResponse**](SfvbElementSchemaResponse.md)
1264
1344
 
1265
1345
  ### Authorization
1266
1346
 
@@ -1272,13 +1352,13 @@ end
1272
1352
  - **Accept**: application/json
1273
1353
 
1274
1354
 
1275
- ## get_sfvb_menus
1355
+ ## get_sfvb_experiment
1276
1356
 
1277
- > <SfvbMenusResponse> get_sfvb_menus(storefront_oid)
1357
+ > <SfvbExperiment> get_sfvb_experiment(storefront_oid, experiment_oid, opts)
1278
1358
 
1279
- List a storefront's store menus
1359
+ Read one experiment and its statistics
1280
1360
 
1281
- The menus a menu element's menuName can name, sorted by code and without their entries. A code the active theme's templates ask for but nothing has created is included with unconfigured true - that code renders an empty list today, and writing it creates it. A menu no template names is marked undeclared, which usually means a menuName is misspelled.
1361
+ 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.
1282
1362
 
1283
1363
 
1284
1364
  ### Examples
@@ -1287,21 +1367,21 @@ The menus a menu element's menuName can name, sorted by code and without their e
1287
1367
  (No example for this operation).
1288
1368
 
1289
1369
 
1290
- #### Using the get_sfvb_menus_with_http_info variant
1370
+ #### Using the get_sfvb_experiment_with_http_info variant
1291
1371
 
1292
1372
  This returns an Array which contains the response data, status code and headers.
1293
1373
 
1294
- > <Array(<SfvbMenusResponse>, Integer, Hash)> get_sfvb_menus_with_http_info(storefront_oid)
1374
+ > <Array(<SfvbExperiment>, Integer, Hash)> get_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
1295
1375
 
1296
1376
  ```ruby
1297
1377
  begin
1298
- # List a storefront's store menus
1299
- data, status_code, headers = api_instance.get_sfvb_menus_with_http_info(storefront_oid)
1378
+ # Read one experiment and its statistics
1379
+ data, status_code, headers = api_instance.get_sfvb_experiment_with_http_info(storefront_oid, experiment_oid, opts)
1300
1380
  p status_code # => 2xx
1301
1381
  p headers # => { ... }
1302
- p data # => <SfvbMenusResponse>
1382
+ p data # => <SfvbExperiment>
1303
1383
  rescue UltracartClient::ApiError => e
1304
- puts "Error when calling SfvbApi->get_sfvb_menus_with_http_info: #{e}"
1384
+ puts "Error when calling SfvbApi->get_sfvb_experiment_with_http_info: #{e}"
1305
1385
  end
1306
1386
  ```
1307
1387
 
@@ -1310,10 +1390,12 @@ end
1310
1390
  | Name | Type | Description | Notes |
1311
1391
  | ---- | ---- | ----------- | ----- |
1312
1392
  | **storefront_oid** | **Integer** | | |
1393
+ | **experiment_oid** | **Integer** | | |
1394
+ | **daily** | **Boolean** | Include each variation&#39;s daily statistics | [optional] |
1313
1395
 
1314
1396
  ### Return type
1315
1397
 
1316
- [**SfvbMenusResponse**](SfvbMenusResponse.md)
1398
+ [**SfvbExperiment**](SfvbExperiment.md)
1317
1399
 
1318
1400
  ### Authorization
1319
1401
 
@@ -1325,13 +1407,13 @@ end
1325
1407
  - **Accept**: application/json
1326
1408
 
1327
1409
 
1328
- ## get_sfvb_page
1410
+ ## get_sfvb_experiment_objectives
1329
1411
 
1330
- > <SfvbPageResponse> get_sfvb_page(storefront_oid, path)
1412
+ > <SfvbExperimentObjectivesResponse> get_sfvb_experiment_objectives(storefront_oid)
1331
1413
 
1332
- Read a page's attributes and images
1414
+ List the objectives an experiment can optimize
1333
1415
 
1334
- What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
1416
+ Each objective with what is measured per session and compared between variations, the usual optimization type, and whether it needs an event name.
1335
1417
 
1336
1418
 
1337
1419
  ### Examples
@@ -1340,21 +1422,21 @@ What the pageattribute and pageimage elements render for this page. These are n
1340
1422
  (No example for this operation).
1341
1423
 
1342
1424
 
1343
- #### Using the get_sfvb_page_with_http_info variant
1425
+ #### Using the get_sfvb_experiment_objectives_with_http_info variant
1344
1426
 
1345
1427
  This returns an Array which contains the response data, status code and headers.
1346
1428
 
1347
- > <Array(<SfvbPageResponse>, Integer, Hash)> get_sfvb_page_with_http_info(storefront_oid, path)
1429
+ > <Array(<SfvbExperimentObjectivesResponse>, Integer, Hash)> get_sfvb_experiment_objectives_with_http_info(storefront_oid)
1348
1430
 
1349
1431
  ```ruby
1350
1432
  begin
1351
- # Read a page's attributes and images
1352
- data, status_code, headers = api_instance.get_sfvb_page_with_http_info(storefront_oid, path)
1433
+ # List the objectives an experiment can optimize
1434
+ data, status_code, headers = api_instance.get_sfvb_experiment_objectives_with_http_info(storefront_oid)
1353
1435
  p status_code # => 2xx
1354
1436
  p headers # => { ... }
1355
- p data # => <SfvbPageResponse>
1437
+ p data # => <SfvbExperimentObjectivesResponse>
1356
1438
  rescue UltracartClient::ApiError => e
1357
- puts "Error when calling SfvbApi->get_sfvb_page_with_http_info: #{e}"
1439
+ puts "Error when calling SfvbApi->get_sfvb_experiment_objectives_with_http_info: #{e}"
1358
1440
  end
1359
1441
  ```
1360
1442
 
@@ -1363,11 +1445,10 @@ end
1363
1445
  | Name | Type | Description | Notes |
1364
1446
  | ---- | ---- | ----------- | ----- |
1365
1447
  | **storefront_oid** | **Integer** | | |
1366
- | **path** | **String** | Page path, for example /catalog/dispensers/ | |
1367
1448
 
1368
1449
  ### Return type
1369
1450
 
1370
- [**SfvbPageResponse**](SfvbPageResponse.md)
1451
+ [**SfvbExperimentObjectivesResponse**](SfvbExperimentObjectivesResponse.md)
1371
1452
 
1372
1453
  ### Authorization
1373
1454
 
@@ -1379,13 +1460,13 @@ end
1379
1460
  - **Accept**: application/json
1380
1461
 
1381
1462
 
1382
- ## get_sfvb_page_blog_posts
1463
+ ## get_sfvb_file_content
1383
1464
 
1384
- > <SfvbPageBlogPostsResponse> get_sfvb_page_blog_posts(storefront_oid, path)
1465
+ > <SfvbFileContentResponse> get_sfvb_file_content(storefront_oid, opts)
1385
1466
 
1386
- Read the blog posts assigned to a page
1467
+ Read a storefront file
1387
1468
 
1388
- The posts the page shows. uses_selectors is true when the page's blog post selectors choose them instead.
1469
+ Returns the current content, or an earlier version when version is supplied. Send the body's hash_sha256 back as If-Match when writing. The ETag header carries the same hash, but a compressing proxy may append a suffix such as -gzip to it, so prefer the body value.
1389
1470
 
1390
1471
 
1391
1472
  ### Examples
@@ -1394,21 +1475,21 @@ The posts the page shows. uses_selectors is true when the page's blog post sele
1394
1475
  (No example for this operation).
1395
1476
 
1396
1477
 
1397
- #### Using the get_sfvb_page_blog_posts_with_http_info variant
1478
+ #### Using the get_sfvb_file_content_with_http_info variant
1398
1479
 
1399
1480
  This returns an Array which contains the response data, status code and headers.
1400
1481
 
1401
- > <Array(<SfvbPageBlogPostsResponse>, Integer, Hash)> get_sfvb_page_blog_posts_with_http_info(storefront_oid, path)
1482
+ > <Array(<SfvbFileContentResponse>, Integer, Hash)> get_sfvb_file_content_with_http_info(storefront_oid, opts)
1402
1483
 
1403
1484
  ```ruby
1404
1485
  begin
1405
- # Read the blog posts assigned to a page
1406
- data, status_code, headers = api_instance.get_sfvb_page_blog_posts_with_http_info(storefront_oid, path)
1486
+ # Read a storefront file
1487
+ data, status_code, headers = api_instance.get_sfvb_file_content_with_http_info(storefront_oid, opts)
1407
1488
  p status_code # => 2xx
1408
1489
  p headers # => { ... }
1409
- p data # => <SfvbPageBlogPostsResponse>
1490
+ p data # => <SfvbFileContentResponse>
1410
1491
  rescue UltracartClient::ApiError => e
1411
- puts "Error when calling SfvbApi->get_sfvb_page_blog_posts_with_http_info: #{e}"
1492
+ puts "Error when calling SfvbApi->get_sfvb_file_content_with_http_info: #{e}"
1412
1493
  end
1413
1494
  ```
1414
1495
 
@@ -1417,11 +1498,12 @@ end
1417
1498
  | Name | Type | Description | Notes |
1418
1499
  | ---- | ---- | ----------- | ----- |
1419
1500
  | **storefront_oid** | **Integer** | | |
1420
- | **path** | **String** | Page path, for example /blog/ | |
1501
+ | **path** | **String** | | [optional] |
1502
+ | **version** | **Integer** | | [optional] |
1421
1503
 
1422
1504
  ### Return type
1423
1505
 
1424
- [**SfvbPageBlogPostsResponse**](SfvbPageBlogPostsResponse.md)
1506
+ [**SfvbFileContentResponse**](SfvbFileContentResponse.md)
1425
1507
 
1426
1508
  ### Authorization
1427
1509
 
@@ -1433,13 +1515,13 @@ end
1433
1515
  - **Accept**: application/json
1434
1516
 
1435
1517
 
1436
- ## get_sfvb_page_items
1518
+ ## get_sfvb_file_upload_url
1437
1519
 
1438
- > <SfvbPageItemsResponse> get_sfvb_page_items(storefront_oid, path)
1520
+ > <SfvbFileUploadUrlResponse> get_sfvb_file_upload_url(storefront_oid, extension)
1439
1521
 
1440
- Read the items assigned to a page
1522
+ Get a URL to upload a binary asset to
1441
1523
 
1442
- 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.
1524
+ Binary content does not travel through this API as JSON, so uploading an image, font, video or PDF is two steps. Ask here for a URL, PUT the raw bytes straight to it, then call uploadSfvbFile quoting the key you were given. The bytes never pass through the API server. The extension is checked against the accepted type list before a URL is issued, so an unsupported type fails here rather than after you have sent the file. The URL is short lived and the key is bound to your account.
1443
1525
 
1444
1526
 
1445
1527
  ### Examples
@@ -1448,21 +1530,21 @@ The items on the page with their sort order and url part. uses_selectors is tru
1448
1530
  (No example for this operation).
1449
1531
 
1450
1532
 
1451
- #### Using the get_sfvb_page_items_with_http_info variant
1533
+ #### Using the get_sfvb_file_upload_url_with_http_info variant
1452
1534
 
1453
1535
  This returns an Array which contains the response data, status code and headers.
1454
1536
 
1455
- > <Array(<SfvbPageItemsResponse>, Integer, Hash)> get_sfvb_page_items_with_http_info(storefront_oid, path)
1537
+ > <Array(<SfvbFileUploadUrlResponse>, Integer, Hash)> get_sfvb_file_upload_url_with_http_info(storefront_oid, extension)
1456
1538
 
1457
1539
  ```ruby
1458
1540
  begin
1459
- # Read the items assigned to a page
1460
- data, status_code, headers = api_instance.get_sfvb_page_items_with_http_info(storefront_oid, path)
1541
+ # Get a URL to upload a binary asset to
1542
+ data, status_code, headers = api_instance.get_sfvb_file_upload_url_with_http_info(storefront_oid, extension)
1461
1543
  p status_code # => 2xx
1462
1544
  p headers # => { ... }
1463
- p data # => <SfvbPageItemsResponse>
1545
+ p data # => <SfvbFileUploadUrlResponse>
1464
1546
  rescue UltracartClient::ApiError => e
1465
- puts "Error when calling SfvbApi->get_sfvb_page_items_with_http_info: #{e}"
1547
+ puts "Error when calling SfvbApi->get_sfvb_file_upload_url_with_http_info: #{e}"
1466
1548
  end
1467
1549
  ```
1468
1550
 
@@ -1471,11 +1553,11 @@ end
1471
1553
  | Name | Type | Description | Notes |
1472
1554
  | ---- | ---- | ----------- | ----- |
1473
1555
  | **storefront_oid** | **Integer** | | |
1474
- | **path** | **String** | Page path, for example /lp/spring-sale/ | |
1556
+ | **extension** | **String** | | |
1475
1557
 
1476
1558
  ### Return type
1477
1559
 
1478
- [**SfvbPageItemsResponse**](SfvbPageItemsResponse.md)
1560
+ [**SfvbFileUploadUrlResponse**](SfvbFileUploadUrlResponse.md)
1479
1561
 
1480
1562
  ### Authorization
1481
1563
 
@@ -1487,13 +1569,13 @@ end
1487
1569
  - **Accept**: application/json
1488
1570
 
1489
1571
 
1490
- ## get_sfvb_page_selectors
1572
+ ## get_sfvb_item
1491
1573
 
1492
- > <SfvbPageSelectors> get_sfvb_page_selectors(storefront_oid, path)
1574
+ > <SfvbItemResponse> get_sfvb_item(storefront_oid, opts)
1493
1575
 
1494
- Read a page's selectors
1576
+ Read an item's storefront facing content
1495
1577
 
1496
- The conditions that choose the page's items and blog posts, and whether each set must all match.
1578
+ The attributes, images, title, description and search metadata a StoreFront element can render, reconciled against the templates behind the pages this item sits on. An attribute a template declares but nothing has set comes back present with an empty value, which is how you discover what the page is asking for. Pricing, shipping, inventory, tax, variants and kit structure are not here because no element reads them; use the item API for those. Address by merchant_item_id, the value data-context-item-id carries, or by merchant_item_oid.
1497
1579
 
1498
1580
 
1499
1581
  ### Examples
@@ -1502,21 +1584,21 @@ The conditions that choose the page's items and blog posts, and whether each set
1502
1584
  (No example for this operation).
1503
1585
 
1504
1586
 
1505
- #### Using the get_sfvb_page_selectors_with_http_info variant
1587
+ #### Using the get_sfvb_item_with_http_info variant
1506
1588
 
1507
1589
  This returns an Array which contains the response data, status code and headers.
1508
1590
 
1509
- > <Array(<SfvbPageSelectors>, Integer, Hash)> get_sfvb_page_selectors_with_http_info(storefront_oid, path)
1591
+ > <Array(<SfvbItemResponse>, Integer, Hash)> get_sfvb_item_with_http_info(storefront_oid, opts)
1510
1592
 
1511
1593
  ```ruby
1512
1594
  begin
1513
- # Read a page's selectors
1514
- data, status_code, headers = api_instance.get_sfvb_page_selectors_with_http_info(storefront_oid, path)
1595
+ # Read an item's storefront facing content
1596
+ data, status_code, headers = api_instance.get_sfvb_item_with_http_info(storefront_oid, opts)
1515
1597
  p status_code # => 2xx
1516
1598
  p headers # => { ... }
1517
- p data # => <SfvbPageSelectors>
1599
+ p data # => <SfvbItemResponse>
1518
1600
  rescue UltracartClient::ApiError => e
1519
- puts "Error when calling SfvbApi->get_sfvb_page_selectors_with_http_info: #{e}"
1601
+ puts "Error when calling SfvbApi->get_sfvb_item_with_http_info: #{e}"
1520
1602
  end
1521
1603
  ```
1522
1604
 
@@ -1525,11 +1607,12 @@ end
1525
1607
  | Name | Type | Description | Notes |
1526
1608
  | ---- | ---- | ----------- | ----- |
1527
1609
  | **storefront_oid** | **Integer** | | |
1528
- | **path** | **String** | Page path, for example /lp/spring-sale/ | |
1610
+ | **merchant_item_id** | **String** | The merchant item id, as a storefront carries it | [optional] |
1611
+ | **merchant_item_oid** | **Integer** | The item oid. Send this or merchant_item_id, not both | [optional] |
1529
1612
 
1530
1613
  ### Return type
1531
1614
 
1532
- [**SfvbPageSelectors**](SfvbPageSelectors.md)
1615
+ [**SfvbItemResponse**](SfvbItemResponse.md)
1533
1616
 
1534
1617
  ### Authorization
1535
1618
 
@@ -1541,13 +1624,13 @@ end
1541
1624
  - **Accept**: application/json
1542
1625
 
1543
1626
 
1544
- ## get_sfvb_preview_url
1627
+ ## get_sfvb_library_entry
1545
1628
 
1546
- > <SfvbPreviewUrlResponse> get_sfvb_preview_url(storefront_oid, preview_session_id, opts)
1629
+ > <SfvbLibraryEntry> get_sfvb_library_entry(storefront_oid, library_oid)
1547
1630
 
1548
- URL that renders a preview session
1631
+ Read one library entry including its CJSON
1549
1632
 
1550
- 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.
1633
+ Returns the fragment as authored. If it references images or other storefront files those paths will not resolve on this storefront until the entry is installed, so use install rather than this when the intent is to place the fragment.
1551
1634
 
1552
1635
 
1553
1636
  ### Examples
@@ -1556,21 +1639,21 @@ Refuses a session that does not exist, so a URL you receive is for a session tha
1556
1639
  (No example for this operation).
1557
1640
 
1558
1641
 
1559
- #### Using the get_sfvb_preview_url_with_http_info variant
1642
+ #### Using the get_sfvb_library_entry_with_http_info variant
1560
1643
 
1561
1644
  This returns an Array which contains the response data, status code and headers.
1562
1645
 
1563
- > <Array(<SfvbPreviewUrlResponse>, Integer, Hash)> get_sfvb_preview_url_with_http_info(storefront_oid, preview_session_id, opts)
1646
+ > <Array(<SfvbLibraryEntry>, Integer, Hash)> get_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
1564
1647
 
1565
1648
  ```ruby
1566
1649
  begin
1567
- # URL that renders a preview session
1568
- data, status_code, headers = api_instance.get_sfvb_preview_url_with_http_info(storefront_oid, preview_session_id, opts)
1650
+ # Read one library entry including its CJSON
1651
+ data, status_code, headers = api_instance.get_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
1569
1652
  p status_code # => 2xx
1570
1653
  p headers # => { ... }
1571
- p data # => <SfvbPreviewUrlResponse>
1654
+ p data # => <SfvbLibraryEntry>
1572
1655
  rescue UltracartClient::ApiError => e
1573
- puts "Error when calling SfvbApi->get_sfvb_preview_url_with_http_info: #{e}"
1656
+ puts "Error when calling SfvbApi->get_sfvb_library_entry_with_http_info: #{e}"
1574
1657
  end
1575
1658
  ```
1576
1659
 
@@ -1579,12 +1662,11 @@ end
1579
1662
  | Name | Type | Description | Notes |
1580
1663
  | ---- | ---- | ----------- | ----- |
1581
1664
  | **storefront_oid** | **Integer** | | |
1582
- | **preview_session_id** | **String** | | |
1583
- | **path** | **String** | | [optional] |
1665
+ | **library_oid** | **Integer** | | |
1584
1666
 
1585
1667
  ### Return type
1586
1668
 
1587
- [**SfvbPreviewUrlResponse**](SfvbPreviewUrlResponse.md)
1669
+ [**SfvbLibraryEntry**](SfvbLibraryEntry.md)
1588
1670
 
1589
1671
  ### Authorization
1590
1672
 
@@ -1596,13 +1678,13 @@ end
1596
1678
  - **Accept**: application/json
1597
1679
 
1598
1680
 
1599
- ## get_sfvb_site_attributes
1681
+ ## get_sfvb_menu
1600
1682
 
1601
- > <SfvbSiteAttributesResponse> get_sfvb_site_attributes(storefront_oid)
1683
+ > <SfvbMenu> get_sfvb_menu(storefront_oid, code)
1602
1684
 
1603
- Read a storefront's site attributes
1685
+ Read one store menu and its entries
1604
1686
 
1605
- The values the siteattribute element and $site.attr render. These are not in any file or theme. Attributes a template declares but nothing has set are included with the template's default, so the response describes what the templates can render rather than only what has been saved. Credentials stored as site attributes are never included.
1687
+ The whole tree, in render order. Page entries carry the page_path they resolve to and item entries the merchant_item_id, rather than the oids the storage keeps. Menu item oids are not returned at all because a write regenerates every one of them. Keep hash_sha256 - it is the If-Match a write needs.
1606
1688
 
1607
1689
 
1608
1690
  ### Examples
@@ -1611,21 +1693,21 @@ The values the siteattribute element and $site.attr render. These are not in an
1611
1693
  (No example for this operation).
1612
1694
 
1613
1695
 
1614
- #### Using the get_sfvb_site_attributes_with_http_info variant
1696
+ #### Using the get_sfvb_menu_with_http_info variant
1615
1697
 
1616
1698
  This returns an Array which contains the response data, status code and headers.
1617
1699
 
1618
- > <Array(<SfvbSiteAttributesResponse>, Integer, Hash)> get_sfvb_site_attributes_with_http_info(storefront_oid)
1700
+ > <Array(<SfvbMenu>, Integer, Hash)> get_sfvb_menu_with_http_info(storefront_oid, code)
1619
1701
 
1620
1702
  ```ruby
1621
1703
  begin
1622
- # Read a storefront's site attributes
1623
- data, status_code, headers = api_instance.get_sfvb_site_attributes_with_http_info(storefront_oid)
1704
+ # Read one store menu and its entries
1705
+ data, status_code, headers = api_instance.get_sfvb_menu_with_http_info(storefront_oid, code)
1624
1706
  p status_code # => 2xx
1625
1707
  p headers # => { ... }
1626
- p data # => <SfvbSiteAttributesResponse>
1708
+ p data # => <SfvbMenu>
1627
1709
  rescue UltracartClient::ApiError => e
1628
- puts "Error when calling SfvbApi->get_sfvb_site_attributes_with_http_info: #{e}"
1710
+ puts "Error when calling SfvbApi->get_sfvb_menu_with_http_info: #{e}"
1629
1711
  end
1630
1712
  ```
1631
1713
 
@@ -1634,10 +1716,11 @@ end
1634
1716
  | Name | Type | Description | Notes |
1635
1717
  | ---- | ---- | ----------- | ----- |
1636
1718
  | **storefront_oid** | **Integer** | | |
1719
+ | **code** | **String** | Menu code, matched without regard to case | |
1637
1720
 
1638
1721
  ### Return type
1639
1722
 
1640
- [**SfvbSiteAttributesResponse**](SfvbSiteAttributesResponse.md)
1723
+ [**SfvbMenu**](SfvbMenu.md)
1641
1724
 
1642
1725
  ### Authorization
1643
1726
 
@@ -1649,11 +1732,13 @@ end
1649
1732
  - **Accept**: application/json
1650
1733
 
1651
1734
 
1652
- ## get_sfvb_theme
1735
+ ## get_sfvb_menus
1653
1736
 
1654
- > <SfvbTheme> get_sfvb_theme(storefront_oid, theme_oid)
1737
+ > <SfvbMenusResponse> get_sfvb_menus(storefront_oid)
1655
1738
 
1656
- Get a theme
1739
+ List a storefront's store menus
1740
+
1741
+ The menus a menu element's menuName can name, sorted by code and without their entries. A code the active theme's templates ask for but nothing has created is included with unconfigured true - that code renders an empty list today, and writing it creates it. A menu no template names is marked undeclared, which usually means a menuName is misspelled.
1657
1742
 
1658
1743
 
1659
1744
  ### Examples
@@ -1662,21 +1747,21 @@ Get a theme
1662
1747
  (No example for this operation).
1663
1748
 
1664
1749
 
1665
- #### Using the get_sfvb_theme_with_http_info variant
1750
+ #### Using the get_sfvb_menus_with_http_info variant
1666
1751
 
1667
1752
  This returns an Array which contains the response data, status code and headers.
1668
1753
 
1669
- > <Array(<SfvbTheme>, Integer, Hash)> get_sfvb_theme_with_http_info(storefront_oid, theme_oid)
1754
+ > <Array(<SfvbMenusResponse>, Integer, Hash)> get_sfvb_menus_with_http_info(storefront_oid)
1670
1755
 
1671
1756
  ```ruby
1672
1757
  begin
1673
- # Get a theme
1674
- data, status_code, headers = api_instance.get_sfvb_theme_with_http_info(storefront_oid, theme_oid)
1758
+ # List a storefront's store menus
1759
+ data, status_code, headers = api_instance.get_sfvb_menus_with_http_info(storefront_oid)
1675
1760
  p status_code # => 2xx
1676
1761
  p headers # => { ... }
1677
- p data # => <SfvbTheme>
1762
+ p data # => <SfvbMenusResponse>
1678
1763
  rescue UltracartClient::ApiError => e
1679
- puts "Error when calling SfvbApi->get_sfvb_theme_with_http_info: #{e}"
1764
+ puts "Error when calling SfvbApi->get_sfvb_menus_with_http_info: #{e}"
1680
1765
  end
1681
1766
  ```
1682
1767
 
@@ -1685,11 +1770,10 @@ end
1685
1770
  | Name | Type | Description | Notes |
1686
1771
  | ---- | ---- | ----------- | ----- |
1687
1772
  | **storefront_oid** | **Integer** | | |
1688
- | **theme_oid** | **Integer** | | |
1689
1773
 
1690
1774
  ### Return type
1691
1775
 
1692
- [**SfvbTheme**](SfvbTheme.md)
1776
+ [**SfvbMenusResponse**](SfvbMenusResponse.md)
1693
1777
 
1694
1778
  ### Authorization
1695
1779
 
@@ -1701,13 +1785,13 @@ end
1701
1785
  - **Accept**: application/json
1702
1786
 
1703
1787
 
1704
- ## get_sfvb_theme_attributes
1788
+ ## get_sfvb_page
1705
1789
 
1706
- > <SfvbThemeAttributesResponse> get_sfvb_theme_attributes(storefront_oid, theme_oid)
1790
+ > <SfvbPageResponse> get_sfvb_page(storefront_oid, path)
1707
1791
 
1708
- Read a theme's colors, fonts and settings
1792
+ Read a page's attributes and images
1709
1793
 
1710
- The values theme.css and the compiled containers resolve at render time. These do NOT live in any file. settings.json contains a palette and looks like the answer, but it is the theme's factory template - it supplies defaults for slots that have never been set and is ignored for slots that have, so editing it will not change a color and reading it will not tell you the current one. Slots a template declares but nothing has ever set are included here, carrying the default they will render with, so the response describes the whole theme rather than the rows that happen to exist.
1794
+ What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
1711
1795
 
1712
1796
 
1713
1797
  ### Examples
@@ -1716,21 +1800,21 @@ The values theme.css and the compiled containers resolve at render time. These
1716
1800
  (No example for this operation).
1717
1801
 
1718
1802
 
1719
- #### Using the get_sfvb_theme_attributes_with_http_info variant
1803
+ #### Using the get_sfvb_page_with_http_info variant
1720
1804
 
1721
1805
  This returns an Array which contains the response data, status code and headers.
1722
1806
 
1723
- > <Array(<SfvbThemeAttributesResponse>, Integer, Hash)> get_sfvb_theme_attributes_with_http_info(storefront_oid, theme_oid)
1807
+ > <Array(<SfvbPageResponse>, Integer, Hash)> get_sfvb_page_with_http_info(storefront_oid, path)
1724
1808
 
1725
1809
  ```ruby
1726
1810
  begin
1727
- # Read a theme's colors, fonts and settings
1728
- data, status_code, headers = api_instance.get_sfvb_theme_attributes_with_http_info(storefront_oid, theme_oid)
1811
+ # Read a page's attributes and images
1812
+ data, status_code, headers = api_instance.get_sfvb_page_with_http_info(storefront_oid, path)
1729
1813
  p status_code # => 2xx
1730
1814
  p headers # => { ... }
1731
- p data # => <SfvbThemeAttributesResponse>
1815
+ p data # => <SfvbPageResponse>
1732
1816
  rescue UltracartClient::ApiError => e
1733
- puts "Error when calling SfvbApi->get_sfvb_theme_attributes_with_http_info: #{e}"
1817
+ puts "Error when calling SfvbApi->get_sfvb_page_with_http_info: #{e}"
1734
1818
  end
1735
1819
  ```
1736
1820
 
@@ -1739,11 +1823,11 @@ end
1739
1823
  | Name | Type | Description | Notes |
1740
1824
  | ---- | ---- | ----------- | ----- |
1741
1825
  | **storefront_oid** | **Integer** | | |
1742
- | **theme_oid** | **Integer** | | |
1826
+ | **path** | **String** | Page path, for example /catalog/dispensers/ | |
1743
1827
 
1744
1828
  ### Return type
1745
1829
 
1746
- [**SfvbThemeAttributesResponse**](SfvbThemeAttributesResponse.md)
1830
+ [**SfvbPageResponse**](SfvbPageResponse.md)
1747
1831
 
1748
1832
  ### Authorization
1749
1833
 
@@ -1755,13 +1839,13 @@ end
1755
1839
  - **Accept**: application/json
1756
1840
 
1757
1841
 
1758
- ## get_sfvb_theme_job
1842
+ ## get_sfvb_page_blog_posts
1759
1843
 
1760
- > <SfvbThemeJobResponse> get_sfvb_theme_job(storefront_oid, job_id)
1844
+ > <SfvbPageBlogPostsResponse> get_sfvb_page_blog_posts(storefront_oid, path)
1761
1845
 
1762
- Status of an asynchronous theme job
1846
+ Read the blog posts assigned to a page
1763
1847
 
1764
- Poll until complete is true, then check success. Note that the new theme's oid is not returned. The job's product is a plain text report rather than a structured result, so once it completes, list themes and match on the target_path the start call gave you.
1848
+ The posts the page shows. uses_selectors is true when the page's blog post selectors choose them instead.
1765
1849
 
1766
1850
 
1767
1851
  ### Examples
@@ -1770,21 +1854,21 @@ Poll until complete is true, then check success. Note that the new theme's oid
1770
1854
  (No example for this operation).
1771
1855
 
1772
1856
 
1773
- #### Using the get_sfvb_theme_job_with_http_info variant
1857
+ #### Using the get_sfvb_page_blog_posts_with_http_info variant
1774
1858
 
1775
1859
  This returns an Array which contains the response data, status code and headers.
1776
1860
 
1777
- > <Array(<SfvbThemeJobResponse>, Integer, Hash)> get_sfvb_theme_job_with_http_info(storefront_oid, job_id)
1861
+ > <Array(<SfvbPageBlogPostsResponse>, Integer, Hash)> get_sfvb_page_blog_posts_with_http_info(storefront_oid, path)
1778
1862
 
1779
1863
  ```ruby
1780
1864
  begin
1781
- # Status of an asynchronous theme job
1782
- data, status_code, headers = api_instance.get_sfvb_theme_job_with_http_info(storefront_oid, job_id)
1865
+ # Read the blog posts assigned to a page
1866
+ data, status_code, headers = api_instance.get_sfvb_page_blog_posts_with_http_info(storefront_oid, path)
1783
1867
  p status_code # => 2xx
1784
1868
  p headers # => { ... }
1785
- p data # => <SfvbThemeJobResponse>
1869
+ p data # => <SfvbPageBlogPostsResponse>
1786
1870
  rescue UltracartClient::ApiError => e
1787
- puts "Error when calling SfvbApi->get_sfvb_theme_job_with_http_info: #{e}"
1871
+ puts "Error when calling SfvbApi->get_sfvb_page_blog_posts_with_http_info: #{e}"
1788
1872
  end
1789
1873
  ```
1790
1874
 
@@ -1793,11 +1877,11 @@ end
1793
1877
  | Name | Type | Description | Notes |
1794
1878
  | ---- | ---- | ----------- | ----- |
1795
1879
  | **storefront_oid** | **Integer** | | |
1796
- | **job_id** | **Integer** | | |
1880
+ | **path** | **String** | Page path, for example /blog/ | |
1797
1881
 
1798
1882
  ### Return type
1799
1883
 
1800
- [**SfvbThemeJobResponse**](SfvbThemeJobResponse.md)
1884
+ [**SfvbPageBlogPostsResponse**](SfvbPageBlogPostsResponse.md)
1801
1885
 
1802
1886
  ### Authorization
1803
1887
 
@@ -1809,13 +1893,13 @@ end
1809
1893
  - **Accept**: application/json
1810
1894
 
1811
1895
 
1812
- ## get_sfvb_version
1896
+ ## get_sfvb_page_items
1813
1897
 
1814
- > <SfvbVersionResponse> get_sfvb_version
1898
+ > <SfvbPageItemsResponse> get_sfvb_page_items(storefront_oid, path)
1815
1899
 
1816
- Compiler version for this merchant
1900
+ Read the items assigned to a page
1817
1901
 
1818
- The visual builder release channel is per merchant, so a CLI holding cached schema or element data should compare against this to know when it has gone stale.
1902
+ 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.
1819
1903
 
1820
1904
 
1821
1905
  ### Examples
@@ -1824,31 +1908,34 @@ The visual builder release channel is per merchant, so a CLI holding cached sche
1824
1908
  (No example for this operation).
1825
1909
 
1826
1910
 
1827
- #### Using the get_sfvb_version_with_http_info variant
1911
+ #### Using the get_sfvb_page_items_with_http_info variant
1828
1912
 
1829
1913
  This returns an Array which contains the response data, status code and headers.
1830
1914
 
1831
- > <Array(<SfvbVersionResponse>, Integer, Hash)> get_sfvb_version_with_http_info
1915
+ > <Array(<SfvbPageItemsResponse>, Integer, Hash)> get_sfvb_page_items_with_http_info(storefront_oid, path)
1832
1916
 
1833
1917
  ```ruby
1834
1918
  begin
1835
- # Compiler version for this merchant
1836
- data, status_code, headers = api_instance.get_sfvb_version_with_http_info
1919
+ # Read the items assigned to a page
1920
+ data, status_code, headers = api_instance.get_sfvb_page_items_with_http_info(storefront_oid, path)
1837
1921
  p status_code # => 2xx
1838
1922
  p headers # => { ... }
1839
- p data # => <SfvbVersionResponse>
1923
+ p data # => <SfvbPageItemsResponse>
1840
1924
  rescue UltracartClient::ApiError => e
1841
- puts "Error when calling SfvbApi->get_sfvb_version_with_http_info: #{e}"
1925
+ puts "Error when calling SfvbApi->get_sfvb_page_items_with_http_info: #{e}"
1842
1926
  end
1843
1927
  ```
1844
1928
 
1845
1929
  ### Parameters
1846
1930
 
1847
- This endpoint does not need any parameter.
1931
+ | Name | Type | Description | Notes |
1932
+ | ---- | ---- | ----------- | ----- |
1933
+ | **storefront_oid** | **Integer** | | |
1934
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
1848
1935
 
1849
1936
  ### Return type
1850
1937
 
1851
- [**SfvbVersionResponse**](SfvbVersionResponse.md)
1938
+ [**SfvbPageItemsResponse**](SfvbPageItemsResponse.md)
1852
1939
 
1853
1940
  ### Authorization
1854
1941
 
@@ -1860,13 +1947,13 @@ This endpoint does not need any parameter.
1860
1947
  - **Accept**: application/json
1861
1948
 
1862
1949
 
1863
- ## get_sfvb_whoami
1950
+ ## get_sfvb_page_selectors
1864
1951
 
1865
- > <SfvbWhoamiResponse> get_sfvb_whoami
1952
+ > <SfvbPageSelectors> get_sfvb_page_selectors(storefront_oid, path)
1866
1953
 
1867
- Who this token is
1954
+ Read a page's selectors
1868
1955
 
1869
- Returns the merchant, user, granted scopes and reachable storefronts for the calling token. Declared for any scope so an application can always discover which account it is connected to.
1956
+ The conditions that choose the page's items and blog posts, and whether each set must all match.
1870
1957
 
1871
1958
 
1872
1959
  ### Examples
@@ -1875,31 +1962,955 @@ Returns the merchant, user, granted scopes and reachable storefronts for the cal
1875
1962
  (No example for this operation).
1876
1963
 
1877
1964
 
1878
- #### Using the get_sfvb_whoami_with_http_info variant
1965
+ #### Using the get_sfvb_page_selectors_with_http_info variant
1879
1966
 
1880
1967
  This returns an Array which contains the response data, status code and headers.
1881
1968
 
1882
- > <Array(<SfvbWhoamiResponse>, Integer, Hash)> get_sfvb_whoami_with_http_info
1969
+ > <Array(<SfvbPageSelectors>, Integer, Hash)> get_sfvb_page_selectors_with_http_info(storefront_oid, path)
1883
1970
 
1884
1971
  ```ruby
1885
1972
  begin
1886
- # Who this token is
1887
- data, status_code, headers = api_instance.get_sfvb_whoami_with_http_info
1973
+ # Read a page's selectors
1974
+ data, status_code, headers = api_instance.get_sfvb_page_selectors_with_http_info(storefront_oid, path)
1888
1975
  p status_code # => 2xx
1889
1976
  p headers # => { ... }
1890
- p data # => <SfvbWhoamiResponse>
1977
+ p data # => <SfvbPageSelectors>
1891
1978
  rescue UltracartClient::ApiError => e
1892
- puts "Error when calling SfvbApi->get_sfvb_whoami_with_http_info: #{e}"
1979
+ puts "Error when calling SfvbApi->get_sfvb_page_selectors_with_http_info: #{e}"
1980
+ end
1981
+ ```
1982
+
1983
+ ### Parameters
1984
+
1985
+ | Name | Type | Description | Notes |
1986
+ | ---- | ---- | ----------- | ----- |
1987
+ | **storefront_oid** | **Integer** | | |
1988
+ | **path** | **String** | Page path, for example /lp/spring-sale/ | |
1989
+
1990
+ ### Return type
1991
+
1992
+ [**SfvbPageSelectors**](SfvbPageSelectors.md)
1993
+
1994
+ ### Authorization
1995
+
1996
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1997
+
1998
+ ### HTTP request headers
1999
+
2000
+ - **Content-Type**: Not defined
2001
+ - **Accept**: application/json
2002
+
2003
+
2004
+ ## get_sfvb_preview_url
2005
+
2006
+ > <SfvbPreviewUrlResponse> get_sfvb_preview_url(storefront_oid, preview_session_id, opts)
2007
+
2008
+ URL that renders a preview session
2009
+
2010
+ 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.
2011
+
2012
+
2013
+ ### Examples
2014
+
2015
+
2016
+ (No example for this operation).
2017
+
2018
+
2019
+ #### Using the get_sfvb_preview_url_with_http_info variant
2020
+
2021
+ This returns an Array which contains the response data, status code and headers.
2022
+
2023
+ > <Array(<SfvbPreviewUrlResponse>, Integer, Hash)> get_sfvb_preview_url_with_http_info(storefront_oid, preview_session_id, opts)
2024
+
2025
+ ```ruby
2026
+ begin
2027
+ # URL that renders a preview session
2028
+ data, status_code, headers = api_instance.get_sfvb_preview_url_with_http_info(storefront_oid, preview_session_id, opts)
2029
+ p status_code # => 2xx
2030
+ p headers # => { ... }
2031
+ p data # => <SfvbPreviewUrlResponse>
2032
+ rescue UltracartClient::ApiError => e
2033
+ puts "Error when calling SfvbApi->get_sfvb_preview_url_with_http_info: #{e}"
2034
+ end
2035
+ ```
2036
+
2037
+ ### Parameters
2038
+
2039
+ | Name | Type | Description | Notes |
2040
+ | ---- | ---- | ----------- | ----- |
2041
+ | **storefront_oid** | **Integer** | | |
2042
+ | **preview_session_id** | **String** | | |
2043
+ | **path** | **String** | | [optional] |
2044
+
2045
+ ### Return type
2046
+
2047
+ [**SfvbPreviewUrlResponse**](SfvbPreviewUrlResponse.md)
2048
+
2049
+ ### Authorization
2050
+
2051
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2052
+
2053
+ ### HTTP request headers
2054
+
2055
+ - **Content-Type**: Not defined
2056
+ - **Accept**: application/json
2057
+
2058
+
2059
+ ## get_sfvb_site_attributes
2060
+
2061
+ > <SfvbSiteAttributesResponse> get_sfvb_site_attributes(storefront_oid)
2062
+
2063
+ Read a storefront's site attributes
2064
+
2065
+ The values the siteattribute element and $site.attr render. These are not in any file or theme. Attributes a template declares but nothing has set are included with the template's default, so the response describes what the templates can render rather than only what has been saved. Credentials stored as site attributes are never included.
2066
+
2067
+
2068
+ ### Examples
2069
+
2070
+
2071
+ (No example for this operation).
2072
+
2073
+
2074
+ #### Using the get_sfvb_site_attributes_with_http_info variant
2075
+
2076
+ This returns an Array which contains the response data, status code and headers.
2077
+
2078
+ > <Array(<SfvbSiteAttributesResponse>, Integer, Hash)> get_sfvb_site_attributes_with_http_info(storefront_oid)
2079
+
2080
+ ```ruby
2081
+ begin
2082
+ # Read a storefront's site attributes
2083
+ data, status_code, headers = api_instance.get_sfvb_site_attributes_with_http_info(storefront_oid)
2084
+ p status_code # => 2xx
2085
+ p headers # => { ... }
2086
+ p data # => <SfvbSiteAttributesResponse>
2087
+ rescue UltracartClient::ApiError => e
2088
+ puts "Error when calling SfvbApi->get_sfvb_site_attributes_with_http_info: #{e}"
2089
+ end
2090
+ ```
2091
+
2092
+ ### Parameters
2093
+
2094
+ | Name | Type | Description | Notes |
2095
+ | ---- | ---- | ----------- | ----- |
2096
+ | **storefront_oid** | **Integer** | | |
2097
+
2098
+ ### Return type
2099
+
2100
+ [**SfvbSiteAttributesResponse**](SfvbSiteAttributesResponse.md)
2101
+
2102
+ ### Authorization
2103
+
2104
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2105
+
2106
+ ### HTTP request headers
2107
+
2108
+ - **Content-Type**: Not defined
2109
+ - **Accept**: application/json
2110
+
2111
+
2112
+ ## get_sfvb_theme
2113
+
2114
+ > <SfvbTheme> get_sfvb_theme(storefront_oid, theme_oid)
2115
+
2116
+ Get a theme
2117
+
2118
+
2119
+ ### Examples
2120
+
2121
+
2122
+ (No example for this operation).
2123
+
2124
+
2125
+ #### Using the get_sfvb_theme_with_http_info variant
2126
+
2127
+ This returns an Array which contains the response data, status code and headers.
2128
+
2129
+ > <Array(<SfvbTheme>, Integer, Hash)> get_sfvb_theme_with_http_info(storefront_oid, theme_oid)
2130
+
2131
+ ```ruby
2132
+ begin
2133
+ # Get a theme
2134
+ data, status_code, headers = api_instance.get_sfvb_theme_with_http_info(storefront_oid, theme_oid)
2135
+ p status_code # => 2xx
2136
+ p headers # => { ... }
2137
+ p data # => <SfvbTheme>
2138
+ rescue UltracartClient::ApiError => e
2139
+ puts "Error when calling SfvbApi->get_sfvb_theme_with_http_info: #{e}"
2140
+ end
2141
+ ```
2142
+
2143
+ ### Parameters
2144
+
2145
+ | Name | Type | Description | Notes |
2146
+ | ---- | ---- | ----------- | ----- |
2147
+ | **storefront_oid** | **Integer** | | |
2148
+ | **theme_oid** | **Integer** | | |
2149
+
2150
+ ### Return type
2151
+
2152
+ [**SfvbTheme**](SfvbTheme.md)
2153
+
2154
+ ### Authorization
2155
+
2156
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2157
+
2158
+ ### HTTP request headers
2159
+
2160
+ - **Content-Type**: Not defined
2161
+ - **Accept**: application/json
2162
+
2163
+
2164
+ ## get_sfvb_theme_attributes
2165
+
2166
+ > <SfvbThemeAttributesResponse> get_sfvb_theme_attributes(storefront_oid, theme_oid)
2167
+
2168
+ Read a theme's colors, fonts and settings
2169
+
2170
+ The values theme.css and the compiled containers resolve at render time. These do NOT live in any file. settings.json contains a palette and looks like the answer, but it is the theme's factory template - it supplies defaults for slots that have never been set and is ignored for slots that have, so editing it will not change a color and reading it will not tell you the current one. Slots a template declares but nothing has ever set are included here, carrying the default they will render with, so the response describes the whole theme rather than the rows that happen to exist.
2171
+
2172
+
2173
+ ### Examples
2174
+
2175
+
2176
+ (No example for this operation).
2177
+
2178
+
2179
+ #### Using the get_sfvb_theme_attributes_with_http_info variant
2180
+
2181
+ This returns an Array which contains the response data, status code and headers.
2182
+
2183
+ > <Array(<SfvbThemeAttributesResponse>, Integer, Hash)> get_sfvb_theme_attributes_with_http_info(storefront_oid, theme_oid)
2184
+
2185
+ ```ruby
2186
+ begin
2187
+ # Read a theme's colors, fonts and settings
2188
+ data, status_code, headers = api_instance.get_sfvb_theme_attributes_with_http_info(storefront_oid, theme_oid)
2189
+ p status_code # => 2xx
2190
+ p headers # => { ... }
2191
+ p data # => <SfvbThemeAttributesResponse>
2192
+ rescue UltracartClient::ApiError => e
2193
+ puts "Error when calling SfvbApi->get_sfvb_theme_attributes_with_http_info: #{e}"
2194
+ end
2195
+ ```
2196
+
2197
+ ### Parameters
2198
+
2199
+ | Name | Type | Description | Notes |
2200
+ | ---- | ---- | ----------- | ----- |
2201
+ | **storefront_oid** | **Integer** | | |
2202
+ | **theme_oid** | **Integer** | | |
2203
+
2204
+ ### Return type
2205
+
2206
+ [**SfvbThemeAttributesResponse**](SfvbThemeAttributesResponse.md)
2207
+
2208
+ ### Authorization
2209
+
2210
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2211
+
2212
+ ### HTTP request headers
2213
+
2214
+ - **Content-Type**: Not defined
2215
+ - **Accept**: application/json
2216
+
2217
+
2218
+ ## get_sfvb_theme_job
2219
+
2220
+ > <SfvbThemeJobResponse> get_sfvb_theme_job(storefront_oid, job_id)
2221
+
2222
+ Status of an asynchronous theme job
2223
+
2224
+ Poll until complete is true, then check success. Note that the new theme's oid is not returned. The job's product is a plain text report rather than a structured result, so once it completes, list themes and match on the target_path the start call gave you.
2225
+
2226
+
2227
+ ### Examples
2228
+
2229
+
2230
+ (No example for this operation).
2231
+
2232
+
2233
+ #### Using the get_sfvb_theme_job_with_http_info variant
2234
+
2235
+ This returns an Array which contains the response data, status code and headers.
2236
+
2237
+ > <Array(<SfvbThemeJobResponse>, Integer, Hash)> get_sfvb_theme_job_with_http_info(storefront_oid, job_id)
2238
+
2239
+ ```ruby
2240
+ begin
2241
+ # Status of an asynchronous theme job
2242
+ data, status_code, headers = api_instance.get_sfvb_theme_job_with_http_info(storefront_oid, job_id)
2243
+ p status_code # => 2xx
2244
+ p headers # => { ... }
2245
+ p data # => <SfvbThemeJobResponse>
2246
+ rescue UltracartClient::ApiError => e
2247
+ puts "Error when calling SfvbApi->get_sfvb_theme_job_with_http_info: #{e}"
2248
+ end
2249
+ ```
2250
+
2251
+ ### Parameters
2252
+
2253
+ | Name | Type | Description | Notes |
2254
+ | ---- | ---- | ----------- | ----- |
2255
+ | **storefront_oid** | **Integer** | | |
2256
+ | **job_id** | **Integer** | | |
2257
+
2258
+ ### Return type
2259
+
2260
+ [**SfvbThemeJobResponse**](SfvbThemeJobResponse.md)
2261
+
2262
+ ### Authorization
2263
+
2264
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2265
+
2266
+ ### HTTP request headers
2267
+
2268
+ - **Content-Type**: Not defined
2269
+ - **Accept**: application/json
2270
+
2271
+
2272
+ ## get_sfvb_upsell_offer
2273
+
2274
+ > <SfvbUpsellOffer> get_sfvb_upsell_offer(storefront_oid, upsell_offer_oid, opts)
2275
+
2276
+ Get an upsell offer
2277
+
2278
+ The whole offer, with the hash an update sends back in If-Match, which upsell items are out of stock now, and whether loyalty, TowerData and Everflow are set up. Stats as on the path list.
2279
+
2280
+
2281
+ ### Examples
2282
+
2283
+
2284
+ (No example for this operation).
2285
+
2286
+
2287
+ #### Using the get_sfvb_upsell_offer_with_http_info variant
2288
+
2289
+ This returns an Array which contains the response data, status code and headers.
2290
+
2291
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> get_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid, opts)
2292
+
2293
+ ```ruby
2294
+ begin
2295
+ # Get an upsell offer
2296
+ data, status_code, headers = api_instance.get_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid, opts)
2297
+ p status_code # => 2xx
2298
+ p headers # => { ... }
2299
+ p data # => <SfvbUpsellOffer>
2300
+ rescue UltracartClient::ApiError => e
2301
+ puts "Error when calling SfvbApi->get_sfvb_upsell_offer_with_http_info: #{e}"
2302
+ end
2303
+ ```
2304
+
2305
+ ### Parameters
2306
+
2307
+ | Name | Type | Description | Notes |
2308
+ | ---- | ---- | ----------- | ----- |
2309
+ | **storefront_oid** | **Integer** | | |
2310
+ | **upsell_offer_oid** | **Integer** | | |
2311
+ | **stats** | **Boolean** | Include stats | [optional] |
2312
+ | **stats_start** | **String** | Stats window start, YYYY-MM-DD | [optional] |
2313
+ | **stats_end** | **String** | Stats window end, YYYY-MM-DD | [optional] |
2314
+ | **stats_weekdays** | **String** | Only these weekdays, comma separated mon to sun | [optional] |
2315
+
2316
+ ### Return type
2317
+
2318
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
2319
+
2320
+ ### Authorization
2321
+
2322
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2323
+
2324
+ ### HTTP request headers
2325
+
2326
+ - **Content-Type**: Not defined
2327
+ - **Accept**: application/json
2328
+
2329
+
2330
+ ## get_sfvb_upsell_path
2331
+
2332
+ > <SfvbUpsellPath> get_sfvb_upsell_path(storefront_oid, upsell_path_oid, opts)
2333
+
2334
+ Get an upsell path
2335
+
2336
+ The whole path, with the hash an update sends back in If-Match. Stats as on the list.
2337
+
2338
+
2339
+ ### Examples
2340
+
2341
+
2342
+ (No example for this operation).
2343
+
2344
+
2345
+ #### Using the get_sfvb_upsell_path_with_http_info variant
2346
+
2347
+ This returns an Array which contains the response data, status code and headers.
2348
+
2349
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> get_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
2350
+
2351
+ ```ruby
2352
+ begin
2353
+ # Get an upsell path
2354
+ data, status_code, headers = api_instance.get_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
2355
+ p status_code # => 2xx
2356
+ p headers # => { ... }
2357
+ p data # => <SfvbUpsellPath>
2358
+ rescue UltracartClient::ApiError => e
2359
+ puts "Error when calling SfvbApi->get_sfvb_upsell_path_with_http_info: #{e}"
2360
+ end
2361
+ ```
2362
+
2363
+ ### Parameters
2364
+
2365
+ | Name | Type | Description | Notes |
2366
+ | ---- | ---- | ----------- | ----- |
2367
+ | **storefront_oid** | **Integer** | | |
2368
+ | **upsell_path_oid** | **Integer** | | |
2369
+ | **stats** | **Boolean** | Include stats | [optional] |
2370
+ | **stats_start** | **String** | Stats window start, YYYY-MM-DD | [optional] |
2371
+ | **stats_end** | **String** | Stats window end, YYYY-MM-DD | [optional] |
2372
+ | **stats_weekdays** | **String** | Only these weekdays, comma separated mon to sun | [optional] |
2373
+
2374
+ ### Return type
2375
+
2376
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
2377
+
2378
+ ### Authorization
2379
+
2380
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2381
+
2382
+ ### HTTP request headers
2383
+
2384
+ - **Content-Type**: Not defined
2385
+ - **Accept**: application/json
2386
+
2387
+
2388
+ ## get_sfvb_version
2389
+
2390
+ > <SfvbVersionResponse> get_sfvb_version
2391
+
2392
+ Compiler version for this merchant
2393
+
2394
+ The visual builder release channel is per merchant, so a CLI holding cached schema or element data should compare against this to know when it has gone stale.
2395
+
2396
+
2397
+ ### Examples
2398
+
2399
+
2400
+ (No example for this operation).
2401
+
2402
+
2403
+ #### Using the get_sfvb_version_with_http_info variant
2404
+
2405
+ This returns an Array which contains the response data, status code and headers.
2406
+
2407
+ > <Array(<SfvbVersionResponse>, Integer, Hash)> get_sfvb_version_with_http_info
2408
+
2409
+ ```ruby
2410
+ begin
2411
+ # Compiler version for this merchant
2412
+ data, status_code, headers = api_instance.get_sfvb_version_with_http_info
2413
+ p status_code # => 2xx
2414
+ p headers # => { ... }
2415
+ p data # => <SfvbVersionResponse>
2416
+ rescue UltracartClient::ApiError => e
2417
+ puts "Error when calling SfvbApi->get_sfvb_version_with_http_info: #{e}"
2418
+ end
2419
+ ```
2420
+
2421
+ ### Parameters
2422
+
2423
+ This endpoint does not need any parameter.
2424
+
2425
+ ### Return type
2426
+
2427
+ [**SfvbVersionResponse**](SfvbVersionResponse.md)
2428
+
2429
+ ### Authorization
2430
+
2431
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2432
+
2433
+ ### HTTP request headers
2434
+
2435
+ - **Content-Type**: Not defined
2436
+ - **Accept**: application/json
2437
+
2438
+
2439
+ ## get_sfvb_whoami
2440
+
2441
+ > <SfvbWhoamiResponse> get_sfvb_whoami
2442
+
2443
+ Who this token is
2444
+
2445
+ Returns the merchant, user, granted scopes and reachable storefronts for the calling token. Declared for any scope so an application can always discover which account it is connected to.
2446
+
2447
+
2448
+ ### Examples
2449
+
2450
+
2451
+ (No example for this operation).
2452
+
2453
+
2454
+ #### Using the get_sfvb_whoami_with_http_info variant
2455
+
2456
+ This returns an Array which contains the response data, status code and headers.
2457
+
2458
+ > <Array(<SfvbWhoamiResponse>, Integer, Hash)> get_sfvb_whoami_with_http_info
2459
+
2460
+ ```ruby
2461
+ begin
2462
+ # Who this token is
2463
+ data, status_code, headers = api_instance.get_sfvb_whoami_with_http_info
2464
+ p status_code # => 2xx
2465
+ p headers # => { ... }
2466
+ p data # => <SfvbWhoamiResponse>
2467
+ rescue UltracartClient::ApiError => e
2468
+ puts "Error when calling SfvbApi->get_sfvb_whoami_with_http_info: #{e}"
2469
+ end
2470
+ ```
2471
+
2472
+ ### Parameters
2473
+
2474
+ This endpoint does not need any parameter.
2475
+
2476
+ ### Return type
2477
+
2478
+ [**SfvbWhoamiResponse**](SfvbWhoamiResponse.md)
2479
+
2480
+ ### Authorization
2481
+
2482
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2483
+
2484
+ ### HTTP request headers
2485
+
2486
+ - **Content-Type**: Not defined
2487
+ - **Accept**: application/json
2488
+
2489
+
2490
+ ## insert_sfvb_page
2491
+
2492
+ > <SfvbPageResponse> insert_sfvb_page(storefront_oid, page_create_request)
2493
+
2494
+ Create a page
2495
+
2496
+ 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.
2497
+
2498
+
2499
+ ### Examples
2500
+
2501
+
2502
+ (No example for this operation).
2503
+
2504
+
2505
+ #### Using the insert_sfvb_page_with_http_info variant
2506
+
2507
+ This returns an Array which contains the response data, status code and headers.
2508
+
2509
+ > <Array(<SfvbPageResponse>, Integer, Hash)> insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
2510
+
2511
+ ```ruby
2512
+ begin
2513
+ # Create a page
2514
+ data, status_code, headers = api_instance.insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
2515
+ p status_code # => 2xx
2516
+ p headers # => { ... }
2517
+ p data # => <SfvbPageResponse>
2518
+ rescue UltracartClient::ApiError => e
2519
+ puts "Error when calling SfvbApi->insert_sfvb_page_with_http_info: #{e}"
2520
+ end
2521
+ ```
2522
+
2523
+ ### Parameters
2524
+
2525
+ | Name | Type | Description | Notes |
2526
+ | ---- | ---- | ----------- | ----- |
2527
+ | **storefront_oid** | **Integer** | | |
2528
+ | **page_create_request** | [**SfvbPageCreateRequest**](SfvbPageCreateRequest.md) | The page to create | |
2529
+
2530
+ ### Return type
2531
+
2532
+ [**SfvbPageResponse**](SfvbPageResponse.md)
2533
+
2534
+ ### Authorization
2535
+
2536
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2537
+
2538
+ ### HTTP request headers
2539
+
2540
+ - **Content-Type**: application/json; charset=UTF-8
2541
+ - **Accept**: application/json
2542
+
2543
+
2544
+ ## insert_sfvb_upsell_offer
2545
+
2546
+ > <SfvbUpsellOffer> insert_sfvb_upsell_offer(storefront_oid, upsell_offer)
2547
+
2548
+ Create an upsell offer
2549
+
2550
+ Every item it names must exist, and every shipping method, payment method and loyalty tier must be one the merchant has. Put it on a path with a path update to have it shown. Creating it switched on, or with upsell_item_id_javascript or offsite_content_url, needs sfvb_publish. Its page content is its container, written with the container endpoints and owner type upsell.
2551
+
2552
+
2553
+ ### Examples
2554
+
2555
+
2556
+ (No example for this operation).
2557
+
2558
+
2559
+ #### Using the insert_sfvb_upsell_offer_with_http_info variant
2560
+
2561
+ This returns an Array which contains the response data, status code and headers.
2562
+
2563
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> insert_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer)
2564
+
2565
+ ```ruby
2566
+ begin
2567
+ # Create an upsell offer
2568
+ data, status_code, headers = api_instance.insert_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer)
2569
+ p status_code # => 2xx
2570
+ p headers # => { ... }
2571
+ p data # => <SfvbUpsellOffer>
2572
+ rescue UltracartClient::ApiError => e
2573
+ puts "Error when calling SfvbApi->insert_sfvb_upsell_offer_with_http_info: #{e}"
2574
+ end
2575
+ ```
2576
+
2577
+ ### Parameters
2578
+
2579
+ | Name | Type | Description | Notes |
2580
+ | ---- | ---- | ----------- | ----- |
2581
+ | **storefront_oid** | **Integer** | | |
2582
+ | **upsell_offer** | [**SfvbUpsellOffer**](SfvbUpsellOffer.md) | The offer to create | |
2583
+
2584
+ ### Return type
2585
+
2586
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
2587
+
2588
+ ### Authorization
2589
+
2590
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2591
+
2592
+ ### HTTP request headers
2593
+
2594
+ - **Content-Type**: application/json; charset=UTF-8
2595
+ - **Accept**: application/json
2596
+
2597
+
2598
+ ## insert_sfvb_upsell_path
2599
+
2600
+ > <SfvbUpsellPath> insert_sfvb_upsell_path(storefront_oid, upsell_path)
2601
+
2602
+ Create an upsell path
2603
+
2604
+ Placed last in path order. Every offer a step names must be an offer of this storefront, and every item in the item logic must exist. Creating it switched on needs sfvb_publish; create it with active false to build it without that scope.
2605
+
2606
+
2607
+ ### Examples
2608
+
2609
+
2610
+ (No example for this operation).
2611
+
2612
+
2613
+ #### Using the insert_sfvb_upsell_path_with_http_info variant
2614
+
2615
+ This returns an Array which contains the response data, status code and headers.
2616
+
2617
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> insert_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path)
2618
+
2619
+ ```ruby
2620
+ begin
2621
+ # Create an upsell path
2622
+ data, status_code, headers = api_instance.insert_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path)
2623
+ p status_code # => 2xx
2624
+ p headers # => { ... }
2625
+ p data # => <SfvbUpsellPath>
2626
+ rescue UltracartClient::ApiError => e
2627
+ puts "Error when calling SfvbApi->insert_sfvb_upsell_path_with_http_info: #{e}"
2628
+ end
2629
+ ```
2630
+
2631
+ ### Parameters
2632
+
2633
+ | Name | Type | Description | Notes |
2634
+ | ---- | ---- | ----------- | ----- |
2635
+ | **storefront_oid** | **Integer** | | |
2636
+ | **upsell_path** | [**SfvbUpsellPath**](SfvbUpsellPath.md) | The path to create | |
2637
+
2638
+ ### Return type
2639
+
2640
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
2641
+
2642
+ ### Authorization
2643
+
2644
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2645
+
2646
+ ### HTTP request headers
2647
+
2648
+ - **Content-Type**: application/json; charset=UTF-8
2649
+ - **Accept**: application/json
2650
+
2651
+
2652
+ ## install_sfvb_library_entry
2653
+
2654
+ > <SfvbLibraryEntry> install_sfvb_library_entry(storefront_oid, library_oid)
2655
+
2656
+ Install a library entry into a storefront
2657
+
2658
+ Copies the fragment's referenced assets into the storefront file system and returns the CJSON with its paths resolved, ready to place. This writes, which is why it is a POST rather than the GET the internal admin endpoint uses. It also requires sfvb_publish, because the assets land in the shared storefront file system, which is served to shoppers regardless of which theme is active, so no amount of working inside a duplicate theme isolates them.
2659
+
2660
+
2661
+ ### Examples
2662
+
2663
+
2664
+ (No example for this operation).
2665
+
2666
+
2667
+ #### Using the install_sfvb_library_entry_with_http_info variant
2668
+
2669
+ This returns an Array which contains the response data, status code and headers.
2670
+
2671
+ > <Array(<SfvbLibraryEntry>, Integer, Hash)> install_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
2672
+
2673
+ ```ruby
2674
+ begin
2675
+ # Install a library entry into a storefront
2676
+ data, status_code, headers = api_instance.install_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
2677
+ p status_code # => 2xx
2678
+ p headers # => { ... }
2679
+ p data # => <SfvbLibraryEntry>
2680
+ rescue UltracartClient::ApiError => e
2681
+ puts "Error when calling SfvbApi->install_sfvb_library_entry_with_http_info: #{e}"
2682
+ end
2683
+ ```
2684
+
2685
+ ### Parameters
2686
+
2687
+ | Name | Type | Description | Notes |
2688
+ | ---- | ---- | ----------- | ----- |
2689
+ | **storefront_oid** | **Integer** | | |
2690
+ | **library_oid** | **Integer** | | |
2691
+
2692
+ ### Return type
2693
+
2694
+ [**SfvbLibraryEntry**](SfvbLibraryEntry.md)
2695
+
2696
+ ### Authorization
2697
+
2698
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2699
+
2700
+ ### HTTP request headers
2701
+
2702
+ - **Content-Type**: Not defined
2703
+ - **Accept**: application/json
2704
+
2705
+
2706
+ ## list_sfvb_blog_posts
2707
+
2708
+ > <SfvbBlogPostsResponse> list_sfvb_blog_posts(storefront_oid, opts)
2709
+
2710
+ List the storefront's blog posts
2711
+
2712
+ 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.
2713
+
2714
+
2715
+ ### Examples
2716
+
2717
+
2718
+ (No example for this operation).
2719
+
2720
+
2721
+ #### Using the list_sfvb_blog_posts_with_http_info variant
2722
+
2723
+ This returns an Array which contains the response data, status code and headers.
2724
+
2725
+ > <Array(<SfvbBlogPostsResponse>, Integer, Hash)> list_sfvb_blog_posts_with_http_info(storefront_oid, opts)
2726
+
2727
+ ```ruby
2728
+ begin
2729
+ # List the storefront's blog posts
2730
+ data, status_code, headers = api_instance.list_sfvb_blog_posts_with_http_info(storefront_oid, opts)
2731
+ p status_code # => 2xx
2732
+ p headers # => { ... }
2733
+ p data # => <SfvbBlogPostsResponse>
2734
+ rescue UltracartClient::ApiError => e
2735
+ puts "Error when calling SfvbApi->list_sfvb_blog_posts_with_http_info: #{e}"
2736
+ end
2737
+ ```
2738
+
2739
+ ### Parameters
2740
+
2741
+ | Name | Type | Description | Notes |
2742
+ | ---- | ---- | ----------- | ----- |
2743
+ | **storefront_oid** | **Integer** | | |
2744
+ | **search** | **String** | Text to search for | [optional] |
2745
+ | **page** | **Integer** | Page number, starting at 1 | [optional] |
2746
+ | **page_size** | **Integer** | Posts per page, 1 to 100, default 50 | [optional] |
2747
+
2748
+ ### Return type
2749
+
2750
+ [**SfvbBlogPostsResponse**](SfvbBlogPostsResponse.md)
2751
+
2752
+ ### Authorization
2753
+
2754
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2755
+
2756
+ ### HTTP request headers
2757
+
2758
+ - **Content-Type**: Not defined
2759
+ - **Accept**: application/json
2760
+
2761
+
2762
+ ## list_sfvb_container_versions
2763
+
2764
+ > <SfvbContainerVersionsResponse> list_sfvb_container_versions(storefront_oid, opts)
2765
+
2766
+ Version history for a container stored outside the file system
2767
+
2768
+ Addressed the same way as the container itself, so owner_type also says how owner_object_id is read and itemid lists the history of the item container that merchant item id names.
2769
+
2770
+
2771
+ ### Examples
2772
+
2773
+
2774
+ (No example for this operation).
2775
+
2776
+
2777
+ #### Using the list_sfvb_container_versions_with_http_info variant
2778
+
2779
+ This returns an Array which contains the response data, status code and headers.
2780
+
2781
+ > <Array(<SfvbContainerVersionsResponse>, Integer, Hash)> list_sfvb_container_versions_with_http_info(storefront_oid, opts)
2782
+
2783
+ ```ruby
2784
+ begin
2785
+ # Version history for a container stored outside the file system
2786
+ data, status_code, headers = api_instance.list_sfvb_container_versions_with_http_info(storefront_oid, opts)
2787
+ p status_code # => 2xx
2788
+ p headers # => { ... }
2789
+ p data # => <SfvbContainerVersionsResponse>
2790
+ rescue UltracartClient::ApiError => e
2791
+ puts "Error when calling SfvbApi->list_sfvb_container_versions_with_http_info: #{e}"
2792
+ end
2793
+ ```
2794
+
2795
+ ### Parameters
2796
+
2797
+ | Name | Type | Description | Notes |
2798
+ | ---- | ---- | ----------- | ----- |
2799
+ | **storefront_oid** | **Integer** | | |
2800
+ | **owner_type** | **String** | | [optional] |
2801
+ | **owner_object_id** | **String** | | [optional] |
2802
+ | **container_name** | **String** | | [optional] |
2803
+
2804
+ ### Return type
2805
+
2806
+ [**SfvbContainerVersionsResponse**](SfvbContainerVersionsResponse.md)
2807
+
2808
+ ### Authorization
2809
+
2810
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2811
+
2812
+ ### HTTP request headers
2813
+
2814
+ - **Content-Type**: Not defined
2815
+ - **Accept**: application/json
2816
+
2817
+
2818
+ ## list_sfvb_elements
2819
+
2820
+ > <SfvbElementsResponse> list_sfvb_elements
2821
+
2822
+ List every SFVB element type
2823
+
2824
+ The authoritative vocabulary, taken from the same lookup the compiler uses. A type absent from this list compiles to a literal placeholder line in the page rather than failing, which is why validation treats an unknown type as an error.
2825
+
2826
+
2827
+ ### Examples
2828
+
2829
+
2830
+ (No example for this operation).
2831
+
2832
+
2833
+ #### Using the list_sfvb_elements_with_http_info variant
2834
+
2835
+ This returns an Array which contains the response data, status code and headers.
2836
+
2837
+ > <Array(<SfvbElementsResponse>, Integer, Hash)> list_sfvb_elements_with_http_info
2838
+
2839
+ ```ruby
2840
+ begin
2841
+ # List every SFVB element type
2842
+ data, status_code, headers = api_instance.list_sfvb_elements_with_http_info
2843
+ p status_code # => 2xx
2844
+ p headers # => { ... }
2845
+ p data # => <SfvbElementsResponse>
2846
+ rescue UltracartClient::ApiError => e
2847
+ puts "Error when calling SfvbApi->list_sfvb_elements_with_http_info: #{e}"
2848
+ end
2849
+ ```
2850
+
2851
+ ### Parameters
2852
+
2853
+ This endpoint does not need any parameter.
2854
+
2855
+ ### Return type
2856
+
2857
+ [**SfvbElementsResponse**](SfvbElementsResponse.md)
2858
+
2859
+ ### Authorization
2860
+
2861
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2862
+
2863
+ ### HTTP request headers
2864
+
2865
+ - **Content-Type**: Not defined
2866
+ - **Accept**: application/json
2867
+
2868
+
2869
+ ## list_sfvb_experiments
2870
+
2871
+ > <SfvbExperimentsResponse> list_sfvb_experiments(storefront_oid, opts)
2872
+
2873
+ List the storefront's experiments
2874
+
2875
+ 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.
2876
+
2877
+
2878
+ ### Examples
2879
+
2880
+
2881
+ (No example for this operation).
2882
+
2883
+
2884
+ #### Using the list_sfvb_experiments_with_http_info variant
2885
+
2886
+ This returns an Array which contains the response data, status code and headers.
2887
+
2888
+ > <Array(<SfvbExperimentsResponse>, Integer, Hash)> list_sfvb_experiments_with_http_info(storefront_oid, opts)
2889
+
2890
+ ```ruby
2891
+ begin
2892
+ # List the storefront's experiments
2893
+ data, status_code, headers = api_instance.list_sfvb_experiments_with_http_info(storefront_oid, opts)
2894
+ p status_code # => 2xx
2895
+ p headers # => { ... }
2896
+ p data # => <SfvbExperimentsResponse>
2897
+ rescue UltracartClient::ApiError => e
2898
+ puts "Error when calling SfvbApi->list_sfvb_experiments_with_http_info: #{e}"
1893
2899
  end
1894
2900
  ```
1895
2901
 
1896
2902
  ### Parameters
1897
2903
 
1898
- This endpoint does not need any parameter.
2904
+ | Name | Type | Description | Notes |
2905
+ | ---- | ---- | ----------- | ----- |
2906
+ | **storefront_oid** | **Integer** | | |
2907
+ | **status** | **String** | Running or Ended | [optional] |
2908
+ | **type** | **String** | page, url, theme or openai | [optional] |
2909
+ | **path** | **String** | Only experiments on this page, for example /lp/spring-sale/ | [optional] |
1899
2910
 
1900
2911
  ### Return type
1901
2912
 
1902
- [**SfvbWhoamiResponse**](SfvbWhoamiResponse.md)
2913
+ [**SfvbExperimentsResponse**](SfvbExperimentsResponse.md)
1903
2914
 
1904
2915
  ### Authorization
1905
2916
 
@@ -1911,13 +2922,13 @@ This endpoint does not need any parameter.
1911
2922
  - **Accept**: application/json
1912
2923
 
1913
2924
 
1914
- ## insert_sfvb_page
2925
+ ## list_sfvb_file_versions
1915
2926
 
1916
- > <SfvbPageResponse> insert_sfvb_page(storefront_oid, page_create_request)
2927
+ > <SfvbFileVersionsResponse> list_sfvb_file_versions(storefront_oid, opts)
1917
2928
 
1918
- Create a page
2929
+ Version history for a storefront file
1919
2930
 
1920
- 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.
2931
+ Version history is the undo for anything in the storefront file system, which is what makes an agent's writes recoverable.
1921
2932
 
1922
2933
 
1923
2934
  ### Examples
@@ -1926,21 +2937,21 @@ Creates the page and its folder, the way the store admin's add page does. The p
1926
2937
  (No example for this operation).
1927
2938
 
1928
2939
 
1929
- #### Using the insert_sfvb_page_with_http_info variant
2940
+ #### Using the list_sfvb_file_versions_with_http_info variant
1930
2941
 
1931
2942
  This returns an Array which contains the response data, status code and headers.
1932
2943
 
1933
- > <Array(<SfvbPageResponse>, Integer, Hash)> insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
2944
+ > <Array(<SfvbFileVersionsResponse>, Integer, Hash)> list_sfvb_file_versions_with_http_info(storefront_oid, opts)
1934
2945
 
1935
2946
  ```ruby
1936
2947
  begin
1937
- # Create a page
1938
- data, status_code, headers = api_instance.insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
2948
+ # Version history for a storefront file
2949
+ data, status_code, headers = api_instance.list_sfvb_file_versions_with_http_info(storefront_oid, opts)
1939
2950
  p status_code # => 2xx
1940
2951
  p headers # => { ... }
1941
- p data # => <SfvbPageResponse>
2952
+ p data # => <SfvbFileVersionsResponse>
1942
2953
  rescue UltracartClient::ApiError => e
1943
- puts "Error when calling SfvbApi->insert_sfvb_page_with_http_info: #{e}"
2954
+ puts "Error when calling SfvbApi->list_sfvb_file_versions_with_http_info: #{e}"
1944
2955
  end
1945
2956
  ```
1946
2957
 
@@ -1949,11 +2960,11 @@ end
1949
2960
  | Name | Type | Description | Notes |
1950
2961
  | ---- | ---- | ----------- | ----- |
1951
2962
  | **storefront_oid** | **Integer** | | |
1952
- | **page_create_request** | [**SfvbPageCreateRequest**](SfvbPageCreateRequest.md) | The page to create | |
2963
+ | **path** | **String** | | [optional] |
1953
2964
 
1954
2965
  ### Return type
1955
2966
 
1956
- [**SfvbPageResponse**](SfvbPageResponse.md)
2967
+ [**SfvbFileVersionsResponse**](SfvbFileVersionsResponse.md)
1957
2968
 
1958
2969
  ### Authorization
1959
2970
 
@@ -1961,17 +2972,17 @@ end
1961
2972
 
1962
2973
  ### HTTP request headers
1963
2974
 
1964
- - **Content-Type**: application/json; charset=UTF-8
2975
+ - **Content-Type**: Not defined
1965
2976
  - **Accept**: application/json
1966
2977
 
1967
2978
 
1968
- ## install_sfvb_library_entry
2979
+ ## list_sfvb_files
1969
2980
 
1970
- > <SfvbLibraryEntry> install_sfvb_library_entry(storefront_oid, library_oid)
2981
+ > <SfvbFilesResponse> list_sfvb_files(storefront_oid, opts)
1971
2982
 
1972
- Install a library entry into a storefront
2983
+ List a storefront directory
1973
2984
 
1974
- Copies the fragment's referenced assets into the storefront file system and returns the CJSON with its paths resolved, ready to place. This writes, which is why it is a POST rather than the GET the internal admin endpoint uses. It also requires sfvb_publish, because the assets land in the shared storefront file system, which is served to shoppers regardless of which theme is active, so no amount of working inside a duplicate theme isolates them.
2985
+ Directories first, then files, each sorted by name. Address by path or by directory oid; supplying theme_oid also retries a path that does not resolve at the storefront root relative to that theme, so /theme/css/ works without knowing the theme's directory name. Each file carries its content hash, so a listing is enough to start an If-Match write without a separate read.
1975
2986
 
1976
2987
 
1977
2988
  ### Examples
@@ -1980,21 +2991,21 @@ Copies the fragment's referenced assets into the storefront file system and retu
1980
2991
  (No example for this operation).
1981
2992
 
1982
2993
 
1983
- #### Using the install_sfvb_library_entry_with_http_info variant
2994
+ #### Using the list_sfvb_files_with_http_info variant
1984
2995
 
1985
2996
  This returns an Array which contains the response data, status code and headers.
1986
2997
 
1987
- > <Array(<SfvbLibraryEntry>, Integer, Hash)> install_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
2998
+ > <Array(<SfvbFilesResponse>, Integer, Hash)> list_sfvb_files_with_http_info(storefront_oid, opts)
1988
2999
 
1989
3000
  ```ruby
1990
3001
  begin
1991
- # Install a library entry into a storefront
1992
- data, status_code, headers = api_instance.install_sfvb_library_entry_with_http_info(storefront_oid, library_oid)
3002
+ # List a storefront directory
3003
+ data, status_code, headers = api_instance.list_sfvb_files_with_http_info(storefront_oid, opts)
1993
3004
  p status_code # => 2xx
1994
3005
  p headers # => { ... }
1995
- p data # => <SfvbLibraryEntry>
3006
+ p data # => <SfvbFilesResponse>
1996
3007
  rescue UltracartClient::ApiError => e
1997
- puts "Error when calling SfvbApi->install_sfvb_library_entry_with_http_info: #{e}"
3008
+ puts "Error when calling SfvbApi->list_sfvb_files_with_http_info: #{e}"
1998
3009
  end
1999
3010
  ```
2000
3011
 
@@ -2003,11 +3014,14 @@ end
2003
3014
  | Name | Type | Description | Notes |
2004
3015
  | ---- | ---- | ----------- | ----- |
2005
3016
  | **storefront_oid** | **Integer** | | |
2006
- | **library_oid** | **Integer** | | |
3017
+ | **path** | **String** | | [optional] |
3018
+ | **storefront_fs_directory_oid** | **Integer** | | [optional] |
3019
+ | **theme_oid** | **Integer** | | [optional] |
3020
+ | **max_entries** | **Integer** | | [optional] |
2007
3021
 
2008
3022
  ### Return type
2009
3023
 
2010
- [**SfvbLibraryEntry**](SfvbLibraryEntry.md)
3024
+ [**SfvbFilesResponse**](SfvbFilesResponse.md)
2011
3025
 
2012
3026
  ### Authorization
2013
3027
 
@@ -2019,13 +3033,13 @@ end
2019
3033
  - **Accept**: application/json
2020
3034
 
2021
3035
 
2022
- ## list_sfvb_blog_posts
3036
+ ## list_sfvb_item_containers
2023
3037
 
2024
- > <SfvbBlogPostsResponse> list_sfvb_blog_posts(storefront_oid, opts)
3038
+ > <SfvbItemContainersResponse> list_sfvb_item_containers(storefront_oid, opts)
2025
3039
 
2026
- List the storefront's blog posts
3040
+ List the item containers on the account
2027
3041
 
2028
- 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.
3042
+ An itemcontainer element renders nothing of its own. It names a slot, and a separate container is resolved per item for that slot, so a catalog of five hundred products with three slots is fifteen hundred containers. This says which of them exist. Filter by container_name to find every item carrying one slot, or by merchant_item_id to see what one item has. Which items are missing a slot is a set difference against pages/items, because a listing can only report containers that exist. Each row carries hash_sha256, so a listing is enough to start an If-Match write without reading the container first. Item containers are stored per account rather than per storefront, so storefront_oid identifies the caller's storefront but does not narrow the result.
2029
3043
 
2030
3044
 
2031
3045
  ### Examples
@@ -2034,21 +3048,21 @@ One page of blog posts, newest first, without their bodies. search matches the
2034
3048
  (No example for this operation).
2035
3049
 
2036
3050
 
2037
- #### Using the list_sfvb_blog_posts_with_http_info variant
3051
+ #### Using the list_sfvb_item_containers_with_http_info variant
2038
3052
 
2039
3053
  This returns an Array which contains the response data, status code and headers.
2040
3054
 
2041
- > <Array(<SfvbBlogPostsResponse>, Integer, Hash)> list_sfvb_blog_posts_with_http_info(storefront_oid, opts)
3055
+ > <Array(<SfvbItemContainersResponse>, Integer, Hash)> list_sfvb_item_containers_with_http_info(storefront_oid, opts)
2042
3056
 
2043
3057
  ```ruby
2044
3058
  begin
2045
- # List the storefront's blog posts
2046
- data, status_code, headers = api_instance.list_sfvb_blog_posts_with_http_info(storefront_oid, opts)
3059
+ # List the item containers on the account
3060
+ data, status_code, headers = api_instance.list_sfvb_item_containers_with_http_info(storefront_oid, opts)
2047
3061
  p status_code # => 2xx
2048
3062
  p headers # => { ... }
2049
- p data # => <SfvbBlogPostsResponse>
3063
+ p data # => <SfvbItemContainersResponse>
2050
3064
  rescue UltracartClient::ApiError => e
2051
- puts "Error when calling SfvbApi->list_sfvb_blog_posts_with_http_info: #{e}"
3065
+ puts "Error when calling SfvbApi->list_sfvb_item_containers_with_http_info: #{e}"
2052
3066
  end
2053
3067
  ```
2054
3068
 
@@ -2057,13 +3071,15 @@ end
2057
3071
  | Name | Type | Description | Notes |
2058
3072
  | ---- | ---- | ----------- | ----- |
2059
3073
  | **storefront_oid** | **Integer** | | |
2060
- | **search** | **String** | Text to search for | [optional] |
2061
- | **page** | **Integer** | Page number, starting at 1 | [optional] |
2062
- | **page_size** | **Integer** | Posts per page, 1 to 100, default 50 | [optional] |
3074
+ | **merchant_item_id** | **String** | Restrict to one item, by the merchant item id a storefront carries | [optional] |
3075
+ | **merchant_item_oid** | **Integer** | Restrict to one item, by oid. Send this or merchant_item_id, not both | [optional] |
3076
+ | **container_name** | **String** | Restrict to one slot name, matched without regard to case | [optional] |
3077
+ | **max_results** | **Integer** | | [optional] |
3078
+ | **offset** | **Integer** | | [optional] |
2063
3079
 
2064
3080
  ### Return type
2065
3081
 
2066
- [**SfvbBlogPostsResponse**](SfvbBlogPostsResponse.md)
3082
+ [**SfvbItemContainersResponse**](SfvbItemContainersResponse.md)
2067
3083
 
2068
3084
  ### Authorization
2069
3085
 
@@ -2075,13 +3091,13 @@ end
2075
3091
  - **Accept**: application/json
2076
3092
 
2077
3093
 
2078
- ## list_sfvb_container_versions
3094
+ ## list_sfvb_pages
2079
3095
 
2080
- > <SfvbContainerVersionsResponse> list_sfvb_container_versions(storefront_oid, opts)
3096
+ > <SfvbPageListResponse> list_sfvb_pages(storefront_oid, opts)
2081
3097
 
2082
- Version history for a container stored outside the file system
3098
+ List the storefront's pages
2083
3099
 
2084
- Addressed the same way as the container itself, so owner_type also says how owner_object_id is read and itemid lists the history of the item container that merchant item id names.
3100
+ 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.
2085
3101
 
2086
3102
 
2087
3103
  ### Examples
@@ -2090,21 +3106,21 @@ Addressed the same way as the container itself, so owner_type also says how owne
2090
3106
  (No example for this operation).
2091
3107
 
2092
3108
 
2093
- #### Using the list_sfvb_container_versions_with_http_info variant
3109
+ #### Using the list_sfvb_pages_with_http_info variant
2094
3110
 
2095
3111
  This returns an Array which contains the response data, status code and headers.
2096
3112
 
2097
- > <Array(<SfvbContainerVersionsResponse>, Integer, Hash)> list_sfvb_container_versions_with_http_info(storefront_oid, opts)
3113
+ > <Array(<SfvbPageListResponse>, Integer, Hash)> list_sfvb_pages_with_http_info(storefront_oid, opts)
2098
3114
 
2099
3115
  ```ruby
2100
3116
  begin
2101
- # Version history for a container stored outside the file system
2102
- data, status_code, headers = api_instance.list_sfvb_container_versions_with_http_info(storefront_oid, opts)
3117
+ # List the storefront's pages
3118
+ data, status_code, headers = api_instance.list_sfvb_pages_with_http_info(storefront_oid, opts)
2103
3119
  p status_code # => 2xx
2104
3120
  p headers # => { ... }
2105
- p data # => <SfvbContainerVersionsResponse>
3121
+ p data # => <SfvbPageListResponse>
2106
3122
  rescue UltracartClient::ApiError => e
2107
- puts "Error when calling SfvbApi->list_sfvb_container_versions_with_http_info: #{e}"
3123
+ puts "Error when calling SfvbApi->list_sfvb_pages_with_http_info: #{e}"
2108
3124
  end
2109
3125
  ```
2110
3126
 
@@ -2113,13 +3129,11 @@ end
2113
3129
  | Name | Type | Description | Notes |
2114
3130
  | ---- | ---- | ----------- | ----- |
2115
3131
  | **storefront_oid** | **Integer** | | |
2116
- | **owner_type** | **String** | | [optional] |
2117
- | **owner_object_id** | **String** | | [optional] |
2118
- | **container_name** | **String** | | [optional] |
3132
+ | **under** | **String** | Only this page and the pages below it, for example /lp/ | [optional] |
2119
3133
 
2120
3134
  ### Return type
2121
3135
 
2122
- [**SfvbContainerVersionsResponse**](SfvbContainerVersionsResponse.md)
3136
+ [**SfvbPageListResponse**](SfvbPageListResponse.md)
2123
3137
 
2124
3138
  ### Authorization
2125
3139
 
@@ -2131,13 +3145,11 @@ end
2131
3145
  - **Accept**: application/json
2132
3146
 
2133
3147
 
2134
- ## list_sfvb_elements
2135
-
2136
- > <SfvbElementsResponse> list_sfvb_elements
3148
+ ## list_sfvb_storefronts
2137
3149
 
2138
- List every SFVB element type
3150
+ > <SfvbStorefrontsResponse> list_sfvb_storefronts
2139
3151
 
2140
- The authoritative vocabulary, taken from the same lookup the compiler uses. A type absent from this list compiles to a literal placeholder line in the page rather than failing, which is why validation treats an unknown type as an error.
3152
+ List storefronts
2141
3153
 
2142
3154
 
2143
3155
  ### Examples
@@ -2146,21 +3158,21 @@ The authoritative vocabulary, taken from the same lookup the compiler uses. A t
2146
3158
  (No example for this operation).
2147
3159
 
2148
3160
 
2149
- #### Using the list_sfvb_elements_with_http_info variant
3161
+ #### Using the list_sfvb_storefronts_with_http_info variant
2150
3162
 
2151
3163
  This returns an Array which contains the response data, status code and headers.
2152
3164
 
2153
- > <Array(<SfvbElementsResponse>, Integer, Hash)> list_sfvb_elements_with_http_info
3165
+ > <Array(<SfvbStorefrontsResponse>, Integer, Hash)> list_sfvb_storefronts_with_http_info
2154
3166
 
2155
3167
  ```ruby
2156
3168
  begin
2157
- # List every SFVB element type
2158
- data, status_code, headers = api_instance.list_sfvb_elements_with_http_info
3169
+ # List storefronts
3170
+ data, status_code, headers = api_instance.list_sfvb_storefronts_with_http_info
2159
3171
  p status_code # => 2xx
2160
3172
  p headers # => { ... }
2161
- p data # => <SfvbElementsResponse>
3173
+ p data # => <SfvbStorefrontsResponse>
2162
3174
  rescue UltracartClient::ApiError => e
2163
- puts "Error when calling SfvbApi->list_sfvb_elements_with_http_info: #{e}"
3175
+ puts "Error when calling SfvbApi->list_sfvb_storefronts_with_http_info: #{e}"
2164
3176
  end
2165
3177
  ```
2166
3178
 
@@ -2170,7 +3182,7 @@ This endpoint does not need any parameter.
2170
3182
 
2171
3183
  ### Return type
2172
3184
 
2173
- [**SfvbElementsResponse**](SfvbElementsResponse.md)
3185
+ [**SfvbStorefrontsResponse**](SfvbStorefrontsResponse.md)
2174
3186
 
2175
3187
  ### Authorization
2176
3188
 
@@ -2182,13 +3194,13 @@ This endpoint does not need any parameter.
2182
3194
  - **Accept**: application/json
2183
3195
 
2184
3196
 
2185
- ## list_sfvb_experiments
3197
+ ## list_sfvb_templates
2186
3198
 
2187
- > <SfvbExperimentsResponse> list_sfvb_experiments(storefront_oid, opts)
3199
+ > <SfvbTemplatesResponse> list_sfvb_templates(storefront_oid, opts)
2188
3200
 
2189
- List the storefront's experiments
3201
+ List the active theme's templates
2190
3202
 
2191
- 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.
3203
+ 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.
2192
3204
 
2193
3205
 
2194
3206
  ### Examples
@@ -2197,21 +3209,21 @@ Every experiment that is not deleted, with its variations and their statistics -
2197
3209
  (No example for this operation).
2198
3210
 
2199
3211
 
2200
- #### Using the list_sfvb_experiments_with_http_info variant
3212
+ #### Using the list_sfvb_templates_with_http_info variant
2201
3213
 
2202
3214
  This returns an Array which contains the response data, status code and headers.
2203
3215
 
2204
- > <Array(<SfvbExperimentsResponse>, Integer, Hash)> list_sfvb_experiments_with_http_info(storefront_oid, opts)
3216
+ > <Array(<SfvbTemplatesResponse>, Integer, Hash)> list_sfvb_templates_with_http_info(storefront_oid, opts)
2205
3217
 
2206
3218
  ```ruby
2207
3219
  begin
2208
- # List the storefront's experiments
2209
- data, status_code, headers = api_instance.list_sfvb_experiments_with_http_info(storefront_oid, opts)
3220
+ # List the active theme's templates
3221
+ data, status_code, headers = api_instance.list_sfvb_templates_with_http_info(storefront_oid, opts)
2210
3222
  p status_code # => 2xx
2211
3223
  p headers # => { ... }
2212
- p data # => <SfvbExperimentsResponse>
3224
+ p data # => <SfvbTemplatesResponse>
2213
3225
  rescue UltracartClient::ApiError => e
2214
- puts "Error when calling SfvbApi->list_sfvb_experiments_with_http_info: #{e}"
3226
+ puts "Error when calling SfvbApi->list_sfvb_templates_with_http_info: #{e}"
2215
3227
  end
2216
3228
  ```
2217
3229
 
@@ -2220,13 +3232,11 @@ end
2220
3232
  | Name | Type | Description | Notes |
2221
3233
  | ---- | ---- | ----------- | ----- |
2222
3234
  | **storefront_oid** | **Integer** | | |
2223
- | **status** | **String** | Running or Ended | [optional] |
2224
- | **type** | **String** | page, url, theme or openai | [optional] |
2225
- | **path** | **String** | Only experiments on this page, for example /lp/spring-sale/ | [optional] |
3235
+ | **page_type** | **String** | Only templates declaring this page type, for example group | [optional] |
2226
3236
 
2227
3237
  ### Return type
2228
3238
 
2229
- [**SfvbExperimentsResponse**](SfvbExperimentsResponse.md)
3239
+ [**SfvbTemplatesResponse**](SfvbTemplatesResponse.md)
2230
3240
 
2231
3241
  ### Authorization
2232
3242
 
@@ -2238,13 +3248,13 @@ end
2238
3248
  - **Accept**: application/json
2239
3249
 
2240
3250
 
2241
- ## list_sfvb_file_versions
3251
+ ## list_sfvb_themes
2242
3252
 
2243
- > <SfvbFileVersionsResponse> list_sfvb_file_versions(storefront_oid, opts)
3253
+ > <SfvbThemesResponse> list_sfvb_themes(storefront_oid)
2244
3254
 
2245
- Version history for a storefront file
3255
+ List themes for a storefront
2246
3256
 
2247
- Version history is the undo for anything in the storefront file system, which is what makes an agent's writes recoverable.
3257
+ Exactly one theme is flagged active. Writing to the active theme is writing live and requires the sfvb_publish scope.
2248
3258
 
2249
3259
 
2250
3260
  ### Examples
@@ -2253,21 +3263,21 @@ Version history is the undo for anything in the storefront file system, which is
2253
3263
  (No example for this operation).
2254
3264
 
2255
3265
 
2256
- #### Using the list_sfvb_file_versions_with_http_info variant
3266
+ #### Using the list_sfvb_themes_with_http_info variant
2257
3267
 
2258
3268
  This returns an Array which contains the response data, status code and headers.
2259
3269
 
2260
- > <Array(<SfvbFileVersionsResponse>, Integer, Hash)> list_sfvb_file_versions_with_http_info(storefront_oid, opts)
3270
+ > <Array(<SfvbThemesResponse>, Integer, Hash)> list_sfvb_themes_with_http_info(storefront_oid)
2261
3271
 
2262
3272
  ```ruby
2263
3273
  begin
2264
- # Version history for a storefront file
2265
- data, status_code, headers = api_instance.list_sfvb_file_versions_with_http_info(storefront_oid, opts)
3274
+ # List themes for a storefront
3275
+ data, status_code, headers = api_instance.list_sfvb_themes_with_http_info(storefront_oid)
2266
3276
  p status_code # => 2xx
2267
3277
  p headers # => { ... }
2268
- p data # => <SfvbFileVersionsResponse>
3278
+ p data # => <SfvbThemesResponse>
2269
3279
  rescue UltracartClient::ApiError => e
2270
- puts "Error when calling SfvbApi->list_sfvb_file_versions_with_http_info: #{e}"
3280
+ puts "Error when calling SfvbApi->list_sfvb_themes_with_http_info: #{e}"
2271
3281
  end
2272
3282
  ```
2273
3283
 
@@ -2276,11 +3286,10 @@ end
2276
3286
  | Name | Type | Description | Notes |
2277
3287
  | ---- | ---- | ----------- | ----- |
2278
3288
  | **storefront_oid** | **Integer** | | |
2279
- | **path** | **String** | | [optional] |
2280
3289
 
2281
3290
  ### Return type
2282
3291
 
2283
- [**SfvbFileVersionsResponse**](SfvbFileVersionsResponse.md)
3292
+ [**SfvbThemesResponse**](SfvbThemesResponse.md)
2284
3293
 
2285
3294
  ### Authorization
2286
3295
 
@@ -2292,13 +3301,13 @@ end
2292
3301
  - **Accept**: application/json
2293
3302
 
2294
3303
 
2295
- ## list_sfvb_files
3304
+ ## list_sfvb_upsell_offers
2296
3305
 
2297
- > <SfvbFilesResponse> list_sfvb_files(storefront_oid, opts)
3306
+ > <SfvbUpsellOffersResponse> list_sfvb_upsell_offers(storefront_oid, opts)
2298
3307
 
2299
- List a storefront directory
3308
+ List upsell offers
2300
3309
 
2301
- Directories first, then files, each sorted by name. Address by path or by directory oid; supplying theme_oid also retries a path that does not resolve at the storefront root relative to that theme, so /theme/css/ works without knowing the theme's directory name. Each file carries its content hash, so a listing is enough to start an If-Match write without a separate read.
3310
+ Every offer on one of this storefront's paths that are not archived, the same list the admin shows, with each offer's full settings but not its container JSON. An offer on no path yet is still read by oid. A large container size alongside a small element count is the signature of markup pasted into a single html element. Stats as on the path list.
2302
3311
 
2303
3312
 
2304
3313
  ### Examples
@@ -2307,21 +3316,21 @@ Directories first, then files, each sorted by name. Address by path or by direc
2307
3316
  (No example for this operation).
2308
3317
 
2309
3318
 
2310
- #### Using the list_sfvb_files_with_http_info variant
3319
+ #### Using the list_sfvb_upsell_offers_with_http_info variant
2311
3320
 
2312
3321
  This returns an Array which contains the response data, status code and headers.
2313
3322
 
2314
- > <Array(<SfvbFilesResponse>, Integer, Hash)> list_sfvb_files_with_http_info(storefront_oid, opts)
3323
+ > <Array(<SfvbUpsellOffersResponse>, Integer, Hash)> list_sfvb_upsell_offers_with_http_info(storefront_oid, opts)
2315
3324
 
2316
3325
  ```ruby
2317
3326
  begin
2318
- # List a storefront directory
2319
- data, status_code, headers = api_instance.list_sfvb_files_with_http_info(storefront_oid, opts)
3327
+ # List upsell offers
3328
+ data, status_code, headers = api_instance.list_sfvb_upsell_offers_with_http_info(storefront_oid, opts)
2320
3329
  p status_code # => 2xx
2321
3330
  p headers # => { ... }
2322
- p data # => <SfvbFilesResponse>
3331
+ p data # => <SfvbUpsellOffersResponse>
2323
3332
  rescue UltracartClient::ApiError => e
2324
- puts "Error when calling SfvbApi->list_sfvb_files_with_http_info: #{e}"
3333
+ puts "Error when calling SfvbApi->list_sfvb_upsell_offers_with_http_info: #{e}"
2325
3334
  end
2326
3335
  ```
2327
3336
 
@@ -2330,14 +3339,14 @@ end
2330
3339
  | Name | Type | Description | Notes |
2331
3340
  | ---- | ---- | ----------- | ----- |
2332
3341
  | **storefront_oid** | **Integer** | | |
2333
- | **path** | **String** | | [optional] |
2334
- | **storefront_fs_directory_oid** | **Integer** | | [optional] |
2335
- | **theme_oid** | **Integer** | | [optional] |
2336
- | **max_entries** | **Integer** | | [optional] |
3342
+ | **stats** | **Boolean** | Include stats | [optional] |
3343
+ | **stats_start** | **String** | Stats window start, YYYY-MM-DD | [optional] |
3344
+ | **stats_end** | **String** | Stats window end, YYYY-MM-DD | [optional] |
3345
+ | **stats_weekdays** | **String** | Only these weekdays, comma separated mon to sun | [optional] |
2337
3346
 
2338
3347
  ### Return type
2339
3348
 
2340
- [**SfvbFilesResponse**](SfvbFilesResponse.md)
3349
+ [**SfvbUpsellOffersResponse**](SfvbUpsellOffersResponse.md)
2341
3350
 
2342
3351
  ### Authorization
2343
3352
 
@@ -2349,13 +3358,13 @@ end
2349
3358
  - **Accept**: application/json
2350
3359
 
2351
3360
 
2352
- ## list_sfvb_item_containers
3361
+ ## list_sfvb_upsell_paths
2353
3362
 
2354
- > <SfvbItemContainersResponse> list_sfvb_item_containers(storefront_oid, opts)
3363
+ > <SfvbUpsellPathsResponse> list_sfvb_upsell_paths(storefront_oid, opts)
2355
3364
 
2356
- List the item containers on the account
3365
+ List upsell paths
2357
3366
 
2358
- An itemcontainer element renders nothing of its own. It names a slot, and a separate container is resolved per item for that slot, so a catalog of five hundred products with three slots is fifteen hundred containers. This says which of them exist. Filter by container_name to find every item carrying one slot, or by merchant_item_id to see what one item has. Which items are missing a slot is a set difference against pages/items, because a listing can only report containers that exist. Each row carries hash_sha256, so a listing is enough to start an If-Match write without reading the container first. Item containers are stored per account rather than per storefront, so storefront_oid identifies the caller's storefront but does not narrow the result.
3367
+ In path order, first to last. status current (the default) leaves out archived paths. Stats are computed only with stats=true, over stats_start to stats_end (YYYY-MM-DD, the last 30 days when both are omitted, at most 366 days), because they are the expensive part of the read.
2359
3368
 
2360
3369
 
2361
3370
  ### Examples
@@ -2364,21 +3373,21 @@ An itemcontainer element renders nothing of its own. It names a slot, and a sep
2364
3373
  (No example for this operation).
2365
3374
 
2366
3375
 
2367
- #### Using the list_sfvb_item_containers_with_http_info variant
3376
+ #### Using the list_sfvb_upsell_paths_with_http_info variant
2368
3377
 
2369
3378
  This returns an Array which contains the response data, status code and headers.
2370
3379
 
2371
- > <Array(<SfvbItemContainersResponse>, Integer, Hash)> list_sfvb_item_containers_with_http_info(storefront_oid, opts)
3380
+ > <Array(<SfvbUpsellPathsResponse>, Integer, Hash)> list_sfvb_upsell_paths_with_http_info(storefront_oid, opts)
2372
3381
 
2373
3382
  ```ruby
2374
3383
  begin
2375
- # List the item containers on the account
2376
- data, status_code, headers = api_instance.list_sfvb_item_containers_with_http_info(storefront_oid, opts)
3384
+ # List upsell paths
3385
+ data, status_code, headers = api_instance.list_sfvb_upsell_paths_with_http_info(storefront_oid, opts)
2377
3386
  p status_code # => 2xx
2378
3387
  p headers # => { ... }
2379
- p data # => <SfvbItemContainersResponse>
3388
+ p data # => <SfvbUpsellPathsResponse>
2380
3389
  rescue UltracartClient::ApiError => e
2381
- puts "Error when calling SfvbApi->list_sfvb_item_containers_with_http_info: #{e}"
3390
+ puts "Error when calling SfvbApi->list_sfvb_upsell_paths_with_http_info: #{e}"
2382
3391
  end
2383
3392
  ```
2384
3393
 
@@ -2387,15 +3396,19 @@ end
2387
3396
  | Name | Type | Description | Notes |
2388
3397
  | ---- | ---- | ----------- | ----- |
2389
3398
  | **storefront_oid** | **Integer** | | |
2390
- | **merchant_item_id** | **String** | Restrict to one item, by the merchant item id a storefront carries | [optional] |
2391
- | **merchant_item_oid** | **Integer** | Restrict to one item, by oid. Send this or merchant_item_id, not both | [optional] |
2392
- | **container_name** | **String** | Restrict to one slot name, matched without regard to case | [optional] |
2393
- | **max_results** | **Integer** | | [optional] |
2394
- | **offset** | **Integer** | | [optional] |
3399
+ | **status** | **String** | current, archived or all | [optional] |
3400
+ | **location** | **String** | pre checkout or post checkout | [optional] |
3401
+ | **search** | **String** | Only paths whose name contains this | [optional] |
3402
+ | **stats** | **Boolean** | Include stats | [optional] |
3403
+ | **stats_start** | **String** | Stats window start, YYYY-MM-DD | [optional] |
3404
+ | **stats_end** | **String** | Stats window end, YYYY-MM-DD | [optional] |
3405
+ | **stats_weekdays** | **String** | Only these weekdays, comma separated mon to sun | [optional] |
3406
+ | **max_results** | **Integer** | Page size, 1 to 500, default 100 | [optional] |
3407
+ | **offset** | **Integer** | Offset of the first path returned | [optional] |
2395
3408
 
2396
3409
  ### Return type
2397
3410
 
2398
- [**SfvbItemContainersResponse**](SfvbItemContainersResponse.md)
3411
+ [**SfvbUpsellPathsResponse**](SfvbUpsellPathsResponse.md)
2399
3412
 
2400
3413
  ### Authorization
2401
3414
 
@@ -2407,13 +3420,13 @@ end
2407
3420
  - **Accept**: application/json
2408
3421
 
2409
3422
 
2410
- ## list_sfvb_pages
3423
+ ## move_sfvb_upsell_path
2411
3424
 
2412
- > <SfvbPageListResponse> list_sfvb_pages(storefront_oid, opts)
3425
+ > <SfvbUpsellPath> move_sfvb_upsell_path(storefront_oid, upsell_path_oid, move_request)
2413
3426
 
2414
- List the storefront's pages
3427
+ Move an upsell path
2415
3428
 
2416
- 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.
3429
+ Up, down, to the top or to the bottom of the storefront's paths. Order decides which running path a shopper meets first, so moving a running path needs sfvb_publish.
2417
3430
 
2418
3431
 
2419
3432
  ### Examples
@@ -2422,21 +3435,21 @@ Every page with its settings, sorted by path with the root first. Hidden pages
2422
3435
  (No example for this operation).
2423
3436
 
2424
3437
 
2425
- #### Using the list_sfvb_pages_with_http_info variant
3438
+ #### Using the move_sfvb_upsell_path_with_http_info variant
2426
3439
 
2427
3440
  This returns an Array which contains the response data, status code and headers.
2428
3441
 
2429
- > <Array(<SfvbPageListResponse>, Integer, Hash)> list_sfvb_pages_with_http_info(storefront_oid, opts)
3442
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> move_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, move_request)
2430
3443
 
2431
3444
  ```ruby
2432
3445
  begin
2433
- # List the storefront's pages
2434
- data, status_code, headers = api_instance.list_sfvb_pages_with_http_info(storefront_oid, opts)
3446
+ # Move an upsell path
3447
+ data, status_code, headers = api_instance.move_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, move_request)
2435
3448
  p status_code # => 2xx
2436
3449
  p headers # => { ... }
2437
- p data # => <SfvbPageListResponse>
3450
+ p data # => <SfvbUpsellPath>
2438
3451
  rescue UltracartClient::ApiError => e
2439
- puts "Error when calling SfvbApi->list_sfvb_pages_with_http_info: #{e}"
3452
+ puts "Error when calling SfvbApi->move_sfvb_upsell_path_with_http_info: #{e}"
2440
3453
  end
2441
3454
  ```
2442
3455
 
@@ -2445,11 +3458,12 @@ end
2445
3458
  | Name | Type | Description | Notes |
2446
3459
  | ---- | ---- | ----------- | ----- |
2447
3460
  | **storefront_oid** | **Integer** | | |
2448
- | **under** | **String** | Only this page and the pages below it, for example /lp/ | [optional] |
3461
+ | **upsell_path_oid** | **Integer** | | |
3462
+ | **move_request** | [**SfvbUpsellPathMoveRequest**](SfvbUpsellPathMoveRequest.md) | Where to move it | |
2449
3463
 
2450
3464
  ### Return type
2451
3465
 
2452
- [**SfvbPageListResponse**](SfvbPageListResponse.md)
3466
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
2453
3467
 
2454
3468
  ### Authorization
2455
3469
 
@@ -2457,15 +3471,17 @@ end
2457
3471
 
2458
3472
  ### HTTP request headers
2459
3473
 
2460
- - **Content-Type**: Not defined
3474
+ - **Content-Type**: application/json; charset=UTF-8
2461
3475
  - **Accept**: application/json
2462
3476
 
2463
3477
 
2464
- ## list_sfvb_storefronts
3478
+ ## put_sfvb_container
2465
3479
 
2466
- > <SfvbStorefrontsResponse> list_sfvb_storefronts
3480
+ > <SfvbContainerResponse> put_sfvb_container(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
2467
3481
 
2468
- List storefronts
3482
+ Write a container stored outside the file system
3483
+
3484
+ Validation is mandatory and runs here regardless of whether the caller validated first. The previous value is snapshotted before the write, so the change can be reverted. Side effects the visual builder performs on save, such as upsell screenshot regeneration and email content review flagging, are applied too. owner_type also says how owner_object_id is read; send itemid to address an item container by merchant item id rather than by oid. Either way the history records the one canonical address, so a container written under one spelling is listed and reverted under the other.
2469
3485
 
2470
3486
 
2471
3487
  ### Examples
@@ -2474,31 +3490,38 @@ List storefronts
2474
3490
  (No example for this operation).
2475
3491
 
2476
3492
 
2477
- #### Using the list_sfvb_storefronts_with_http_info variant
3493
+ #### Using the put_sfvb_container_with_http_info variant
2478
3494
 
2479
3495
  This returns an Array which contains the response data, status code and headers.
2480
3496
 
2481
- > <Array(<SfvbStorefrontsResponse>, Integer, Hash)> list_sfvb_storefronts_with_http_info
3497
+ > <Array(<SfvbContainerResponse>, Integer, Hash)> put_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
2482
3498
 
2483
3499
  ```ruby
2484
- begin
2485
- # List storefronts
2486
- data, status_code, headers = api_instance.list_sfvb_storefronts_with_http_info
3500
+ begin
3501
+ # Write a container stored outside the file system
3502
+ data, status_code, headers = api_instance.put_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
2487
3503
  p status_code # => 2xx
2488
3504
  p headers # => { ... }
2489
- p data # => <SfvbStorefrontsResponse>
3505
+ p data # => <SfvbContainerResponse>
2490
3506
  rescue UltracartClient::ApiError => e
2491
- puts "Error when calling SfvbApi->list_sfvb_storefronts_with_http_info: #{e}"
3507
+ puts "Error when calling SfvbApi->put_sfvb_container_with_http_info: #{e}"
2492
3508
  end
2493
3509
  ```
2494
3510
 
2495
3511
  ### Parameters
2496
3512
 
2497
- This endpoint does not need any parameter.
3513
+ | Name | Type | Description | Notes |
3514
+ | ---- | ---- | ----------- | ----- |
3515
+ | **storefront_oid** | **Integer** | | |
3516
+ | **owner_type** | **String** | | |
3517
+ | **owner_object_id** | **String** | | |
3518
+ | **if_match** | **String** | CJSON hash from the last read. Required; 428 when absent, 412 when stale. | |
3519
+ | **container_write_request** | [**SfvbContainerWriteRequest**](SfvbContainerWriteRequest.md) | Container CJSON to write | |
3520
+ | **container_name** | **String** | | [optional] |
2498
3521
 
2499
3522
  ### Return type
2500
3523
 
2501
- [**SfvbStorefrontsResponse**](SfvbStorefrontsResponse.md)
3524
+ [**SfvbContainerResponse**](SfvbContainerResponse.md)
2502
3525
 
2503
3526
  ### Authorization
2504
3527
 
@@ -2506,17 +3529,17 @@ This endpoint does not need any parameter.
2506
3529
 
2507
3530
  ### HTTP request headers
2508
3531
 
2509
- - **Content-Type**: Not defined
3532
+ - **Content-Type**: application/json
2510
3533
  - **Accept**: application/json
2511
3534
 
2512
3535
 
2513
- ## list_sfvb_templates
3536
+ ## put_sfvb_experiment_variation
2514
3537
 
2515
- > <SfvbTemplatesResponse> list_sfvb_templates(storefront_oid, opts)
3538
+ > <SfvbExperiment> put_sfvb_experiment_variation(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
2516
3539
 
2517
- List the active theme's templates
3540
+ Pause or resume a variation
2518
3541
 
2519
- 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.
3542
+ 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.
2520
3543
 
2521
3544
 
2522
3545
  ### Examples
@@ -2525,21 +3548,21 @@ Each template with the page type it declares and what it can render - items, sub
2525
3548
  (No example for this operation).
2526
3549
 
2527
3550
 
2528
- #### Using the list_sfvb_templates_with_http_info variant
3551
+ #### Using the put_sfvb_experiment_variation_with_http_info variant
2529
3552
 
2530
3553
  This returns an Array which contains the response data, status code and headers.
2531
3554
 
2532
- > <Array(<SfvbTemplatesResponse>, Integer, Hash)> list_sfvb_templates_with_http_info(storefront_oid, opts)
3555
+ > <Array(<SfvbExperiment>, Integer, Hash)> put_sfvb_experiment_variation_with_http_info(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
2533
3556
 
2534
3557
  ```ruby
2535
3558
  begin
2536
- # List the active theme's templates
2537
- data, status_code, headers = api_instance.list_sfvb_templates_with_http_info(storefront_oid, opts)
3559
+ # Pause or resume a variation
3560
+ data, status_code, headers = api_instance.put_sfvb_experiment_variation_with_http_info(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
2538
3561
  p status_code # => 2xx
2539
3562
  p headers # => { ... }
2540
- p data # => <SfvbTemplatesResponse>
3563
+ p data # => <SfvbExperiment>
2541
3564
  rescue UltracartClient::ApiError => e
2542
- puts "Error when calling SfvbApi->list_sfvb_templates_with_http_info: #{e}"
3565
+ puts "Error when calling SfvbApi->put_sfvb_experiment_variation_with_http_info: #{e}"
2543
3566
  end
2544
3567
  ```
2545
3568
 
@@ -2548,11 +3571,13 @@ end
2548
3571
  | Name | Type | Description | Notes |
2549
3572
  | ---- | ---- | ----------- | ----- |
2550
3573
  | **storefront_oid** | **Integer** | | |
2551
- | **page_type** | **String** | Only templates declaring this page type, for example group | [optional] |
3574
+ | **experiment_oid** | **Integer** | | |
3575
+ | **variation_number** | **Integer** | | |
3576
+ | **experiment_variation_update_request** | [**SfvbExperimentVariationUpdateRequest**](SfvbExperimentVariationUpdateRequest.md) | Pause or resume | |
2552
3577
 
2553
3578
  ### Return type
2554
3579
 
2555
- [**SfvbTemplatesResponse**](SfvbTemplatesResponse.md)
3580
+ [**SfvbExperiment**](SfvbExperiment.md)
2556
3581
 
2557
3582
  ### Authorization
2558
3583
 
@@ -2560,17 +3585,17 @@ end
2560
3585
 
2561
3586
  ### HTTP request headers
2562
3587
 
2563
- - **Content-Type**: Not defined
3588
+ - **Content-Type**: application/json; charset=UTF-8
2564
3589
  - **Accept**: application/json
2565
3590
 
2566
3591
 
2567
- ## list_sfvb_themes
3592
+ ## put_sfvb_file_content
2568
3593
 
2569
- > <SfvbThemesResponse> list_sfvb_themes(storefront_oid)
3594
+ > <SfvbFileWriteResponse> put_sfvb_file_content(storefront_oid, if_match, file_write_request, opts)
2570
3595
 
2571
- List themes for a storefront
3596
+ Write a storefront file
2572
3597
 
2573
- Exactly one theme is flagged active. Writing to the active theme is writing live and requires the sfvb_publish scope.
3598
+ Runs the template sandbox, Velocity validation and the internationalization check, records a version, and compiles the sibling .vm when the file is a .cjson under a theme. Send If-Match with the hash from the last read to avoid clobbering a concurrent change. Writing into the active theme requires sfvb_publish.
2574
3599
 
2575
3600
 
2576
3601
  ### Examples
@@ -2579,21 +3604,21 @@ Exactly one theme is flagged active. Writing to the active theme is writing liv
2579
3604
  (No example for this operation).
2580
3605
 
2581
3606
 
2582
- #### Using the list_sfvb_themes_with_http_info variant
3607
+ #### Using the put_sfvb_file_content_with_http_info variant
2583
3608
 
2584
3609
  This returns an Array which contains the response data, status code and headers.
2585
3610
 
2586
- > <Array(<SfvbThemesResponse>, Integer, Hash)> list_sfvb_themes_with_http_info(storefront_oid)
3611
+ > <Array(<SfvbFileWriteResponse>, Integer, Hash)> put_sfvb_file_content_with_http_info(storefront_oid, if_match, file_write_request, opts)
2587
3612
 
2588
3613
  ```ruby
2589
3614
  begin
2590
- # List themes for a storefront
2591
- data, status_code, headers = api_instance.list_sfvb_themes_with_http_info(storefront_oid)
3615
+ # Write a storefront file
3616
+ data, status_code, headers = api_instance.put_sfvb_file_content_with_http_info(storefront_oid, if_match, file_write_request, opts)
2592
3617
  p status_code # => 2xx
2593
3618
  p headers # => { ... }
2594
- p data # => <SfvbThemesResponse>
3619
+ p data # => <SfvbFileWriteResponse>
2595
3620
  rescue UltracartClient::ApiError => e
2596
- puts "Error when calling SfvbApi->list_sfvb_themes_with_http_info: #{e}"
3621
+ puts "Error when calling SfvbApi->put_sfvb_file_content_with_http_info: #{e}"
2597
3622
  end
2598
3623
  ```
2599
3624
 
@@ -2602,10 +3627,13 @@ end
2602
3627
  | Name | Type | Description | Notes |
2603
3628
  | ---- | ---- | ----------- | ----- |
2604
3629
  | **storefront_oid** | **Integer** | | |
3630
+ | **if_match** | **String** | Content hash from the last read. Required; 428 when absent, 412 when stale. | |
3631
+ | **file_write_request** | [**SfvbFileWriteRequest**](SfvbFileWriteRequest.md) | File content to write | |
3632
+ | **path** | **String** | | [optional] |
2605
3633
 
2606
3634
  ### Return type
2607
3635
 
2608
- [**SfvbThemesResponse**](SfvbThemesResponse.md)
3636
+ [**SfvbFileWriteResponse**](SfvbFileWriteResponse.md)
2609
3637
 
2610
3638
  ### Authorization
2611
3639
 
@@ -2613,17 +3641,17 @@ end
2613
3641
 
2614
3642
  ### HTTP request headers
2615
3643
 
2616
- - **Content-Type**: Not defined
3644
+ - **Content-Type**: application/json
2617
3645
  - **Accept**: application/json
2618
3646
 
2619
3647
 
2620
- ## list_sfvb_upsell_offers
3648
+ ## put_sfvb_item_attributes
2621
3649
 
2622
- > <SfvbUpsellOffersResponse> list_sfvb_upsell_offers(storefront_oid)
3650
+ > <SfvbItemResponse> put_sfvb_item_attributes(storefront_oid, item_attribute_update_request, opts)
2623
3651
 
2624
- List upsell offers
3652
+ Change some of an item's attributes
2625
3653
 
2626
- Without container JSON, so the funnel can be surveyed cheaply. A large container size alongside a small element count is the signature of markup pasted into a single html element.
3654
+ Partial - only the attributes named change, and an empty value empties one but keeps it on the item. To remove an attribute no template declares, use the attribute DELETE. Every entry is validated before any is written, so a refusal leaves the item untouched. The list types are checked against the shape their renderer actually parses, which matters more than it sounds: a definition list is a bare array with one letter keys, a video list is a wrapper object with keys spelled out, and an item set is comma separated text rather than JSON. A shape the renderer cannot read is not reported at render time - it renders exactly like an attribute nobody ever set.
2627
3655
 
2628
3656
 
2629
3657
  ### Examples
@@ -2632,21 +3660,21 @@ Without container JSON, so the funnel can be surveyed cheaply. A large containe
2632
3660
  (No example for this operation).
2633
3661
 
2634
3662
 
2635
- #### Using the list_sfvb_upsell_offers_with_http_info variant
3663
+ #### Using the put_sfvb_item_attributes_with_http_info variant
2636
3664
 
2637
3665
  This returns an Array which contains the response data, status code and headers.
2638
3666
 
2639
- > <Array(<SfvbUpsellOffersResponse>, Integer, Hash)> list_sfvb_upsell_offers_with_http_info(storefront_oid)
3667
+ > <Array(<SfvbItemResponse>, Integer, Hash)> put_sfvb_item_attributes_with_http_info(storefront_oid, item_attribute_update_request, opts)
2640
3668
 
2641
3669
  ```ruby
2642
3670
  begin
2643
- # List upsell offers
2644
- data, status_code, headers = api_instance.list_sfvb_upsell_offers_with_http_info(storefront_oid)
3671
+ # Change some of an item's attributes
3672
+ data, status_code, headers = api_instance.put_sfvb_item_attributes_with_http_info(storefront_oid, item_attribute_update_request, opts)
2645
3673
  p status_code # => 2xx
2646
3674
  p headers # => { ... }
2647
- p data # => <SfvbUpsellOffersResponse>
3675
+ p data # => <SfvbItemResponse>
2648
3676
  rescue UltracartClient::ApiError => e
2649
- puts "Error when calling SfvbApi->list_sfvb_upsell_offers_with_http_info: #{e}"
3677
+ puts "Error when calling SfvbApi->put_sfvb_item_attributes_with_http_info: #{e}"
2650
3678
  end
2651
3679
  ```
2652
3680
 
@@ -2655,10 +3683,13 @@ end
2655
3683
  | Name | Type | Description | Notes |
2656
3684
  | ---- | ---- | ----------- | ----- |
2657
3685
  | **storefront_oid** | **Integer** | | |
3686
+ | **item_attribute_update_request** | [**SfvbItemAttributeUpdateRequest**](SfvbItemAttributeUpdateRequest.md) | Attributes to change | |
3687
+ | **merchant_item_id** | **String** | | [optional] |
3688
+ | **merchant_item_oid** | **Integer** | | [optional] |
2658
3689
 
2659
3690
  ### Return type
2660
3691
 
2661
- [**SfvbUpsellOffersResponse**](SfvbUpsellOffersResponse.md)
3692
+ [**SfvbItemResponse**](SfvbItemResponse.md)
2662
3693
 
2663
3694
  ### Authorization
2664
3695
 
@@ -2666,17 +3697,17 @@ end
2666
3697
 
2667
3698
  ### HTTP request headers
2668
3699
 
2669
- - **Content-Type**: Not defined
3700
+ - **Content-Type**: application/json
2670
3701
  - **Accept**: application/json
2671
3702
 
2672
3703
 
2673
- ## put_sfvb_container
3704
+ ## put_sfvb_item_content
2674
3705
 
2675
- > <SfvbContainerResponse> put_sfvb_container(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
3706
+ > <SfvbItemResponse> put_sfvb_item_content(storefront_oid, item_content_request, opts)
2676
3707
 
2677
- Write a container stored outside the file system
3708
+ Change an item's title or long description
2678
3709
 
2679
- Validation is mandatory and runs here regardless of whether the caller validated first. The previous value is snapshotted before the write, so the change can be reverted. Side effects the visual builder performs on save, such as upsell screenshot regeneration and email content review flagging, are applied too. owner_type also says how owner_object_id is read; send itemid to address an item container by merchant item id rather than by oid. Either way the history records the one canonical address, so a container written under one spelling is listed and reverted under the other.
3710
+ Partial - a field left out is untouched, a field sent empty is cleared, and those are different things. These are what itemtitle and itemdescription render. Writing the matching config keys into a container does nothing, because they are dialog buffers bound to the item and the render never reads them. Both are the catalog's own fields, so a change here reaches the item everywhere, not only on this storefront.
2680
3711
 
2681
3712
 
2682
3713
  ### Examples
@@ -2685,21 +3716,21 @@ Validation is mandatory and runs here regardless of whether the caller validated
2685
3716
  (No example for this operation).
2686
3717
 
2687
3718
 
2688
- #### Using the put_sfvb_container_with_http_info variant
3719
+ #### Using the put_sfvb_item_content_with_http_info variant
2689
3720
 
2690
3721
  This returns an Array which contains the response data, status code and headers.
2691
3722
 
2692
- > <Array(<SfvbContainerResponse>, Integer, Hash)> put_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
3723
+ > <Array(<SfvbItemResponse>, Integer, Hash)> put_sfvb_item_content_with_http_info(storefront_oid, item_content_request, opts)
2693
3724
 
2694
3725
  ```ruby
2695
3726
  begin
2696
- # Write a container stored outside the file system
2697
- data, status_code, headers = api_instance.put_sfvb_container_with_http_info(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
3727
+ # Change an item's title or long description
3728
+ data, status_code, headers = api_instance.put_sfvb_item_content_with_http_info(storefront_oid, item_content_request, opts)
2698
3729
  p status_code # => 2xx
2699
3730
  p headers # => { ... }
2700
- p data # => <SfvbContainerResponse>
3731
+ p data # => <SfvbItemResponse>
2701
3732
  rescue UltracartClient::ApiError => e
2702
- puts "Error when calling SfvbApi->put_sfvb_container_with_http_info: #{e}"
3733
+ puts "Error when calling SfvbApi->put_sfvb_item_content_with_http_info: #{e}"
2703
3734
  end
2704
3735
  ```
2705
3736
 
@@ -2708,15 +3739,13 @@ end
2708
3739
  | Name | Type | Description | Notes |
2709
3740
  | ---- | ---- | ----------- | ----- |
2710
3741
  | **storefront_oid** | **Integer** | | |
2711
- | **owner_type** | **String** | | |
2712
- | **owner_object_id** | **String** | | |
2713
- | **if_match** | **String** | CJSON hash from the last read. Required; 428 when absent, 412 when stale. | |
2714
- | **container_write_request** | [**SfvbContainerWriteRequest**](SfvbContainerWriteRequest.md) | Container CJSON to write | |
2715
- | **container_name** | **String** | | [optional] |
3742
+ | **item_content_request** | [**SfvbItemContentRequest**](SfvbItemContentRequest.md) | Title and description to change | |
3743
+ | **merchant_item_id** | **String** | | [optional] |
3744
+ | **merchant_item_oid** | **Integer** | | [optional] |
2716
3745
 
2717
3746
  ### Return type
2718
3747
 
2719
- [**SfvbContainerResponse**](SfvbContainerResponse.md)
3748
+ [**SfvbItemResponse**](SfvbItemResponse.md)
2720
3749
 
2721
3750
  ### Authorization
2722
3751
 
@@ -2728,13 +3757,13 @@ end
2728
3757
  - **Accept**: application/json
2729
3758
 
2730
3759
 
2731
- ## put_sfvb_experiment_variation
3760
+ ## put_sfvb_item_multimedia
2732
3761
 
2733
- > <SfvbExperiment> put_sfvb_experiment_variation(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
3762
+ > <SfvbItemResponse> put_sfvb_item_multimedia(storefront_oid, item_multimedia_request, opts)
2734
3763
 
2735
- Pause or resume a variation
3764
+ Attach an image to an item
2736
3765
 
2737
- 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.
3766
+ One slot at a time - the default image or one code - and every other image on the item is left alone. That is the difference from the item API, where images are reachable only through a full item update whose multimedia array is reconciled destructively, so adding one means resending the rest or losing them. Upload the file with files/upload first and name its storefront path here; unlike a page image it does not have to live in any particular folder, because the bytes are copied into the item's own storage on attach.
2738
3767
 
2739
3768
 
2740
3769
  ### Examples
@@ -2743,21 +3772,21 @@ Stops or resumes sending new visitors to one variation of a running experiment.
2743
3772
  (No example for this operation).
2744
3773
 
2745
3774
 
2746
- #### Using the put_sfvb_experiment_variation_with_http_info variant
3775
+ #### Using the put_sfvb_item_multimedia_with_http_info variant
2747
3776
 
2748
3777
  This returns an Array which contains the response data, status code and headers.
2749
3778
 
2750
- > <Array(<SfvbExperiment>, Integer, Hash)> put_sfvb_experiment_variation_with_http_info(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
3779
+ > <Array(<SfvbItemResponse>, Integer, Hash)> put_sfvb_item_multimedia_with_http_info(storefront_oid, item_multimedia_request, opts)
2751
3780
 
2752
3781
  ```ruby
2753
3782
  begin
2754
- # Pause or resume a variation
2755
- data, status_code, headers = api_instance.put_sfvb_experiment_variation_with_http_info(storefront_oid, experiment_oid, variation_number, experiment_variation_update_request)
3783
+ # Attach an image to an item
3784
+ data, status_code, headers = api_instance.put_sfvb_item_multimedia_with_http_info(storefront_oid, item_multimedia_request, opts)
2756
3785
  p status_code # => 2xx
2757
3786
  p headers # => { ... }
2758
- p data # => <SfvbExperiment>
3787
+ p data # => <SfvbItemResponse>
2759
3788
  rescue UltracartClient::ApiError => e
2760
- puts "Error when calling SfvbApi->put_sfvb_experiment_variation_with_http_info: #{e}"
3789
+ puts "Error when calling SfvbApi->put_sfvb_item_multimedia_with_http_info: #{e}"
2761
3790
  end
2762
3791
  ```
2763
3792
 
@@ -2766,13 +3795,13 @@ end
2766
3795
  | Name | Type | Description | Notes |
2767
3796
  | ---- | ---- | ----------- | ----- |
2768
3797
  | **storefront_oid** | **Integer** | | |
2769
- | **experiment_oid** | **Integer** | | |
2770
- | **variation_number** | **Integer** | | |
2771
- | **experiment_variation_update_request** | [**SfvbExperimentVariationUpdateRequest**](SfvbExperimentVariationUpdateRequest.md) | Pause or resume | |
3798
+ | **item_multimedia_request** | [**SfvbItemMultimediaRequest**](SfvbItemMultimediaRequest.md) | Image to attach | |
3799
+ | **merchant_item_id** | **String** | | [optional] |
3800
+ | **merchant_item_oid** | **Integer** | | [optional] |
2772
3801
 
2773
3802
  ### Return type
2774
3803
 
2775
- [**SfvbExperiment**](SfvbExperiment.md)
3804
+ [**SfvbItemResponse**](SfvbItemResponse.md)
2776
3805
 
2777
3806
  ### Authorization
2778
3807
 
@@ -2780,17 +3809,17 @@ end
2780
3809
 
2781
3810
  ### HTTP request headers
2782
3811
 
2783
- - **Content-Type**: application/json; charset=UTF-8
3812
+ - **Content-Type**: application/json
2784
3813
  - **Accept**: application/json
2785
3814
 
2786
3815
 
2787
- ## put_sfvb_file_content
3816
+ ## put_sfvb_item_seo
2788
3817
 
2789
- > <SfvbFileWriteResponse> put_sfvb_file_content(storefront_oid, if_match, file_write_request, opts)
3818
+ > <SfvbItemResponse> put_sfvb_item_seo(storefront_oid, item_seo_request, opts)
2790
3819
 
2791
- Write a storefront file
3820
+ Change an item's search metadata
2792
3821
 
2793
- Runs the template sandbox, Velocity validation and the internationalization check, records a version, and compiles the sibling .vm when the file is a .cjson under a theme. Send If-Match with the hash from the last read to avoid clobbering a concurrent change. Writing into the active theme requires sfvb_publish.
3822
+ Partial - a field left out is untouched, a field sent empty is cleared and the page falls back to what it fell back to before. Underneath these are three item attributes with reserved names, so this and the attributes endpoint reach the same storage; it exists separately because the names are not discoverable from the templates. Two things worth knowing. A title set here changes the document title only - og:title and twitter:title render the item's description either way. And there is no canonical or noindex field, because both are site wide switches rather than per item values.
2794
3823
 
2795
3824
 
2796
3825
  ### Examples
@@ -2799,21 +3828,21 @@ Runs the template sandbox, Velocity validation and the internationalization chec
2799
3828
  (No example for this operation).
2800
3829
 
2801
3830
 
2802
- #### Using the put_sfvb_file_content_with_http_info variant
3831
+ #### Using the put_sfvb_item_seo_with_http_info variant
2803
3832
 
2804
3833
  This returns an Array which contains the response data, status code and headers.
2805
3834
 
2806
- > <Array(<SfvbFileWriteResponse>, Integer, Hash)> put_sfvb_file_content_with_http_info(storefront_oid, if_match, file_write_request, opts)
3835
+ > <Array(<SfvbItemResponse>, Integer, Hash)> put_sfvb_item_seo_with_http_info(storefront_oid, item_seo_request, opts)
2807
3836
 
2808
3837
  ```ruby
2809
3838
  begin
2810
- # Write a storefront file
2811
- data, status_code, headers = api_instance.put_sfvb_file_content_with_http_info(storefront_oid, if_match, file_write_request, opts)
3839
+ # Change an item's search metadata
3840
+ data, status_code, headers = api_instance.put_sfvb_item_seo_with_http_info(storefront_oid, item_seo_request, opts)
2812
3841
  p status_code # => 2xx
2813
3842
  p headers # => { ... }
2814
- p data # => <SfvbFileWriteResponse>
3843
+ p data # => <SfvbItemResponse>
2815
3844
  rescue UltracartClient::ApiError => e
2816
- puts "Error when calling SfvbApi->put_sfvb_file_content_with_http_info: #{e}"
3845
+ puts "Error when calling SfvbApi->put_sfvb_item_seo_with_http_info: #{e}"
2817
3846
  end
2818
3847
  ```
2819
3848
 
@@ -2822,13 +3851,13 @@ end
2822
3851
  | Name | Type | Description | Notes |
2823
3852
  | ---- | ---- | ----------- | ----- |
2824
3853
  | **storefront_oid** | **Integer** | | |
2825
- | **if_match** | **String** | Content hash from the last read. Required; 428 when absent, 412 when stale. | |
2826
- | **file_write_request** | [**SfvbFileWriteRequest**](SfvbFileWriteRequest.md) | File content to write | |
2827
- | **path** | **String** | | [optional] |
3854
+ | **item_seo_request** | [**SfvbItemSeoRequest**](SfvbItemSeoRequest.md) | Search metadata to change | |
3855
+ | **merchant_item_id** | **String** | | [optional] |
3856
+ | **merchant_item_oid** | **Integer** | | [optional] |
2828
3857
 
2829
3858
  ### Return type
2830
3859
 
2831
- [**SfvbFileWriteResponse**](SfvbFileWriteResponse.md)
3860
+ [**SfvbItemResponse**](SfvbItemResponse.md)
2832
3861
 
2833
3862
  ### Authorization
2834
3863
 
@@ -3778,6 +4807,172 @@ end
3778
4807
  - **Accept**: application/json
3779
4808
 
3780
4809
 
4810
+ ## unarchive_sfvb_upsell_path
4811
+
4812
+ > <SfvbUpsellPath> unarchive_sfvb_upsell_path(storefront_oid, upsell_path_oid)
4813
+
4814
+ Unarchive an upsell path
4815
+
4816
+ Brings the path back into the default list. Unarchiving one that is switched on starts it, so that needs sfvb_publish.
4817
+
4818
+
4819
+ ### Examples
4820
+
4821
+
4822
+ (No example for this operation).
4823
+
4824
+
4825
+ #### Using the unarchive_sfvb_upsell_path_with_http_info variant
4826
+
4827
+ This returns an Array which contains the response data, status code and headers.
4828
+
4829
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> unarchive_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
4830
+
4831
+ ```ruby
4832
+ begin
4833
+ # Unarchive an upsell path
4834
+ data, status_code, headers = api_instance.unarchive_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
4835
+ p status_code # => 2xx
4836
+ p headers # => { ... }
4837
+ p data # => <SfvbUpsellPath>
4838
+ rescue UltracartClient::ApiError => e
4839
+ puts "Error when calling SfvbApi->unarchive_sfvb_upsell_path_with_http_info: #{e}"
4840
+ end
4841
+ ```
4842
+
4843
+ ### Parameters
4844
+
4845
+ | Name | Type | Description | Notes |
4846
+ | ---- | ---- | ----------- | ----- |
4847
+ | **storefront_oid** | **Integer** | | |
4848
+ | **upsell_path_oid** | **Integer** | | |
4849
+
4850
+ ### Return type
4851
+
4852
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
4853
+
4854
+ ### Authorization
4855
+
4856
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
4857
+
4858
+ ### HTTP request headers
4859
+
4860
+ - **Content-Type**: Not defined
4861
+ - **Accept**: application/json
4862
+
4863
+
4864
+ ## update_sfvb_upsell_offer
4865
+
4866
+ > <SfvbUpsellOffer> update_sfvb_upsell_offer(storefront_oid, upsell_offer_oid, if_match, upsell_offer)
4867
+
4868
+ Update an upsell offer
4869
+
4870
+ A full replace. Send back the whole offer you read, changed, with its hash_sha256 in If-Match. Read only fields are ignored and a writable field left out is cleared. Changing an offer that is switched on, switching one on, or changing upsell_item_id_javascript or offsite_content_url needs sfvb_publish. Settings the API does not show, such as the offer's screenshots, are kept.
4871
+
4872
+
4873
+ ### Examples
4874
+
4875
+
4876
+ (No example for this operation).
4877
+
4878
+
4879
+ #### Using the update_sfvb_upsell_offer_with_http_info variant
4880
+
4881
+ This returns an Array which contains the response data, status code and headers.
4882
+
4883
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> update_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid, if_match, upsell_offer)
4884
+
4885
+ ```ruby
4886
+ begin
4887
+ # Update an upsell offer
4888
+ data, status_code, headers = api_instance.update_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid, if_match, upsell_offer)
4889
+ p status_code # => 2xx
4890
+ p headers # => { ... }
4891
+ p data # => <SfvbUpsellOffer>
4892
+ rescue UltracartClient::ApiError => e
4893
+ puts "Error when calling SfvbApi->update_sfvb_upsell_offer_with_http_info: #{e}"
4894
+ end
4895
+ ```
4896
+
4897
+ ### Parameters
4898
+
4899
+ | Name | Type | Description | Notes |
4900
+ | ---- | ---- | ----------- | ----- |
4901
+ | **storefront_oid** | **Integer** | | |
4902
+ | **upsell_offer_oid** | **Integer** | | |
4903
+ | **if_match** | **String** | hash_sha256 from the last read. Required; 428 when absent, 412 when stale. | |
4904
+ | **upsell_offer** | [**SfvbUpsellOffer**](SfvbUpsellOffer.md) | The whole offer | |
4905
+
4906
+ ### Return type
4907
+
4908
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
4909
+
4910
+ ### Authorization
4911
+
4912
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
4913
+
4914
+ ### HTTP request headers
4915
+
4916
+ - **Content-Type**: application/json; charset=UTF-8
4917
+ - **Accept**: application/json
4918
+
4919
+
4920
+ ## update_sfvb_upsell_path
4921
+
4922
+ > <SfvbUpsellPath> update_sfvb_upsell_path(storefront_oid, upsell_path_oid, if_match, upsell_path)
4923
+
4924
+ Update an upsell path
4925
+
4926
+ A full replace. Send back the whole path you read, changed, with its hash_sha256 in If-Match. Read only fields are ignored and a writable field left out is cleared. Order and archived keep their stored values; change them with the move, archive and unarchive calls. Changing a running path, or switching one on, needs sfvb_publish.
4927
+
4928
+
4929
+ ### Examples
4930
+
4931
+
4932
+ (No example for this operation).
4933
+
4934
+
4935
+ #### Using the update_sfvb_upsell_path_with_http_info variant
4936
+
4937
+ This returns an Array which contains the response data, status code and headers.
4938
+
4939
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> update_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, if_match, upsell_path)
4940
+
4941
+ ```ruby
4942
+ begin
4943
+ # Update an upsell path
4944
+ data, status_code, headers = api_instance.update_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, if_match, upsell_path)
4945
+ p status_code # => 2xx
4946
+ p headers # => { ... }
4947
+ p data # => <SfvbUpsellPath>
4948
+ rescue UltracartClient::ApiError => e
4949
+ puts "Error when calling SfvbApi->update_sfvb_upsell_path_with_http_info: #{e}"
4950
+ end
4951
+ ```
4952
+
4953
+ ### Parameters
4954
+
4955
+ | Name | Type | Description | Notes |
4956
+ | ---- | ---- | ----------- | ----- |
4957
+ | **storefront_oid** | **Integer** | | |
4958
+ | **upsell_path_oid** | **Integer** | | |
4959
+ | **if_match** | **String** | hash_sha256 from the last read. Required; 428 when absent, 412 when stale. | |
4960
+ | **upsell_path** | [**SfvbUpsellPath**](SfvbUpsellPath.md) | The whole path | |
4961
+
4962
+ ### Return type
4963
+
4964
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
4965
+
4966
+ ### Authorization
4967
+
4968
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
4969
+
4970
+ ### HTTP request headers
4971
+
4972
+ - **Content-Type**: application/json; charset=UTF-8
4973
+ - **Accept**: application/json
4974
+
4975
+
3781
4976
  ## upload_sfvb_file
3782
4977
 
3783
4978
  > <SfvbFileWriteResponse> upload_sfvb_file(storefront_oid, file_upload_request, opts)