ultracart_api 4.1.170 → 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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +29 -2
  3. data/docs/SfvbApi.md +890 -37
  4. data/docs/SfvbPageResponse.md +2 -0
  5. data/docs/SfvbUpsellItemLogic.md +24 -0
  6. data/docs/SfvbUpsellItemLogicItem.md +22 -0
  7. data/docs/SfvbUpsellOffer.md +118 -8
  8. data/docs/SfvbUpsellPath.md +48 -0
  9. data/docs/SfvbUpsellPathDuplicateRequest.md +18 -0
  10. data/docs/SfvbUpsellPathMoveRequest.md +18 -0
  11. data/docs/SfvbUpsellPathsResponse.md +28 -0
  12. data/docs/SfvbUpsellStats.md +54 -0
  13. data/docs/SfvbUpsellStep.md +22 -0
  14. data/docs/SfvbUpsellStepOffer.md +32 -0
  15. data/docs/SfvbUpsellTowerData.md +20 -0
  16. data/docs/SfvbUpsellVariation.md +22 -0
  17. data/lib/ultracart_api/api/sfvb_api.rb +1256 -78
  18. data/lib/ultracart_api/models/sfvb_page_response.rb +11 -1
  19. data/lib/ultracart_api/models/sfvb_upsell_item_logic.rb +252 -0
  20. data/lib/ultracart_api/models/sfvb_upsell_item_logic_item.rb +240 -0
  21. data/lib/ultracart_api/models/sfvb_upsell_offer.rb +598 -9
  22. data/lib/ultracart_api/models/sfvb_upsell_path.rb +373 -0
  23. data/lib/ultracart_api/models/sfvb_upsell_path_duplicate_request.rb +220 -0
  24. data/lib/ultracart_api/models/sfvb_upsell_path_move_request.rb +220 -0
  25. data/lib/ultracart_api/models/sfvb_upsell_paths_response.rb +272 -0
  26. data/lib/ultracart_api/models/sfvb_upsell_stats.rb +400 -0
  27. data/lib/ultracart_api/models/sfvb_upsell_step.rb +241 -0
  28. data/lib/ultracart_api/models/sfvb_upsell_step_offer.rb +288 -0
  29. data/lib/ultracart_api/models/sfvb_upsell_tower_data.rb +234 -0
  30. data/lib/ultracart_api/models/sfvb_upsell_variation.rb +241 -0
  31. data/lib/ultracart_api/version.rb +1 -1
  32. data/lib/ultracart_api.rb +11 -0
  33. metadata +24 -2
