ultracart_api 4.1.155 → 4.1.156

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 24314cf0f18fc69b1c86c36bf3286ae46d625958a18800271a20d225ec797a9c
4
- data.tar.gz: 03da8af5d356bdbe3d03ca56057f38a03deff2b2fe2a9cbe038666eb6a0cee54
3
+ metadata.gz: 4eb86992bc479fd054fc72958e6622d59bd4cb72f2dbb13f7db9e69ef2517e0e
4
+ data.tar.gz: bf9953831d56669b3c62cf555be9631ec74e78bae97a83e0cbc5f67397ac8d1c
5
5
  SHA512:
6
- metadata.gz: 2a3f15bff02873f539363351665d678ee06534356f44851f5415ac69c71212c2a15f71a4715d540d5894311392183c2ad2b10d0dcb2ebbb7e50d941ae74f7491
7
- data.tar.gz: f081572ef243c7c9690a7bc235763ae4249dc602005d36000326ff24d184ee7cda5e52f35297326149c3c951484e317ed2cdd52b4a60d86e63d2b9ccb39d5ce4
6
+ metadata.gz: d28e46f9455289b3b14ae48c7a4dbe5494208704671bbd17fd9ebf11c2a31ca18ce8d2249967b0c9ee9aa4411d30eecf5e8bcd2209f0bac4a27dd808d30be23c
7
+ data.tar.gz: 5292805e1e2d9213267e48623ed2fdba79e332dfcfd3b9cf7ab91b082b8f6f7cdd4bb167d8becfc655499b84c857a40f48aa7467cb07f2a77cd9bb73293d4484
data/README.md CHANGED
@@ -7,7 +7,7 @@ Note: Every method has a sample for every language. See https://github.com/Ultr
7
7
  This SDK is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
8
8
 
9
9
  - API version: 2.0.0
10
- - Package version: 4.1.155
10
+ - Package version: 4.1.156
11
11
  - Build package: org.openapitools.codegen.languages.RubyClientCodegen