data/docs/SfvbApi.md CHANGED
@@ -6,16 +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 |
13
15
  | [**delete_sfvb_item_multimedia**](SfvbApi.md#delete_sfvb_item_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/multimedia | Detach an image from an item |
14
16
  | [**delete_sfvb_page_multimedia**](SfvbApi.md#delete_sfvb_page_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Detach an image from a page |
15
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 |
16
20
  | [**download_sfvb_file**](SfvbApi.md#download_sfvb_file) | **GET** /sfvb/storefronts/{storefront_oid}/files/download | Read a storefront file's raw bytes |
17
21
  | [**duplicate_sfvb_page**](SfvbApi.md#duplicate_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages/duplicate | Copy a page to a new path |
18
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 |
19
25
  | [**end_sfvb_experiment**](SfvbApi.md#end_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/end | End an experiment |
20
26
  | [**get_sfvb_cjson_used_elements**](SfvbApi.md#get_sfvb_cjson_used_elements) | **POST** /sfvb/cjson/elements | Element types used by a container |
21
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 |
@@ -38,9 +44,13 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
38
44
  | [**get_sfvb_theme**](SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme |
39
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 |
40
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 |
41
49
  | [**get_sfvb_version**](SfvbApi.md#get_sfvb_version) | **GET** /sfvb/version | Compiler version for this merchant |
42
50
  | [**get_sfvb_whoami**](SfvbApi.md#get_sfvb_whoami) | **GET** /sfvb/whoami | Who this token is |
43
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 |
44
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 |
45
55
  | [**list_sfvb_blog_posts**](SfvbApi.md#list_sfvb_blog_posts) | **GET** /sfvb/storefronts/{storefront_oid}/blog_posts | List the storefront's blog posts |
46
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 |
@@ -54,6 +64,8 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
54
64
  | [**list_sfvb_templates**](SfvbApi.md#list_sfvb_templates) | **GET** /sfvb/storefronts/{storefront_oid}/templates | List the active theme's templates |
55
65
  | [**list_sfvb_themes**](SfvbApi.md#list_sfvb_themes) | **GET** /sfvb/storefronts/{storefront_oid}/themes | List themes for a storefront |
56
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 |
57
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 |
58
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 |
59
71
  | [**put_sfvb_file_content**](SfvbApi.md#put_sfvb_file_content) | **PUT** /sfvb/storefronts/{storefront_oid}/files/content | Write a storefront file |
@@ -78,6 +90,9 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
78
90
  | [**search_sfvb_files**](SfvbApi.md#search_sfvb_files) | **POST** /sfvb/storefronts/{storefront_oid}/files/search | Search storefront files |
79
91
  | [**search_sfvb_library**](SfvbApi.md#search_sfvb_library) | **GET** /sfvb/storefronts/{storefront_oid}/library | Search the element library |
80
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 |
81
96
  | [**upload_sfvb_file**](SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded |
82
97
  | [**validate_sfvb_cjson**](SfvbApi.md#validate_sfvb_cjson) | **POST** /sfvb/cjson/validate | Validate CJSON |
83
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 |
@@ -193,6 +208,60 @@ end
193
208
  - **Accept**: application/json
194
209
 
195
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
+
196
265
  ## compile_sfvb_cjson
197
266
 
198
267
  > <SfvbCompileResponse> compile_sfvb_cjson(compile_request)
@@ -408,6 +477,62 @@ nil (empty response body)
408
477
  - **Accept**: application/json
409
478
 
410
479
 
480
+ ## delete_sfvb_item_attribute
481
+
482
+ > <SfvbItemResponse> delete_sfvb_item_attribute(storefront_oid, name, opts)
483
+
484
+ Delete an attribute from an item
485
+
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.
487
+
488
+
489
+ ### Examples
490
+
491
+
492
+ (No example for this operation).
493
+
494
+
495
+ #### Using the delete_sfvb_item_attribute_with_http_info variant
496
+
497
+ This returns an Array which contains the response data, status code and headers.
498
+
499
+ > <Array(<SfvbItemResponse>, Integer, Hash)> delete_sfvb_item_attribute_with_http_info(storefront_oid, name, opts)
500
+
501
+ ```ruby
502
+ begin
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)
505
+ p status_code # => 2xx
506
+ p headers # => { ... }
507
+ p data # => <SfvbItemResponse>
508
+ rescue UltracartClient::ApiError => e
509
+ puts "Error when calling SfvbApi->delete_sfvb_item_attribute_with_http_info: #{e}"
510
+ end
511
+ ```
512
+
513
+ ### Parameters
514
+
515
+ | Name | Type | Description | Notes |
516
+ | ---- | ---- | ----------- | ----- |
517
+ | **storefront_oid** | **Integer** | | |
518
+ | **name** | **String** | The attribute name, matched without regard to case | |
519
+ | **merchant_item_id** | **String** | | [optional] |
520
+ | **merchant_item_oid** | **Integer** | | [optional] |
521
+
522
+ ### Return type
523
+
524
+ [**SfvbItemResponse**](SfvbItemResponse.md)
525
+
526
+ ### Authorization
527
+
528
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
529
+
530
+ ### HTTP request headers
531
+
532
+ - **Content-Type**: Not defined
533
+ - **Accept**: application/json
534
+
535
+
411
536
  ## delete_sfvb_item_multimedia
412
537
 
413
538
  > <SfvbItemResponse> delete_sfvb_item_multimedia(storefront_oid, opts)
@@ -575,6 +700,114 @@ nil (empty response body)
575
700
  - **Accept**: application/json
576
701
 
577
702
 
703
+ ## disable_sfvb_upsell_offer
704
+
705
+ > <SfvbUpsellOffer> disable_sfvb_upsell_offer(storefront_oid, upsell_offer_oid)
706
+
707
+ Disable an upsell offer
708
+
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.
710
+
711
+
712
+ ### Examples
713
+
714
+
715
+ (No example for this operation).
716
+
717
+
718
+ #### Using the disable_sfvb_upsell_offer_with_http_info variant
719
+
720
+ This returns an Array which contains the response data, status code and headers.
721
+
722
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> disable_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
723
+
724
+ ```ruby
725
+ begin
726
+ # Disable an upsell offer
727
+ data, status_code, headers = api_instance.disable_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
728
+ p status_code # => 2xx
729
+ p headers # => { ... }
730
+ p data # => <SfvbUpsellOffer>
731
+ rescue UltracartClient::ApiError => e
732
+ puts "Error when calling SfvbApi->disable_sfvb_upsell_offer_with_http_info: #{e}"
733
+ end
734
+ ```
735
+
736
+ ### Parameters
737
+
738
+ | Name | Type | Description | Notes |
739
+ | ---- | ---- | ----------- | ----- |
740
+ | **storefront_oid** | **Integer** | | |
741
+ | **upsell_offer_oid** | **Integer** | | |
742
+
743
+ ### Return type
744
+
745
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
746
+
747
+ ### Authorization
748
+
749
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
750
+
751
+ ### HTTP request headers
752
+
753
+ - **Content-Type**: Not defined
754
+ - **Accept**: application/json
755
+
756
+
757
+ ## disable_sfvb_upsell_path
758
+
759
+ > <SfvbUpsellPath> disable_sfvb_upsell_path(storefront_oid, upsell_path_oid)
760
+
761
+ Disable an upsell path
762
+
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.
764
+
765
+
766
+ ### Examples
767
+
768
+
769
+ (No example for this operation).
770
+
771
+
772
+ #### Using the disable_sfvb_upsell_path_with_http_info variant
773
+
774
+ This returns an Array which contains the response data, status code and headers.
775
+
776
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> disable_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
777
+
778
+ ```ruby
779
+ begin
780
+ # Disable an upsell path
781
+ data, status_code, headers = api_instance.disable_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid)
782
+ p status_code # => 2xx
783
+ p headers # => { ... }
784
+ p data # => <SfvbUpsellPath>
785
+ rescue UltracartClient::ApiError => e
786
+ puts "Error when calling SfvbApi->disable_sfvb_upsell_path_with_http_info: #{e}"
787
+ end
788
+ ```
789
+
790
+ ### Parameters
791
+
792
+ | Name | Type | Description | Notes |
793
+ | ---- | ---- | ----------- | ----- |
794
+ | **storefront_oid** | **Integer** | | |
795
+ | **upsell_path_oid** | **Integer** | | |
796
+
797
+ ### Return type
798
+
799
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
800
+
801
+ ### Authorization
802
+
803
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
804
+
805
+ ### HTTP request headers
806
+
807
+ - **Content-Type**: Not defined
808
+ - **Accept**: application/json
809
+
810
+
578
811
  ## download_sfvb_file
579
812
 
580
813
  > download_sfvb_file(storefront_oid, opts)
@@ -738,6 +971,115 @@ end
738
971
  - **Accept**: application/json
739
972
 
740
973
 
974
+ ## duplicate_sfvb_upsell_offer
975
+
976
+ > <SfvbUpsellOffer> duplicate_sfvb_upsell_offer(storefront_oid, upsell_offer_oid)
977
+
978
+ Duplicate an upsell offer
979
+
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.
981
+
982
+
983
+ ### Examples
984
+
985
+
986
+ (No example for this operation).
987
+
988
+
989
+ #### Using the duplicate_sfvb_upsell_offer_with_http_info variant
990
+
991
+ This returns an Array which contains the response data, status code and headers.
992
+
993
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> duplicate_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
994
+
995
+ ```ruby
996
+ begin
997
+ # Duplicate an upsell offer
998
+ data, status_code, headers = api_instance.duplicate_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid)
999
+ p status_code # => 2xx
1000
+ p headers # => { ... }
1001
+ p data # => <SfvbUpsellOffer>
1002
+ rescue UltracartClient::ApiError => e
1003
+ puts "Error when calling SfvbApi->duplicate_sfvb_upsell_offer_with_http_info: #{e}"
1004
+ end
1005
+ ```
1006
+
1007
+ ### Parameters
1008
+
1009
+ | Name | Type | Description | Notes |
1010
+ | ---- | ---- | ----------- | ----- |
1011
+ | **storefront_oid** | **Integer** | | |
1012
+ | **upsell_offer_oid** | **Integer** | | |
1013
+
1014
+ ### Return type
1015
+
1016
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
1017
+
1018
+ ### Authorization
1019
+
1020
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1021
+
1022
+ ### HTTP request headers
1023
+
1024
+ - **Content-Type**: Not defined
1025
+ - **Accept**: application/json
1026
+
1027
+
1028
+ ## duplicate_sfvb_upsell_path
1029
+
1030
+ > <SfvbUpsellPath> duplicate_sfvb_upsell_path(storefront_oid, upsell_path_oid, opts)
1031
+
1032
+ Duplicate an upsell path or one of its variations
1033
+
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.
1035
+
1036
+
1037
+ ### Examples
1038
+
1039
+
1040
+ (No example for this operation).
1041
+
1042
+
1043
+ #### Using the duplicate_sfvb_upsell_path_with_http_info variant
1044
+
1045
+ This returns an Array which contains the response data, status code and headers.
1046
+
1047
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> duplicate_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
1048
+
1049
+ ```ruby
1050
+ begin
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)
1053
+ p status_code # => 2xx
1054
+ p headers # => { ... }
1055
+ p data # => <SfvbUpsellPath>
1056
+ rescue UltracartClient::ApiError => e
1057
+ puts "Error when calling SfvbApi->duplicate_sfvb_upsell_path_with_http_info: #{e}"
1058
+ end
1059
+ ```
1060
+
1061
+ ### Parameters
1062
+
1063
+ | Name | Type | Description | Notes |
1064
+ | ---- | ---- | ----------- | ----- |
1065
+ | **storefront_oid** | **Integer** | | |
1066
+ | **upsell_path_oid** | **Integer** | | |
1067
+ | **duplicate_request** | [**SfvbUpsellPathDuplicateRequest**](SfvbUpsellPathDuplicateRequest.md) | What to duplicate | [optional] |
1068
+
1069
+ ### Return type
1070
+
1071
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
1072
+
1073
+ ### Authorization
1074
+
1075
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1076
+
1077
+ ### HTTP request headers
1078
+
1079
+ - **Content-Type**: application/json; charset=UTF-8
1080
+ - **Accept**: application/json
1081
+
1082
+
741
1083
  ## end_sfvb_experiment
742
1084
 
743
1085
  > <SfvbExperiment> end_sfvb_experiment(storefront_oid, experiment_oid, opts)
@@ -1927,6 +2269,122 @@ end
1927
2269
  - **Accept**: application/json
1928
2270
 
1929
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
+
1930
2388
  ## get_sfvb_version
1931
2389
 
1932
2390
  > <SfvbVersionResponse> get_sfvb_version
@@ -1950,23 +2408,128 @@ This returns an Array which contains the response data, status code and headers.
1950
2408
 
1951
2409
  ```ruby
1952
2410
  begin
1953
- # Compiler version for this merchant
1954
- data, status_code, headers = api_instance.get_sfvb_version_with_http_info
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)
1955
2515
  p status_code # => 2xx
1956
2516
  p headers # => { ... }
1957
- p data # => <SfvbVersionResponse>
2517
+ p data # => <SfvbPageResponse>
1958
2518
  rescue UltracartClient::ApiError => e
1959
- puts "Error when calling SfvbApi->get_sfvb_version_with_http_info: #{e}"
2519
+ puts "Error when calling SfvbApi->insert_sfvb_page_with_http_info: #{e}"
1960
2520
  end
1961
2521
  ```
1962
2522
 
1963
2523
  ### Parameters
1964
2524
 
1965
- This endpoint does not need any parameter.
2525
+ | Name | Type | Description | Notes |
2526
+ | ---- | ---- | ----------- | ----- |
2527
+ | **storefront_oid** | **Integer** | | |
2528
+ | **page_create_request** | [**SfvbPageCreateRequest**](SfvbPageCreateRequest.md) | The page to create | |
1966
2529
 
1967
2530
  ### Return type
1968
2531
 
1969
- [**SfvbVersionResponse**](SfvbVersionResponse.md)
2532
+ [**SfvbPageResponse**](SfvbPageResponse.md)
1970
2533
 
1971
2534
  ### Authorization
1972
2535
 
@@ -1974,17 +2537,17 @@ This endpoint does not need any parameter.
1974
2537
 
1975
2538
  ### HTTP request headers
1976
2539
 
1977
- - **Content-Type**: Not defined
2540
+ - **Content-Type**: application/json; charset=UTF-8
1978
2541
  - **Accept**: application/json
1979
2542
 
1980
2543
 
1981
- ## get_sfvb_whoami
2544
+ ## insert_sfvb_upsell_offer
1982
2545
 
1983
- > <SfvbWhoamiResponse> get_sfvb_whoami
2546
+ > <SfvbUpsellOffer> insert_sfvb_upsell_offer(storefront_oid, upsell_offer)
1984
2547
 
1985
- Who this token is
2548
+ Create an upsell offer
1986
2549
 
1987
- 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.
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.
1988
2551
 
1989
2552
 
1990
2553
  ### Examples
@@ -1993,31 +2556,34 @@ Returns the merchant, user, granted scopes and reachable storefronts for the cal
1993
2556
  (No example for this operation).
1994
2557
 
1995
2558
 
1996
- #### Using the get_sfvb_whoami_with_http_info variant
2559
+ #### Using the insert_sfvb_upsell_offer_with_http_info variant
1997
2560
 
1998
2561
  This returns an Array which contains the response data, status code and headers.
1999
2562
 
2000
- > <Array(<SfvbWhoamiResponse>, Integer, Hash)> get_sfvb_whoami_with_http_info
2563
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> insert_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer)
2001
2564
 
2002
2565
  ```ruby
2003
2566
  begin
2004
- # Who this token is
2005
- data, status_code, headers = api_instance.get_sfvb_whoami_with_http_info
2567
+ # Create an upsell offer
2568
+ data, status_code, headers = api_instance.insert_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer)
2006
2569
  p status_code # => 2xx
2007
2570
  p headers # => { ... }
2008
- p data # => <SfvbWhoamiResponse>
2571
+ p data # => <SfvbUpsellOffer>
2009
2572
  rescue UltracartClient::ApiError => e
2010
- puts "Error when calling SfvbApi->get_sfvb_whoami_with_http_info: #{e}"
2573
+ puts "Error when calling SfvbApi->insert_sfvb_upsell_offer_with_http_info: #{e}"
2011
2574
  end
2012
2575
  ```
2013
2576
 
2014
2577
  ### Parameters
2015
2578
 
2016
- This endpoint does not need any parameter.
2579
+ | Name | Type | Description | Notes |
2580
+ | ---- | ---- | ----------- | ----- |
2581
+ | **storefront_oid** | **Integer** | | |
2582
+ | **upsell_offer** | [**SfvbUpsellOffer**](SfvbUpsellOffer.md) | The offer to create | |
2017
2583
 
2018
2584
  ### Return type
2019
2585
 
2020
- [**SfvbWhoamiResponse**](SfvbWhoamiResponse.md)
2586
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
2021
2587
 
2022
2588
  ### Authorization
2023
2589
 
@@ -2025,17 +2591,17 @@ This endpoint does not need any parameter.
2025
2591
 
2026
2592
  ### HTTP request headers
2027
2593
 
2028
- - **Content-Type**: Not defined
2594
+ - **Content-Type**: application/json; charset=UTF-8
2029
2595
  - **Accept**: application/json
2030
2596
 
2031
2597
 
2032
- ## insert_sfvb_page
2598
+ ## insert_sfvb_upsell_path
2033
2599
 
2034
- > <SfvbPageResponse> insert_sfvb_page(storefront_oid, page_create_request)
2600
+ > <SfvbUpsellPath> insert_sfvb_upsell_path(storefront_oid, upsell_path)
2035
2601
 
2036
- Create a page
2602
+ Create an upsell path
2037
2603
 
2038
- 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.
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.
2039
2605
 
2040
2606
 
2041
2607
  ### Examples
@@ -2044,21 +2610,21 @@ Creates the page and its folder, the way the store admin's add page does. The p
2044
2610
  (No example for this operation).
2045
2611
 
2046
2612
 
2047
- #### Using the insert_sfvb_page_with_http_info variant
2613
+ #### Using the insert_sfvb_upsell_path_with_http_info variant
2048
2614
 
2049
2615
  This returns an Array which contains the response data, status code and headers.
2050
2616
 
2051
- > <Array(<SfvbPageResponse>, Integer, Hash)> insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
2617
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> insert_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path)
2052
2618
 
2053
2619
  ```ruby
2054
2620
  begin
2055
- # Create a page
2056
- data, status_code, headers = api_instance.insert_sfvb_page_with_http_info(storefront_oid, page_create_request)
2621
+ # Create an upsell path
2622
+ data, status_code, headers = api_instance.insert_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path)
2057
2623
  p status_code # => 2xx
2058
2624
  p headers # => { ... }
2059
- p data # => <SfvbPageResponse>
2625
+ p data # => <SfvbUpsellPath>
2060
2626
  rescue UltracartClient::ApiError => e
2061
- puts "Error when calling SfvbApi->insert_sfvb_page_with_http_info: #{e}"
2627
+ puts "Error when calling SfvbApi->insert_sfvb_upsell_path_with_http_info: #{e}"
2062
2628
  end
2063
2629
  ```
2064
2630
 
@@ -2067,11 +2633,11 @@ end
2067
2633
  | Name | Type | Description | Notes |
2068
2634
  | ---- | ---- | ----------- | ----- |
2069
2635
  | **storefront_oid** | **Integer** | | |
2070
- | **page_create_request** | [**SfvbPageCreateRequest**](SfvbPageCreateRequest.md) | The page to create | |
2636
+ | **upsell_path** | [**SfvbUpsellPath**](SfvbUpsellPath.md) | The path to create | |
2071
2637
 
2072
2638
  ### Return type
2073
2639
 
2074
- [**SfvbPageResponse**](SfvbPageResponse.md)
2640
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
2075
2641
 
2076
2642
  ### Authorization
2077
2643
 
@@ -2737,11 +3303,11 @@ end
2737
3303
 
2738
3304
  ## list_sfvb_upsell_offers
2739
3305
 
2740
- > <SfvbUpsellOffersResponse> list_sfvb_upsell_offers(storefront_oid)
3306
+ > <SfvbUpsellOffersResponse> list_sfvb_upsell_offers(storefront_oid, opts)
2741
3307
 
2742
3308
  List upsell offers
2743
3309
 
2744
- 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.
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.
2745
3311
 
2746
3312
 
2747
3313
  ### Examples
@@ -2754,12 +3320,12 @@ Without container JSON, so the funnel can be surveyed cheaply. A large containe
2754
3320
 
2755
3321
  This returns an Array which contains the response data, status code and headers.
2756
3322
 
2757
- > <Array(<SfvbUpsellOffersResponse>, Integer, Hash)> list_sfvb_upsell_offers_with_http_info(storefront_oid)
3323
+ > <Array(<SfvbUpsellOffersResponse>, Integer, Hash)> list_sfvb_upsell_offers_with_http_info(storefront_oid, opts)
2758
3324
 
2759
3325
  ```ruby
2760
3326
  begin
2761
3327
  # List upsell offers
2762
- data, status_code, headers = api_instance.list_sfvb_upsell_offers_with_http_info(storefront_oid)
3328
+ data, status_code, headers = api_instance.list_sfvb_upsell_offers_with_http_info(storefront_oid, opts)
2763
3329
  p status_code # => 2xx
2764
3330
  p headers # => { ... }
2765
3331
  p data # => <SfvbUpsellOffersResponse>
@@ -2773,6 +3339,10 @@ end
2773
3339
  | Name | Type | Description | Notes |
2774
3340
  | ---- | ---- | ----------- | ----- |
2775
3341
  | **storefront_oid** | **Integer** | | |
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] |
2776
3346
 
2777
3347
  ### Return type
2778
3348
 
@@ -2788,6 +3358,123 @@ end
2788
3358
  - **Accept**: application/json
2789
3359
 
2790
3360
 
3361
+ ## list_sfvb_upsell_paths
3362
+
3363
+ > <SfvbUpsellPathsResponse> list_sfvb_upsell_paths(storefront_oid, opts)
3364
+
3365
+ List upsell paths
3366
+
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.
3368
+
3369
+
3370
+ ### Examples
3371
+
3372
+
3373
+ (No example for this operation).
3374
+
3375
+
3376
+ #### Using the list_sfvb_upsell_paths_with_http_info variant
3377
+
3378
+ This returns an Array which contains the response data, status code and headers.
3379
+
3380
+ > <Array(<SfvbUpsellPathsResponse>, Integer, Hash)> list_sfvb_upsell_paths_with_http_info(storefront_oid, opts)
3381
+
3382
+ ```ruby
3383
+ begin
3384
+ # List upsell paths
3385
+ data, status_code, headers = api_instance.list_sfvb_upsell_paths_with_http_info(storefront_oid, opts)
3386
+ p status_code # => 2xx
3387
+ p headers # => { ... }
3388
+ p data # => <SfvbUpsellPathsResponse>
3389
+ rescue UltracartClient::ApiError => e
3390
+ puts "Error when calling SfvbApi->list_sfvb_upsell_paths_with_http_info: #{e}"
3391
+ end
3392
+ ```
3393
+
3394
+ ### Parameters
3395
+
3396
+ | Name | Type | Description | Notes |
3397
+ | ---- | ---- | ----------- | ----- |
3398
+ | **storefront_oid** | **Integer** | | |
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] |
3408
+
3409
+ ### Return type
3410
+
3411
+ [**SfvbUpsellPathsResponse**](SfvbUpsellPathsResponse.md)
3412
+
3413
+ ### Authorization
3414
+
3415
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3416
+
3417
+ ### HTTP request headers
3418
+
3419
+ - **Content-Type**: Not defined
3420
+ - **Accept**: application/json
3421
+
3422
+
3423
+ ## move_sfvb_upsell_path
3424
+
3425
+ > <SfvbUpsellPath> move_sfvb_upsell_path(storefront_oid, upsell_path_oid, move_request)
3426
+
3427
+ Move an upsell path
3428
+
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.
3430
+
3431
+
3432
+ ### Examples
3433
+
3434
+
3435
+ (No example for this operation).
3436
+
3437
+
3438
+ #### Using the move_sfvb_upsell_path_with_http_info variant
3439
+
3440
+ This returns an Array which contains the response data, status code and headers.
3441
+
3442
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> move_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, move_request)
3443
+
3444
+ ```ruby
3445
+ begin
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)
3448
+ p status_code # => 2xx
3449
+ p headers # => { ... }
3450
+ p data # => <SfvbUpsellPath>
3451
+ rescue UltracartClient::ApiError => e
3452
+ puts "Error when calling SfvbApi->move_sfvb_upsell_path_with_http_info: #{e}"
3453
+ end
3454
+ ```
3455
+
3456
+ ### Parameters
3457
+
3458
+ | Name | Type | Description | Notes |
3459
+ | ---- | ---- | ----------- | ----- |
3460
+ | **storefront_oid** | **Integer** | | |
3461
+ | **upsell_path_oid** | **Integer** | | |
3462
+ | **move_request** | [**SfvbUpsellPathMoveRequest**](SfvbUpsellPathMoveRequest.md) | Where to move it | |
3463
+
3464
+ ### Return type
3465
+
3466
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
3467
+
3468
+ ### Authorization
3469
+
3470
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3471
+
3472
+ ### HTTP request headers
3473
+
3474
+ - **Content-Type**: application/json; charset=UTF-8
3475
+ - **Accept**: application/json
3476
+
3477
+
2791
3478
  ## put_sfvb_container
2792
3479
 
2793
3480
  > <SfvbContainerResponse> put_sfvb_container(storefront_oid, owner_type, owner_object_id, if_match, container_write_request, opts)
@@ -2964,7 +3651,7 @@ end
2964
3651
 
2965
3652
  Change some of an item's attributes
2966
3653
 
2967
- Partial - only the attributes named change, and an empty value clears one. 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.
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.
2968
3655
 
2969
3656
 
2970
3657
  ### Examples
@@ -4120,6 +4807,172 @@ end
4120
4807
  - **Accept**: application/json
4121
4808
 
4122
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
+
4123
4976
  ## upload_sfvb_file
4124
4977
 
4125
4978
  > <SfvbFileWriteResponse> upload_sfvb_file(storefront_oid, file_upload_request, opts)