12
12
  - For more information, please visit [http://www.ultracart.com/api/](http://www.ultracart.com/api/)
13
13
 
@@ -16,7 +16,7 @@ This SDK is automatically generated by the [OpenAPI Generator](https://openapi-g
16
16
  gemfile:
17
17
 
18
18
  ```shell
19
- gem 'ultracart_api', '4.1.155'
19
+ gem 'ultracart_api', '4.1.156'
20
20
  ```
21
21
 
22
22
  install:
@@ -487,6 +487,8 @@ Class | Method | HTTP request | Description
487
487
  *UltracartClient::SfvbApi* | [**get_sfvb_file_content**](docs/SfvbApi.md#get_sfvb_file_content) | **GET** /sfvb/storefronts/{storefront_oid}/files/content | Read a storefront file
488
488
  *UltracartClient::SfvbApi* | [**get_sfvb_file_upload_url**](docs/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
489
489
  *UltracartClient::SfvbApi* | [**get_sfvb_library_entry**](docs/SfvbApi.md#get_sfvb_library_entry) | **GET** /sfvb/storefronts/{storefront_oid}/library/{library_oid} | Read one library entry including its CJSON
490
+ *UltracartClient::SfvbApi* | [**get_sfvb_menu**](docs/SfvbApi.md#get_sfvb_menu) | **GET** /sfvb/storefronts/{storefront_oid}/menus/{code} | Read one store menu and its entries
491
+ *UltracartClient::SfvbApi* | [**get_sfvb_menus**](docs/SfvbApi.md#get_sfvb_menus) | **GET** /sfvb/storefronts/{storefront_oid}/menus | List a storefront's store menus
490
492
  *UltracartClient::SfvbApi* | [**get_sfvb_page**](docs/SfvbApi.md#get_sfvb_page) | **GET** /sfvb/storefronts/{storefront_oid}/pages | Read a page's attributes and images
491
493
  *UltracartClient::SfvbApi* | [**get_sfvb_preview_url**](docs/SfvbApi.md#get_sfvb_preview_url) | **GET** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id}/url | URL that renders a preview session
492
494
  *UltracartClient::SfvbApi* | [**get_sfvb_theme**](docs/SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme
@@ -504,6 +506,7 @@ Class | Method | HTTP request | Description
504
506
  *UltracartClient::SfvbApi* | [**list_sfvb_upsell_offers**](docs/SfvbApi.md#list_sfvb_upsell_offers) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_offers | List upsell offers
505
507
  *UltracartClient::SfvbApi* | [**put_sfvb_container**](docs/SfvbApi.md#put_sfvb_container) | **PUT** /sfvb/storefronts/{storefront_oid}/containers/{owner_type}/{owner_object_id} | Write a container stored outside the file system
506
508
  *UltracartClient::SfvbApi* | [**put_sfvb_file_content**](docs/SfvbApi.md#put_sfvb_file_content) | **PUT** /sfvb/storefronts/{storefront_oid}/files/content | Write a storefront file
509
+ *UltracartClient::SfvbApi* | [**put_sfvb_menu**](docs/SfvbApi.md#put_sfvb_menu) | **PUT** /sfvb/storefronts/{storefront_oid}/menus/{code} | Replace a store menu's entries
507
510
  *UltracartClient::SfvbApi* | [**put_sfvb_page_attributes**](docs/SfvbApi.md#put_sfvb_page_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/attributes | Change a page's attributes
508
511
  *UltracartClient::SfvbApi* | [**put_sfvb_page_multimedia**](docs/SfvbApi.md#put_sfvb_page_multimedia) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Attach an image to a page
509
512
  *UltracartClient::SfvbApi* | [**put_sfvb_preview_session**](docs/SfvbApi.md#put_sfvb_preview_session) | **PUT** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Push containers into a preview session
@@ -1759,6 +1762,10 @@ Class | Method | HTTP request | Description
1759
1762
  - [UltracartClient::SfvbLibraryEntry](docs/SfvbLibraryEntry.md)
1760
1763
  - [UltracartClient::SfvbLibraryFacet](docs/SfvbLibraryFacet.md)
1761
1764
  - [UltracartClient::SfvbLibraryResponse](docs/SfvbLibraryResponse.md)
1765
+ - [UltracartClient::SfvbMenu](docs/SfvbMenu.md)
1766
+ - [UltracartClient::SfvbMenuItem](docs/SfvbMenuItem.md)
1767
+ - [UltracartClient::SfvbMenuWriteRequest](docs/SfvbMenuWriteRequest.md)
1768
+ - [UltracartClient::SfvbMenusResponse](docs/SfvbMenusResponse.md)
1762
1769
  - [UltracartClient::SfvbPageAttribute](docs/SfvbPageAttribute.md)
1763
1770
  - [UltracartClient::SfvbPageAttributeUpdate](docs/SfvbPageAttributeUpdate.md)
1764
1771
  - [UltracartClient::SfvbPageAttributeUpdateRequest](docs/SfvbPageAttributeUpdateRequest.md)
@@ -1955,6 +1962,7 @@ Not every change is committed to every SDK.
1955
1962
 
1956
1963
  | Version | Date | Comments |
1957
1964
  | --: | :-: | --- |
1965
+ | 4.1.156 | 09/16/2026 | sfvb internal testing |
1958
1966
  | 4.1.155 | 09/15/2026 | sfvb internal testing |
1959
1967
  | 4.1.154 | 09/14/2026 | sfvb internal testing |
1960
1968
  | 4.1.153 | 09/14/2026 | sfvb internal testing |
data/docs/SfvbApi.md CHANGED
@@ -19,6 +19,8 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
19
19
  | [**get_sfvb_file_content**](SfvbApi.md#get_sfvb_file_content) | **GET** /sfvb/storefronts/{storefront_oid}/files/content | Read a storefront file |
20
20
  | [**get_sfvb_file_upload_url**](SfvbApi.md#get_sfvb_file_upload_url) | **GET** /sfvb/storefronts/{storefront_oid}/files/upload_url/{extension} | Get a URL to upload a binary asset to |
21
21
  | [**get_sfvb_library_entry**](SfvbApi.md#get_sfvb_library_entry) | **GET** /sfvb/storefronts/{storefront_oid}/library/{library_oid} | Read one library entry including its CJSON |
22
+ | [**get_sfvb_menu**](SfvbApi.md#get_sfvb_menu) | **GET** /sfvb/storefronts/{storefront_oid}/menus/{code} | Read one store menu and its entries |
23
+ | [**get_sfvb_menus**](SfvbApi.md#get_sfvb_menus) | **GET** /sfvb/storefronts/{storefront_oid}/menus | List a storefront's store menus |
22
24
  | [**get_sfvb_page**](SfvbApi.md#get_sfvb_page) | **GET** /sfvb/storefronts/{storefront_oid}/pages | Read a page's attributes and images |
23
25
  | [**get_sfvb_preview_url**](SfvbApi.md#get_sfvb_preview_url) | **GET** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id}/url | URL that renders a preview session |
24
26
  | [**get_sfvb_theme**](SfvbApi.md#get_sfvb_theme) | **GET** /sfvb/storefronts/{storefront_oid}/themes/{theme_oid} | Get a theme |
@@ -36,6 +38,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
36
38
  | [**list_sfvb_upsell_offers**](SfvbApi.md#list_sfvb_upsell_offers) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_offers | List upsell offers |
37
39
  | [**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 |
38
40
  | [**put_sfvb_file_content**](SfvbApi.md#put_sfvb_file_content) | **PUT** /sfvb/storefronts/{storefront_oid}/files/content | Write a storefront file |
41
+ | [**put_sfvb_menu**](SfvbApi.md#put_sfvb_menu) | **PUT** /sfvb/storefronts/{storefront_oid}/menus/{code} | Replace a store menu's entries |
39
42
  | [**put_sfvb_page_attributes**](SfvbApi.md#put_sfvb_page_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/attributes | Change a page's attributes |
40
43
  | [**put_sfvb_page_multimedia**](SfvbApi.md#put_sfvb_page_multimedia) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Attach an image to a page |
41
44
  | [**put_sfvb_preview_session**](SfvbApi.md#put_sfvb_preview_session) | **PUT** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Push containers into a preview session |
@@ -865,6 +868,113 @@ end
865
868
  - **Accept**: application/json
866
869
 
867
870
 
871
+ ## get_sfvb_menu
872
+
873
+ > <SfvbMenu> get_sfvb_menu(storefront_oid, code)
874
+
875
+ Read one store menu and its entries
876
+
877
+ 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.
878
+
879
+
880
+ ### Examples
881
+
882
+
883
+ (No example for this operation).
884
+
885
+
886
+ #### Using the get_sfvb_menu_with_http_info variant
887
+
888
+ This returns an Array which contains the response data, status code and headers.
889
+
890
+ > <Array(<SfvbMenu>, Integer, Hash)> get_sfvb_menu_with_http_info(storefront_oid, code)
891
+
892
+ ```ruby
893
+ begin
894
+ # Read one store menu and its entries
895
+ data, status_code, headers = api_instance.get_sfvb_menu_with_http_info(storefront_oid, code)
896
+ p status_code # => 2xx
897
+ p headers # => { ... }
898
+ p data # => <SfvbMenu>
899
+ rescue UltracartClient::ApiError => e
900
+ puts "Error when calling SfvbApi->get_sfvb_menu_with_http_info: #{e}"
901
+ end
902
+ ```
903
+
904
+ ### Parameters
905
+
906
+ | Name | Type | Description | Notes |
907
+ | ---- | ---- | ----------- | ----- |
908
+ | **storefront_oid** | **Integer** | | |
909
+ | **code** | **String** | Menu code, matched without regard to case | |
910
+
911
+ ### Return type
912
+
913
+ [**SfvbMenu**](SfvbMenu.md)
914
+
915
+ ### Authorization
916
+
917
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
918
+
919
+ ### HTTP request headers
920
+
921
+ - **Content-Type**: Not defined
922
+ - **Accept**: application/json
923
+
924
+
925
+ ## get_sfvb_menus
926
+
927
+ > <SfvbMenusResponse> get_sfvb_menus(storefront_oid)
928
+
929
+ List a storefront's store menus
930
+
931
+ 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.
932
+
933
+
934
+ ### Examples
935
+
936
+
937
+ (No example for this operation).
938
+
939
+
940
+ #### Using the get_sfvb_menus_with_http_info variant
941
+
942
+ This returns an Array which contains the response data, status code and headers.
943
+
944
+ > <Array(<SfvbMenusResponse>, Integer, Hash)> get_sfvb_menus_with_http_info(storefront_oid)
945
+
946
+ ```ruby
947
+ begin
948
+ # List a storefront's store menus
949
+ data, status_code, headers = api_instance.get_sfvb_menus_with_http_info(storefront_oid)
950
+ p status_code # => 2xx
951
+ p headers # => { ... }
952
+ p data # => <SfvbMenusResponse>
953
+ rescue UltracartClient::ApiError => e
954
+ puts "Error when calling SfvbApi->get_sfvb_menus_with_http_info: #{e}"
955
+ end
956
+ ```
957
+
958
+ ### Parameters
959
+
960
+ | Name | Type | Description | Notes |
961
+ | ---- | ---- | ----------- | ----- |
962
+ | **storefront_oid** | **Integer** | | |
963
+
964
+ ### Return type
965
+
966
+ [**SfvbMenusResponse**](SfvbMenusResponse.md)
967
+
968
+ ### Authorization
969
+
970
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
971
+
972
+ ### HTTP request headers
973
+
974
+ - **Content-Type**: Not defined
975
+ - **Accept**: application/json
976
+
977
+
868
978
  ## get_sfvb_page
869
979
 
870
980
  > <SfvbPageResponse> get_sfvb_page(storefront_oid, path)
@@ -1775,6 +1885,62 @@ end
1775
1885
  - **Accept**: application/json
1776
1886
 
1777
1887
 
1888
+ ## put_sfvb_menu
1889
+
1890
+ > <SfvbMenu> put_sfvb_menu(storefront_oid, code, menu_write_request, opts)
1891
+
1892
+ Replace a store menu's entries
1893
+
1894
+ A whole menu replace, not a merge - what you send is what the menu holds afterwards, so read it, change the tree and send it back. Omitting items changes only the title; sending an empty array empties the menu. Writing a code that does not exist creates it. Every entry is checked before any of it is written, including that a merchant_item_id and a page_path actually resolve, so a tree with one bad entry changes nothing. Always needs sfvb_publish, because a menu is shared by every theme and there is no dormant copy to change instead.
1895
+
1896
+
1897
+ ### Examples
1898
+
1899
+
1900
+ (No example for this operation).
1901
+
1902
+
1903
+ #### Using the put_sfvb_menu_with_http_info variant
1904
+
1905
+ This returns an Array which contains the response data, status code and headers.
1906
+
1907
+ > <Array(<SfvbMenu>, Integer, Hash)> put_sfvb_menu_with_http_info(storefront_oid, code, menu_write_request, opts)
1908
+
1909
+ ```ruby
1910
+ begin
1911
+ # Replace a store menu's entries
1912
+ data, status_code, headers = api_instance.put_sfvb_menu_with_http_info(storefront_oid, code, menu_write_request, opts)
1913
+ p status_code # => 2xx
1914
+ p headers # => { ... }
1915
+ p data # => <SfvbMenu>
1916
+ rescue UltracartClient::ApiError => e
1917
+ puts "Error when calling SfvbApi->put_sfvb_menu_with_http_info: #{e}"
1918
+ end
1919
+ ```
1920
+
1921
+ ### Parameters
1922
+
1923
+ | Name | Type | Description | Notes |
1924
+ | ---- | ---- | ----------- | ----- |
1925
+ | **storefront_oid** | **Integer** | | |
1926
+ | **code** | **String** | Menu code, matched without regard to case | |
1927
+ | **menu_write_request** | [**SfvbMenuWriteRequest**](SfvbMenuWriteRequest.md) | The menu&#39;s replacement contents | |
1928
+ | **if_match** | **String** | Content hash from the last read. Required when the menu already exists; 428 when absent, 412 when stale. | [optional] |
1929
+
1930
+ ### Return type
1931
+
1932
+ [**SfvbMenu**](SfvbMenu.md)
1933
+
1934
+ ### Authorization
1935
+
1936
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1937
+
1938
+ ### HTTP request headers
1939
+
1940
+ - **Content-Type**: application/json
1941
+ - **Accept**: application/json
1942
+
1943
+
1778
1944
  ## put_sfvb_page_attributes
1779
1945
 
1780
1946
  > <SfvbPageResponse> put_sfvb_page_attributes(storefront_oid, path, page_attribute_update_request)
data/docs/SfvbMenu.md ADDED
@@ -0,0 +1,30 @@
1
+ # UltracartClient::SfvbMenu
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **code** | **String** | The menu&#39;s code, which is the value a menu element&#39;s menuName refers to. Compare case insensitively. | [optional] |
8
+ | **hash_sha256** | **String** | Content hash of the menu as stored. Send it back as If-Match when writing. | [optional] |
9
+ | **item_count** | **Integer** | How many entries the menu holds in total, counting every level of the tree. | [optional] |
10
+ | **items** | [**Array&lt;SfvbMenuItem&gt;**](SfvbMenuItem.md) | The menu&#39;s entries, in the order they render. Omitted from the list endpoint, which returns each menu&#39;s identity and counts only. | [optional] |
11
+ | **title** | **String** | The menu&#39;s own label, shown in the store admin rather than on the storefront. Trimmed to 250 characters. | [optional] |
12
+ | **unconfigured** | **Boolean** | True when a template names this code but no menu has been created for it. Such a code renders an empty list today. Write it to create it. | [optional] |
13
+ | **undeclared** | **Boolean** | True when no template on the storefront names this code. The menu is stored and editable, but nothing renders it, which usually means a menu element&#39;s menuName is misspelled. | [optional] |
14
+
15
+ ## Example
16
+
17
+ ```ruby
18
+ require 'ultracart_api'
19
+
20
+ instance = UltracartClient::SfvbMenu.new(
21
+ code: null,
22
+ hash_sha256: null,
23
+ item_count: null,
24
+ items: null,
25
+ title: null,
26
+ unconfigured: null,
27
+ undeclared: null
28
+ )
29
+ ```
30
+
@@ -0,0 +1,36 @@
1
+ # UltracartClient::SfvbMenuItem
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **catalog_group_oid** | **Integer** | The catalog group page_path resolved to. Returned for reference and ignored on a write - send page_path, which is the identifier the rest of this API uses. | [optional] |
8
+ | **description** | **String** | The link text, and the only field every type needs. Required. | [optional] |
9
+ | **items** | [**Array&lt;SfvbMenuItem&gt;**](SfvbMenuItem.md) | This entry&#39;s sub menu, in the order it renders. Omit or send an empty array for a leaf. | [optional] |
10
+ | **merchant_item_id** | **String** | The item an item entry opens, by merchant item id rather than by oid. | [optional] |
11
+ | **open_in_new_window** | **Boolean** | True to open the link in a new window or tab. | [optional] |
12
+ | **page_path** | **String** | The page a page entry opens, normalized to begin and end with a slash. This is the same path the pages endpoints take. Sent on a write and returned on a read. | [optional] |
13
+ | **social_page_type** | **String** | Which social network a social entry opens. The URL comes from the storefront&#39;s social settings. | [optional] |
14
+ | **system_page_type** | **String** | Which built in page a system page entry opens. The storefront resolves the URL, so these keep working when the checkout or account paths change. | [optional] |
15
+ | **type** | **String** | What the entry points at, which decides which one of the other fields is required. custom needs url, item needs merchant_item_id, page needs page_path, social needs social_page_type, and system page needs system_page_type. The legacy spelling group is accepted and stored as page. | [optional] |
16
+ | **url** | **String** | Where a custom entry goes. Any URL the storefront can link to, absolute or site relative. | [optional] |
17
+
18
+ ## Example
19
+
20
+ ```ruby
21
+ require 'ultracart_api'
22
+
23
+ instance = UltracartClient::SfvbMenuItem.new(
24
+ catalog_group_oid: null,
25
+ description: null,
26
+ items: null,
27
+ merchant_item_id: null,
28
+ open_in_new_window: null,
29
+ page_path: null,
30
+ social_page_type: null,
31
+ system_page_type: null,
32
+ type: null,
33
+ url: null
34
+ )
35
+ ```
36
+
@@ -0,0 +1,20 @@
1
+ # UltracartClient::SfvbMenuWriteRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **items** | [**Array&lt;SfvbMenuItem&gt;**](SfvbMenuItem.md) | The entries the menu should hold, in render order. Omit to leave the entries alone and change only the title. | [optional] |
8
+ | **title** | **String** | The menu&#39;s label in the store admin. Trimmed to 250 characters. Leave it off to keep the current one. | [optional] |
9
+
10
+ ## Example
11
+
12
+ ```ruby
13
+ require 'ultracart_api'
14
+
15
+ instance = UltracartClient::SfvbMenuWriteRequest.new(
16
+ items: null,
17
+ title: null
18
+ )
19
+ ```
20
+
@@ -0,0 +1,18 @@
1
+ # UltracartClient::SfvbMenusResponse
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **menus** | [**Array&lt;SfvbMenu&gt;**](SfvbMenu.md) | The storefront&#39;s menus, sorted by code. Entries are omitted here - read a single menu to get its tree. | [optional] |
8
+
9
+ ## Example
10
+
11
+ ```ruby
12
+ require 'ultracart_api'
13
+
14
+ instance = UltracartClient::SfvbMenusResponse.new(
15
+ menus: null
16
+ )
17
+ ```
18
+
@@ -8,7 +8,7 @@
8
8
  | **expires_in_seconds** | **Integer** | Seconds left to open access_url. It stops working after that, and after its first use. | [optional] |
9
9
  | **path** | **String** | Storefront path the browser lands on, after reserved preview parameters are removed. | [optional] |
10
10
  | **preview_session_id** | **String** | The preview session applied, when one was requested. | [optional] |
11
- | **session_lifetime_seconds** | **Integer** | How long the browser stays in preview once access_url is opened. The remaining life of the preview session, or eight hours when none was given. The user and their storefront permission are checked again on every page, so removing either ends it sooner. | [optional] |
11
+ | **session_lifetime_seconds** | **Integer** | How long the browser stays in preview once access_url is opened. The remaining life of the preview session, or eight hours when none was given. Ending the preview session ends preview in that browser at its next page. The user and their storefront permission are checked again on every page, so removing either ends it sooner. | [optional] |
12
12
  | **single_use** | **Boolean** | Always true. A second open of access_url returns 410. | [optional] |
13
13
  | **theme_oid** | **Integer** | The theme shown, when one was requested. | [optional] |
14
14
  | **usage_note** | **String** | Plain language instructions, safe to show a user. | [optional] |
@@ -11,6 +11,8 @@
11
11
  | **max_cjson_bytes** | **Integer** | Largest CJSON document that will be parsed, in bytes. | [optional] |
12
12
  | **max_directory_entries** | **Integer** | Most entries one directory listing returns. Asking for more is silently reduced to this rather than refused, so compare against it instead of trusting that you got what you asked for. The listing does set a truncated flag when it drops entries. | [optional] |
13
13
  | **max_library_results_per_page** | **Integer** | Most element library results one page returns. Asking for more is silently reduced to this, and unlike the directory listing there is no truncation flag on the response, so this number is the only way to know a larger request was cut. | [optional] |
14
+ | **max_menu_depth** | **Integer** | How deeply store menu entries can nest. | [optional] |
15
+ | **max_menu_items** | **Integer** | Most entries one store menu can hold, counting every level of the tree. A menu is navigation that renders on every page, so this is deliberately far below what the storage would physically accept. | [optional] |
14
16
  | **max_preview_session_bytes** | **Integer** | Largest payload one preview session may hold, in bytes. | [optional] |
15
17
  | **max_revertable_bytes** | **Integer** | Largest historical version files/revert will restore, in bytes. Higher than max_text_read_bytes deliberately - putting back a version that is already stored is cheaper than serving it as JSON, so a version too large to read can still be reverted to. | [optional] |
16
18
  | **max_search_results** | **Integer** | Hard ceiling on file search results per page. | [optional] |
@@ -34,6 +36,8 @@ instance = UltracartClient::SfvbVersionResponse.new(
34
36
  max_cjson_bytes: null,
35
37
  max_directory_entries: null,
36
38
  max_library_results_per_page: null,
39
+ max_menu_depth: null,
40
+ max_menu_items: null,
37
41
  max_preview_session_bytes: null,
38
42
  max_revertable_bytes: null,
39
43
  max_search_results: null,
@@ -1104,6 +1104,140 @@ module UltracartClient
1104
1104
  return data, status_code, headers
1105
1105
  end
1106
1106
 
1107
+ # Read one store menu and its entries
1108
+ # 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.
1109
+ # @param storefront_oid [Integer]
1110
+ # @param code [String] Menu code, matched without regard to case
1111
+ # @param [Hash] opts the optional parameters
1112
+ # @return [SfvbMenu]
1113
+ def get_sfvb_menu(storefront_oid, code, opts = {})
1114
+ data, _status_code, _headers = get_sfvb_menu_with_http_info(storefront_oid, code, opts)
1115
+ data
1116
+ end
1117
+
1118
+ # Read one store menu and its entries
1119
+ # 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.
1120
+ # @param storefront_oid [Integer]
1121
+ # @param code [String] Menu code, matched without regard to case
1122
+ # @param [Hash] opts the optional parameters
1123
+ # @return [Array<(SfvbMenu, Integer, Hash)>] SfvbMenu data, response status code and response headers
1124
+ def get_sfvb_menu_with_http_info(storefront_oid, code, opts = {})
1125
+ if @api_client.config.debugging
1126
+ @api_client.config.logger.debug 'Calling API: SfvbApi.get_sfvb_menu ...'
1127
+ end
1128
+ # verify the required parameter 'storefront_oid' is set
1129
+ if @api_client.config.client_side_validation && storefront_oid.nil?
1130
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.get_sfvb_menu"
1131
+ end
1132
+ # verify the required parameter 'code' is set
1133
+ if @api_client.config.client_side_validation && code.nil?
1134
+ fail ArgumentError, "Missing the required parameter 'code' when calling SfvbApi.get_sfvb_menu"
1135
+ end
1136
+ # resource path
1137
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/menus/{code}'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s)).sub('{' + 'code' + '}', CGI.escape(code.to_s))
1138
+
1139
+ # query parameters
1140
+ query_params = opts[:query_params] || {}
1141
+
1142
+ # header parameters
1143
+ header_params = opts[:header_params] || {}
1144
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1145
+ # HTTP header 'Accept' (if needed)
1146
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1147
+
1148
+ # form parameters
1149
+ form_params = opts[:form_params] || {}
1150
+
1151
+ # http body (model)
1152
+ post_body = opts[:debug_body]
1153
+
1154
+ # return_type
1155
+ return_type = opts[:debug_return_type] || 'SfvbMenu'
1156
+
1157
+ # auth_names
1158
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1159
+
1160
+ new_options = opts.merge(
1161
+ :operation => :"SfvbApi.get_sfvb_menu",
1162
+ :header_params => header_params,
1163
+ :query_params => query_params,
1164
+ :form_params => form_params,
1165
+ :body => post_body,
1166
+ :auth_names => auth_names,
1167
+ :return_type => return_type
1168
+ )
1169
+
1170
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1171
+ if @api_client.config.debugging
1172
+ @api_client.config.logger.debug "API called: SfvbApi#get_sfvb_menu\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1173
+ end
1174
+ return data, status_code, headers
1175
+ end
1176
+
1177
+ # List a storefront's store menus
1178
+ # 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.
1179
+ # @param storefront_oid [Integer]
1180
+ # @param [Hash] opts the optional parameters
1181
+ # @return [SfvbMenusResponse]
1182
+ def get_sfvb_menus(storefront_oid, opts = {})
1183
+ data, _status_code, _headers = get_sfvb_menus_with_http_info(storefront_oid, opts)
1184
+ data
1185
+ end
1186
+
1187
+ # List a storefront&#39;s store menus
1188
+ # The menus a menu element&#39;s menuName can name, sorted by code and without their entries. A code the active theme&#39;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.
1189
+ # @param storefront_oid [Integer]
1190
+ # @param [Hash] opts the optional parameters
1191
+ # @return [Array<(SfvbMenusResponse, Integer, Hash)>] SfvbMenusResponse data, response status code and response headers
1192
+ def get_sfvb_menus_with_http_info(storefront_oid, opts = {})
1193
+ if @api_client.config.debugging
1194
+ @api_client.config.logger.debug 'Calling API: SfvbApi.get_sfvb_menus ...'
1195
+ end
1196
+ # verify the required parameter 'storefront_oid' is set
1197
+ if @api_client.config.client_side_validation && storefront_oid.nil?
1198
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.get_sfvb_menus"
1199
+ end
1200
+ # resource path
1201
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/menus'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
1202
+
1203
+ # query parameters
1204
+ query_params = opts[:query_params] || {}
1205
+
1206
+ # header parameters
1207
+ header_params = opts[:header_params] || {}
1208
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1209
+ # HTTP header 'Accept' (if needed)
1210
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1211
+
1212
+ # form parameters
1213
+ form_params = opts[:form_params] || {}
1214
+
1215
+ # http body (model)
1216
+ post_body = opts[:debug_body]
1217
+
1218
+ # return_type
1219
+ return_type = opts[:debug_return_type] || 'SfvbMenusResponse'
1220
+
1221
+ # auth_names
1222
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1223
+
1224
+ new_options = opts.merge(
1225
+ :operation => :"SfvbApi.get_sfvb_menus",
1226
+ :header_params => header_params,
1227
+ :query_params => query_params,
1228
+ :form_params => form_params,
1229
+ :body => post_body,
1230
+ :auth_names => auth_names,
1231
+ :return_type => return_type
1232
+ )
1233
+
1234
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1235
+ if @api_client.config.debugging
1236
+ @api_client.config.logger.debug "API called: SfvbApi#get_sfvb_menus\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1237
+ end
1238
+ return data, status_code, headers
1239
+ end
1240
+
1107
1241
  # Read a page's attributes and images
1108
1242
  # 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.
1109
1243
  # @param storefront_oid [Integer]
@@ -2280,6 +2414,90 @@ module UltracartClient
2280
2414
  return data, status_code, headers
2281
2415
  end
2282
2416
 
2417
+ # Replace a store menu's entries
2418
+ # A whole menu replace, not a merge - what you send is what the menu holds afterwards, so read it, change the tree and send it back. Omitting items changes only the title; sending an empty array empties the menu. Writing a code that does not exist creates it. Every entry is checked before any of it is written, including that a merchant_item_id and a page_path actually resolve, so a tree with one bad entry changes nothing. Always needs sfvb_publish, because a menu is shared by every theme and there is no dormant copy to change instead.
2419
+ # @param storefront_oid [Integer]
2420
+ # @param code [String] Menu code, matched without regard to case
2421
+ # @param menu_write_request [SfvbMenuWriteRequest] The menu&#39;s replacement contents
2422
+ # @param [Hash] opts the optional parameters
2423
+ # @option opts [String] :if_match Content hash from the last read. Required when the menu already exists; 428 when absent, 412 when stale.
2424
+ # @return [SfvbMenu]
2425
+ def put_sfvb_menu(storefront_oid, code, menu_write_request, opts = {})
2426
+ data, _status_code, _headers = put_sfvb_menu_with_http_info(storefront_oid, code, menu_write_request, opts)
2427
+ data
2428
+ end
2429
+
2430
+ # Replace a store menu&#39;s entries
2431
+ # A whole menu replace, not a merge - what you send is what the menu holds afterwards, so read it, change the tree and send it back. Omitting items changes only the title; sending an empty array empties the menu. Writing a code that does not exist creates it. Every entry is checked before any of it is written, including that a merchant_item_id and a page_path actually resolve, so a tree with one bad entry changes nothing. Always needs sfvb_publish, because a menu is shared by every theme and there is no dormant copy to change instead.
2432
+ # @param storefront_oid [Integer]
2433
+ # @param code [String] Menu code, matched without regard to case
2434
+ # @param menu_write_request [SfvbMenuWriteRequest] The menu&#39;s replacement contents
2435
+ # @param [Hash] opts the optional parameters
2436
+ # @option opts [String] :if_match Content hash from the last read. Required when the menu already exists; 428 when absent, 412 when stale.
2437
+ # @return [Array<(SfvbMenu, Integer, Hash)>] SfvbMenu data, response status code and response headers
2438
+ def put_sfvb_menu_with_http_info(storefront_oid, code, menu_write_request, opts = {})
2439
+ if @api_client.config.debugging
2440
+ @api_client.config.logger.debug 'Calling API: SfvbApi.put_sfvb_menu ...'
2441
+ end
2442
+ # verify the required parameter 'storefront_oid' is set
2443
+ if @api_client.config.client_side_validation && storefront_oid.nil?
2444
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.put_sfvb_menu"
2445
+ end
2446
+ # verify the required parameter 'code' is set
2447
+ if @api_client.config.client_side_validation && code.nil?
2448
+ fail ArgumentError, "Missing the required parameter 'code' when calling SfvbApi.put_sfvb_menu"
2449
+ end
2450
+ # verify the required parameter 'menu_write_request' is set
2451
+ if @api_client.config.client_side_validation && menu_write_request.nil?
2452
+ fail ArgumentError, "Missing the required parameter 'menu_write_request' when calling SfvbApi.put_sfvb_menu"
2453
+ end
2454
+ # resource path
2455
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/menus/{code}'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s)).sub('{' + 'code' + '}', CGI.escape(code.to_s))
2456
+
2457
+ # query parameters
2458
+ query_params = opts[:query_params] || {}
2459
+
2460
+ # header parameters
2461
+ header_params = opts[:header_params] || {}
2462
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
2463
+ # HTTP header 'Accept' (if needed)
2464
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2465
+ # HTTP header 'Content-Type'
2466
+ content_type = @api_client.select_header_content_type(['application/json'])
2467
+ if !content_type.nil?
2468
+ header_params['Content-Type'] = content_type
2469
+ end
2470
+ header_params[:'If-Match'] = opts[:'if_match'] if !opts[:'if_match'].nil?
2471
+
2472
+ # form parameters
2473
+ form_params = opts[:form_params] || {}
2474
+
2475
+ # http body (model)
2476
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(menu_write_request)
2477
+
2478
+ # return_type
2479
+ return_type = opts[:debug_return_type] || 'SfvbMenu'
2480
+
2481
+ # auth_names
2482
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
2483
+
2484
+ new_options = opts.merge(
2485
+ :operation => :"SfvbApi.put_sfvb_menu",
2486
+ :header_params => header_params,
2487
+ :query_params => query_params,
2488
+ :form_params => form_params,
2489
+ :body => post_body,
2490
+ :auth_names => auth_names,
2491
+ :return_type => return_type
2492
+ )
2493
+
2494
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2495
+ if @api_client.config.debugging
2496
+ @api_client.config.logger.debug "API called: SfvbApi#put_sfvb_menu\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2497
+ end
2498
+ return data, status_code, headers
2499
+ end
2500
+
2283
2501
  # Change a page's attributes
2284
2502
  # A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page's attributes are shared by every theme and there is no dormant copy to change instead.
2285
2503
  # @param storefront_oid [Integer]