ultracart_api 4.1.199 → 4.1.200

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 (31) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +21 -2
  3. data/docs/SfvbApi.md +465 -11
  4. data/docs/SfvbApprovalCreateRequest.md +6 -0
  5. data/docs/SfvbApprovalParams.md +23 -3
  6. data/docs/SfvbItemAttributeBatchRequest.md +20 -0
  7. data/docs/SfvbItemAttributeBatchResponse.md +40 -0
  8. data/docs/SfvbItemAttributeBatchRow.md +30 -0
  9. data/docs/SfvbItemAttributeBatchRowResult.md +36 -0
  10. data/docs/SfvbItemPricing.md +38 -0
  11. data/docs/SfvbItemPricingRequest.md +32 -0
  12. data/docs/SfvbItemRelated.md +28 -0
  13. data/docs/SfvbItemRelatedItem.md +22 -0
  14. data/docs/SfvbItemRelatedRequest.md +22 -0
  15. data/docs/SfvbItemVolumeDiscount.md +20 -0
  16. data/lib/ultracart_api/api/sfvb_api.rb +640 -16
  17. data/lib/ultracart_api/models/sfvb_approval_create_request.rb +33 -3
  18. data/lib/ultracart_api/models/sfvb_approval_params.rb +142 -6
  19. data/lib/ultracart_api/models/sfvb_item_attribute_batch_request.rb +232 -0
  20. data/lib/ultracart_api/models/sfvb_item_attribute_batch_response.rb +332 -0
  21. data/lib/ultracart_api/models/sfvb_item_attribute_batch_row.rb +280 -0
  22. data/lib/ultracart_api/models/sfvb_item_attribute_batch_row_result.rb +344 -0
  23. data/lib/ultracart_api/models/sfvb_item_pricing.rb +322 -0
  24. data/lib/ultracart_api/models/sfvb_item_pricing_request.rb +292 -0
  25. data/lib/ultracart_api/models/sfvb_item_related.rb +272 -0
  26. data/lib/ultracart_api/models/sfvb_item_related_item.rb +274 -0
  27. data/lib/ultracart_api/models/sfvb_item_related_request.rb +242 -0
  28. data/lib/ultracart_api/models/sfvb_item_volume_discount.rb +230 -0
  29. data/lib/ultracart_api/version.rb +1 -1
  30. data/lib/ultracart_api.rb +10 -0
  31. metadata +22 -2
data/docs/SfvbApi.md CHANGED
@@ -29,6 +29,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
29
29
  | [**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 |
30
30
  | [**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 |
31
31
  | [**download_sfvb_file**](SfvbApi.md#download_sfvb_file) | **GET** /sfvb/storefronts/{storefront_oid}/files/download | Read a storefront file's raw bytes |
32
+ | [**dry_run_sfvb_item_attribute_batch**](SfvbApi.md#dry_run_sfvb_item_attribute_batch) | **POST** /sfvb/storefronts/{storefront_oid}/items/attributes/batch/dry_run | Check attribute changes across many items without writing them |
32
33
  | [**dry_run_sfvb_redirect_delete**](SfvbApi.md#dry_run_sfvb_redirect_delete) | **POST** /sfvb/storefronts/{storefront_oid}/redirects/delete/dry_run | Check a batch delete of redirect rules without writing it |
33
34
  | [**dry_run_sfvb_redirect_import**](SfvbApi.md#dry_run_sfvb_redirect_import) | **POST** /sfvb/storefronts/{storefront_oid}/redirects/import/dry_run | Check a redirect import without writing it |
34
35
  | [**duplicate_sfvb_library_entry**](SfvbApi.md#duplicate_sfvb_library_entry) | **POST** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/duplicate | Copy a library entry into a new private entry |
@@ -37,6 +38,8 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
37
38
  | [**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 |
38
39
  | [**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 |
39
40
  | [**enable_sfvb_i18n_language**](SfvbApi.md#enable_sfvb_i18n_language) | **POST** /sfvb/storefronts/{storefront_oid}/i18n/languages/{code}/enable | Enable a language |
41
+ | [**enable_sfvb_upsell_offer**](SfvbApi.md#enable_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/enable | Enable an upsell offer |
42
+ | [**enable_sfvb_upsell_path**](SfvbApi.md#enable_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/enable | Enable an upsell path |
40
43
  | [**end_sfvb_experiment**](SfvbApi.md#end_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/end | End an experiment |
41
44
  | [**favorite_sfvb_library_entry**](SfvbApi.md#favorite_sfvb_library_entry) | **PUT** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/favorite | Favorite a library entry |
42
45
  | [**get_sfvb_approval**](SfvbApi.md#get_sfvb_approval) | **GET** /sfvb/approvals/{approval_id} | Read one approval request |
@@ -56,6 +59,8 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
56
59
  | [**get_sfvb_i18n_message**](SfvbApi.md#get_sfvb_i18n_message) | **GET** /sfvb/storefronts/{storefront_oid}/i18n/messages/{key} | Read one built-in message |
57
60
  | [**get_sfvb_i18n_message_machine_translations**](SfvbApi.md#get_sfvb_i18n_message_machine_translations) | **GET** /sfvb/storefronts/{storefront_oid}/i18n/messages/{key}/machine_translations | Read where a message's translations come from |
58
61
  | [**get_sfvb_item**](SfvbApi.md#get_sfvb_item) | **GET** /sfvb/storefronts/{storefront_oid}/items | Read an item's storefront facing content |
62
+ | [**get_sfvb_item_pricing**](SfvbApi.md#get_sfvb_item_pricing) | **GET** /sfvb/storefronts/{storefront_oid}/items/pricing | Read what an item charges |
63
+ | [**get_sfvb_item_related**](SfvbApi.md#get_sfvb_item_related) | **GET** /sfvb/storefronts/{storefront_oid}/items/related | Read an item's related items |
59
64
  | [**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 |
60
65
  | [**get_sfvb_library_history**](SfvbApi.md#get_sfvb_library_history) | **GET** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/history | List a library entry's published revisions |
61
66
  | [**get_sfvb_library_share_targets**](SfvbApi.md#get_sfvb_library_share_targets) | **GET** /sfvb/storefronts/{storefront_oid}/library/share_targets | List the accounts a library entry can be shared with |
@@ -120,6 +125,8 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
120
125
  | [**put_sfvb_item_attributes**](SfvbApi.md#put_sfvb_item_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/items/attributes | Change some of an item's attributes |
121
126
  | [**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 |
122
127
  | [**put_sfvb_item_multimedia**](SfvbApi.md#put_sfvb_item_multimedia) | **PUT** /sfvb/storefronts/{storefront_oid}/items/multimedia | Attach an image to an item |
128
+ | [**put_sfvb_item_pricing**](SfvbApi.md#put_sfvb_item_pricing) | **PUT** /sfvb/storefronts/{storefront_oid}/items/pricing | Change what an item charges |
129
+ | [**put_sfvb_item_related**](SfvbApi.md#put_sfvb_item_related) | **PUT** /sfvb/storefronts/{storefront_oid}/items/related | Replace an item's related items |
123
130
  | [**put_sfvb_item_seo**](SfvbApi.md#put_sfvb_item_seo) | **PUT** /sfvb/storefronts/{storefront_oid}/items/seo | Change an item's search metadata |
124
131
  | [**put_sfvb_menu**](SfvbApi.md#put_sfvb_menu) | **PUT** /sfvb/storefronts/{storefront_oid}/menus/{code} | Replace a store menu's entries |
125
132
  | [**put_sfvb_page_attributes**](SfvbApi.md#put_sfvb_page_attributes) | **PUT** /sfvb/storefronts/{storefront_oid}/pages/attributes | Change a page's attributes |
@@ -151,6 +158,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
151
158
  | [**unpublish_sfvb_library_entry**](SfvbApi.md#unpublish_sfvb_library_entry) | **POST** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/unpublish | Narrow who can see a library entry |
152
159
  | [**unshare_sfvb_library_entry**](SfvbApi.md#unshare_sfvb_library_entry) | **DELETE** /sfvb/storefronts/{storefront_oid}/library/{library_oid}/shares/{merchant_id} | Stop sharing a library entry with an account |
153
160
  | [**update_sfvb_blog_post**](SfvbApi.md#update_sfvb_blog_post) | **PUT** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Change a blog post |
161
+ | [**update_sfvb_item_attribute_batch**](SfvbApi.md#update_sfvb_item_attribute_batch) | **POST** /sfvb/storefronts/{storefront_oid}/items/attributes/batch | Change attributes across many items in one call |
154
162
  | [**update_sfvb_library_entry**](SfvbApi.md#update_sfvb_library_entry) | **PUT** /sfvb/storefronts/{storefront_oid}/library/{library_oid} | Update a library entry's draft |
155
163
  | [**update_sfvb_redirect**](SfvbApi.md#update_sfvb_redirect) | **PUT** /sfvb/storefronts/{storefront_oid}/redirects/{redirect_id} | Change a redirect rule |
156
164
  | [**update_sfvb_upsell_offer**](SfvbApi.md#update_sfvb_upsell_offer) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Update an upsell offer |
@@ -1526,6 +1534,60 @@ nil (empty response body)
1526
1534
  - **Accept**: application/octet-stream
1527
1535
 
1528
1536
 
1537
+ ## dry_run_sfvb_item_attribute_batch
1538
+
1539
+ > <SfvbItemAttributeBatchResponse> dry_run_sfvb_item_attribute_batch(storefront_oid, item_attribute_batch_request)
1540
+
1541
+ Check attribute changes across many items without writing them
1542
+
1543
+ Checks up to 2,000 rows on up to 200 items, each with the single attribute update's checks, and answers every row as change, unchanged, stale (expected_value differs from the current value), not_found or invalid, with the current value and its current_sha256, plus a plan_hash over the change rows. Writes nothing. SEO attributes are refused; a batch never touches them or any attribute it does not name.
1544
+
1545
+
1546
+ ### Examples
1547
+
1548
+
1549
+ (No example for this operation).
1550
+
1551
+
1552
+ #### Using the dry_run_sfvb_item_attribute_batch_with_http_info variant
1553
+
1554
+ This returns an Array which contains the response data, status code and headers.
1555
+
1556
+ > <Array(<SfvbItemAttributeBatchResponse>, Integer, Hash)> dry_run_sfvb_item_attribute_batch_with_http_info(storefront_oid, item_attribute_batch_request)
1557
+
1558
+ ```ruby
1559
+ begin
1560
+ # Check attribute changes across many items without writing them
1561
+ data, status_code, headers = api_instance.dry_run_sfvb_item_attribute_batch_with_http_info(storefront_oid, item_attribute_batch_request)
1562
+ p status_code # => 2xx
1563
+ p headers # => { ... }
1564
+ p data # => <SfvbItemAttributeBatchResponse>
1565
+ rescue UltracartClient::ApiError => e
1566
+ puts "Error when calling SfvbApi->dry_run_sfvb_item_attribute_batch_with_http_info: #{e}"
1567
+ end
1568
+ ```
1569
+
1570
+ ### Parameters
1571
+
1572
+ | Name | Type | Description | Notes |
1573
+ | ---- | ---- | ----------- | ----- |
1574
+ | **storefront_oid** | **Integer** | | |
1575
+ | **item_attribute_batch_request** | [**SfvbItemAttributeBatchRequest**](SfvbItemAttributeBatchRequest.md) | The rows | |
1576
+
1577
+ ### Return type
1578
+
1579
+ [**SfvbItemAttributeBatchResponse**](SfvbItemAttributeBatchResponse.md)
1580
+
1581
+ ### Authorization
1582
+
1583
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1584
+
1585
+ ### HTTP request headers
1586
+
1587
+ - **Content-Type**: application/json; charset=UTF-8
1588
+ - **Accept**: application/json
1589
+
1590
+
1529
1591
  ## dry_run_sfvb_redirect_delete
1530
1592
 
1531
1593
  > <SfvbRedirectDeleteResponse> dry_run_sfvb_redirect_delete(storefront_oid, redirect_delete_request)
@@ -1963,13 +2025,123 @@ end
1963
2025
  - **Accept**: application/json
1964
2026
 
1965
2027
 
2028
+ ## enable_sfvb_upsell_offer
2029
+
2030
+ > <SfvbUpsellOffer> enable_sfvb_upsell_offer(storefront_oid, upsell_offer_oid, opts)
2031
+
2032
+ Enable an upsell offer
2033
+
2034
+ Switches the offer on. The only way to switch one on - create and update refuse active true on an offer that is off. Needs sfvb_publish and the approval of the person who signed in the CLI, an approved upsell.enable request for this offer (see POST /sfvb/approvals). An offer that is already on is returned unchanged, and no approval is used.
2035
+
2036
+
2037
+ ### Examples
2038
+
2039
+
2040
+ (No example for this operation).
2041
+
2042
+
2043
+ #### Using the enable_sfvb_upsell_offer_with_http_info variant
2044
+
2045
+ This returns an Array which contains the response data, status code and headers.
2046
+
2047
+ > <Array(<SfvbUpsellOffer>, Integer, Hash)> enable_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid, opts)
2048
+
2049
+ ```ruby
2050
+ begin
2051
+ # Enable an upsell offer
2052
+ data, status_code, headers = api_instance.enable_sfvb_upsell_offer_with_http_info(storefront_oid, upsell_offer_oid, opts)
2053
+ p status_code # => 2xx
2054
+ p headers # => { ... }
2055
+ p data # => <SfvbUpsellOffer>
2056
+ rescue UltracartClient::ApiError => e
2057
+ puts "Error when calling SfvbApi->enable_sfvb_upsell_offer_with_http_info: #{e}"
2058
+ end
2059
+ ```
2060
+
2061
+ ### Parameters
2062
+
2063
+ | Name | Type | Description | Notes |
2064
+ | ---- | ---- | ----------- | ----- |
2065
+ | **storefront_oid** | **Integer** | | |
2066
+ | **upsell_offer_oid** | **Integer** | | |
2067
+ | **approval_id** | **String** | The approval_id of an approved upsell.enable request for this offer. Required when the offer is off. See POST /sfvb/approvals. | [optional] |
2068
+
2069
+ ### Return type
2070
+
2071
+ [**SfvbUpsellOffer**](SfvbUpsellOffer.md)
2072
+
2073
+ ### Authorization
2074
+
2075
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2076
+
2077
+ ### HTTP request headers
2078
+
2079
+ - **Content-Type**: Not defined
2080
+ - **Accept**: application/json
2081
+
2082
+
2083
+ ## enable_sfvb_upsell_path
2084
+
2085
+ > <SfvbUpsellPath> enable_sfvb_upsell_path(storefront_oid, upsell_path_oid, opts)
2086
+
2087
+ Enable an upsell path
2088
+
2089
+ Switches the path on, so it starts running. The only way to switch one on - create, update and unarchive refuse to. An archived path is refused; unarchive it first. Needs sfvb_publish and the approval of the person who signed in the CLI, an approved upsell.enable request for this path (see POST /sfvb/approvals). A path that is already on is returned unchanged, and no approval is used.
2090
+
2091
+
2092
+ ### Examples
2093
+
2094
+
2095
+ (No example for this operation).
2096
+
2097
+
2098
+ #### Using the enable_sfvb_upsell_path_with_http_info variant
2099
+
2100
+ This returns an Array which contains the response data, status code and headers.
2101
+
2102
+ > <Array(<SfvbUpsellPath>, Integer, Hash)> enable_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
2103
+
2104
+ ```ruby
2105
+ begin
2106
+ # Enable an upsell path
2107
+ data, status_code, headers = api_instance.enable_sfvb_upsell_path_with_http_info(storefront_oid, upsell_path_oid, opts)
2108
+ p status_code # => 2xx
2109
+ p headers # => { ... }
2110
+ p data # => <SfvbUpsellPath>
2111
+ rescue UltracartClient::ApiError => e
2112
+ puts "Error when calling SfvbApi->enable_sfvb_upsell_path_with_http_info: #{e}"
2113
+ end
2114
+ ```
2115
+
2116
+ ### Parameters
2117
+
2118
+ | Name | Type | Description | Notes |
2119
+ | ---- | ---- | ----------- | ----- |
2120
+ | **storefront_oid** | **Integer** | | |
2121
+ | **upsell_path_oid** | **Integer** | | |
2122
+ | **approval_id** | **String** | The approval_id of an approved upsell.enable request for this path. Required when the path is off. See POST /sfvb/approvals. | [optional] |
2123
+
2124
+ ### Return type
2125
+
2126
+ [**SfvbUpsellPath**](SfvbUpsellPath.md)
2127
+
2128
+ ### Authorization
2129
+
2130
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2131
+
2132
+ ### HTTP request headers
2133
+
2134
+ - **Content-Type**: Not defined
2135
+ - **Accept**: application/json
2136
+
2137
+
1966
2138
  ## end_sfvb_experiment
1967
2139
 
1968
2140
  > <SfvbExperiment> end_sfvb_experiment(storefront_oid, experiment_oid, opts)
1969
2141
 
1970
2142
  End an experiment
1971
2143
 
1972
- Ends a running experiment. With winner_variation_number the winner gets every visitor, including visitors already assigned to another variation, 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. Always needs sfvb_publish.
2144
+ Ends a running experiment. With winner_variation_number the winner gets every visitor, including visitors already assigned to another variation, 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. Always needs sfvb_publish, and the approval of the person who signed in the CLI - an approved experiment.end request for this experiment and winner, which always needs a fresh authenticator code (see POST /sfvb/approvals).
1973
2145
 
1974
2146
 
1975
2147
  ### Examples
@@ -2002,6 +2174,7 @@ end
2002
2174
  | ---- | ---- | ----------- | ----- |
2003
2175
  | **storefront_oid** | **Integer** | | |
2004
2176
  | **experiment_oid** | **Integer** | | |
2177
+ | **approval_id** | **String** | The approval_id of an approved experiment.end request for this experiment and winner. Required. See POST /sfvb/approvals. | [optional] |
2005
2178
  | **experiment_end_request** | [**SfvbExperimentEndRequest**](SfvbExperimentEndRequest.md) | The winner, if any | [optional] |
2006
2179
 
2007
2180
  ### Return type
@@ -2942,7 +3115,7 @@ end
2942
3115
 
2943
3116
  Read an item's storefront facing content
2944
3117
 
2945
- 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.
3118
+ 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 and related items have their own calls, items/pricing and items/related. Shipping, inventory, tax, variants and kit structure stay with the item API. Address by merchant_item_id, the value data-context-item-id carries, or by merchant_item_oid.
2946
3119
 
2947
3120
 
2948
3121
  ### Examples
@@ -2991,6 +3164,116 @@ end
2991
3164
  - **Accept**: application/json
2992
3165
 
2993
3166
 
3167
+ ## get_sfvb_item_pricing
3168
+
3169
+ > <SfvbItemPricing> get_sfvb_item_pricing(storefront_oid, opts)
3170
+
3171
+ Read what an item charges
3172
+
3173
+ Price, sale (with whether it applies now), MSRP and retail volume pricing - what itemprice, itemsale, itemmsrp, itemsavings and itemvolumediscounts render - with a hash_sha256 to send as If-Match when changing it. Wholesale pricing tiers are not shown. Address by merchant_item_id or merchant_item_oid.
3174
+
3175
+
3176
+ ### Examples
3177
+
3178
+
3179
+ (No example for this operation).
3180
+
3181
+
3182
+ #### Using the get_sfvb_item_pricing_with_http_info variant
3183
+
3184
+ This returns an Array which contains the response data, status code and headers.
3185
+
3186
+ > <Array(<SfvbItemPricing>, Integer, Hash)> get_sfvb_item_pricing_with_http_info(storefront_oid, opts)
3187
+
3188
+ ```ruby
3189
+ begin
3190
+ # Read what an item charges
3191
+ data, status_code, headers = api_instance.get_sfvb_item_pricing_with_http_info(storefront_oid, opts)
3192
+ p status_code # => 2xx
3193
+ p headers # => { ... }
3194
+ p data # => <SfvbItemPricing>
3195
+ rescue UltracartClient::ApiError => e
3196
+ puts "Error when calling SfvbApi->get_sfvb_item_pricing_with_http_info: #{e}"
3197
+ end
3198
+ ```
3199
+
3200
+ ### Parameters
3201
+
3202
+ | Name | Type | Description | Notes |
3203
+ | ---- | ---- | ----------- | ----- |
3204
+ | **storefront_oid** | **Integer** | | |
3205
+ | **merchant_item_id** | **String** | | [optional] |
3206
+ | **merchant_item_oid** | **Integer** | | [optional] |
3207
+
3208
+ ### Return type
3209
+
3210
+ [**SfvbItemPricing**](SfvbItemPricing.md)
3211
+
3212
+ ### Authorization
3213
+
3214
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3215
+
3216
+ ### HTTP request headers
3217
+
3218
+ - **Content-Type**: Not defined
3219
+ - **Accept**: application/json
3220
+
3221
+
3222
+ ## get_sfvb_item_related
3223
+
3224
+ > <SfvbItemRelated> get_sfvb_item_related(storefront_oid, opts)
3225
+
3226
+ Read an item's related items
3227
+
3228
+ What itemrelateditemslist lists - the merchant's own related items (user, addon, complementary) and the ones UltraCart calculates (system), with a hash_sha256 to send as If-Match when changing them.
3229
+
3230
+
3231
+ ### Examples
3232
+
3233
+
3234
+ (No example for this operation).
3235
+
3236
+
3237
+ #### Using the get_sfvb_item_related_with_http_info variant
3238
+
3239
+ This returns an Array which contains the response data, status code and headers.
3240
+
3241
+ > <Array(<SfvbItemRelated>, Integer, Hash)> get_sfvb_item_related_with_http_info(storefront_oid, opts)
3242
+
3243
+ ```ruby
3244
+ begin
3245
+ # Read an item's related items
3246
+ data, status_code, headers = api_instance.get_sfvb_item_related_with_http_info(storefront_oid, opts)
3247
+ p status_code # => 2xx
3248
+ p headers # => { ... }
3249
+ p data # => <SfvbItemRelated>
3250
+ rescue UltracartClient::ApiError => e
3251
+ puts "Error when calling SfvbApi->get_sfvb_item_related_with_http_info: #{e}"
3252
+ end
3253
+ ```
3254
+
3255
+ ### Parameters
3256
+
3257
+ | Name | Type | Description | Notes |
3258
+ | ---- | ---- | ----------- | ----- |
3259
+ | **storefront_oid** | **Integer** | | |
3260
+ | **merchant_item_id** | **String** | | [optional] |
3261
+ | **merchant_item_oid** | **Integer** | | [optional] |
3262
+
3263
+ ### Return type
3264
+
3265
+ [**SfvbItemRelated**](SfvbItemRelated.md)
3266
+
3267
+ ### Authorization
3268
+
3269
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
3270
+
3271
+ ### HTTP request headers
3272
+
3273
+ - **Content-Type**: Not defined
3274
+ - **Accept**: application/json
3275
+
3276
+
2994
3277
  ## get_sfvb_library_entry
2995
3278
 
2996
3279
  > <SfvbLibraryEntry> get_sfvb_library_entry(storefront_oid, library_oid, opts)
@@ -4895,7 +5178,7 @@ end
4895
5178
 
4896
5179
  Create an upsell offer
4897
5180
 
4898
- 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.
5181
+ 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. It must be created with active false, and switched on with the enable call, which needs approval. 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.
4899
5182
 
4900
5183
 
4901
5184
  ### Examples
@@ -4949,7 +5232,7 @@ end
4949
5232
 
4950
5233
  Create an upsell path
4951
5234
 
4952
- 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.
5235
+ 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. It must be created with active false, and switched on with the enable call, which needs approval.
4953
5236
 
4954
5237
 
4955
5238
  ### Examples
@@ -6500,6 +6783,121 @@ end
6500
6783
  - **Accept**: application/json
6501
6784
 
6502
6785
 
6786
+ ## put_sfvb_item_pricing
6787
+
6788
+ > <SfvbItemPricing> put_sfvb_item_pricing(storefront_oid, if_match, item_pricing_request, opts)
6789
+
6790
+ Change what an item charges
6791
+
6792
+ Partial - a field left out is untouched. A sale needs sale_cost, sale_start and sale_end together, the end after the start; clear_sale removes it. msrp must be more than 0 (0 only when the price is 0); clear_msrp removes it. volume_discounts replaces the retail quantity breaks. Shoppers pay the new price at once, so this needs sfvb_publish, If-Match with the pricing hash_sha256, and the approval of the person who signed in the CLI - an approved item.pricing request for this item and exactly this change. A change that sets every field to what it already is returns the pricing unchanged and uses no approval.
6793
+
6794
+
6795
+ ### Examples
6796
+
6797
+
6798
+ (No example for this operation).
6799
+
6800
+
6801
+ #### Using the put_sfvb_item_pricing_with_http_info variant
6802
+
6803
+ This returns an Array which contains the response data, status code and headers.
6804
+
6805
+ > <Array(<SfvbItemPricing>, Integer, Hash)> put_sfvb_item_pricing_with_http_info(storefront_oid, if_match, item_pricing_request, opts)
6806
+
6807
+ ```ruby
6808
+ begin
6809
+ # Change what an item charges
6810
+ data, status_code, headers = api_instance.put_sfvb_item_pricing_with_http_info(storefront_oid, if_match, item_pricing_request, opts)
6811
+ p status_code # => 2xx
6812
+ p headers # => { ... }
6813
+ p data # => <SfvbItemPricing>
6814
+ rescue UltracartClient::ApiError => e
6815
+ puts "Error when calling SfvbApi->put_sfvb_item_pricing_with_http_info: #{e}"
6816
+ end
6817
+ ```
6818
+
6819
+ ### Parameters
6820
+
6821
+ | Name | Type | Description | Notes |
6822
+ | ---- | ---- | ----------- | ----- |
6823
+ | **storefront_oid** | **Integer** | | |
6824
+ | **if_match** | **String** | hash_sha256 from the pricing read. Required; 428 when absent, 412 when stale. | |
6825
+ | **item_pricing_request** | [**SfvbItemPricingRequest**](SfvbItemPricingRequest.md) | The change | |
6826
+ | **merchant_item_id** | **String** | | [optional] |
6827
+ | **merchant_item_oid** | **Integer** | | [optional] |
6828
+ | **approval_id** | **String** | The approval_id of an approved item.pricing request for this item and change. Required. See POST /sfvb/approvals. | [optional] |
6829
+
6830
+ ### Return type
6831
+
6832
+ [**SfvbItemPricing**](SfvbItemPricing.md)
6833
+
6834
+ ### Authorization
6835
+
6836
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
6837
+
6838
+ ### HTTP request headers
6839
+
6840
+ - **Content-Type**: application/json; charset=UTF-8
6841
+ - **Accept**: application/json
6842
+
6843
+
6844
+ ## put_sfvb_item_related
6845
+
6846
+ > <SfvbItemRelated> put_sfvb_item_related(storefront_oid, if_match, item_related_request, opts)
6847
+
6848
+ Replace an item's related items
6849
+
6850
+ Replaces the merchant's own related items, in order, and keeps the ones UltraCart calculates. Each must be an item of this account and not the item itself, named once, up to 50. No link back is added to the other items. Needs sfvb_publish and If-Match with the related hash_sha256.
6851
+
6852
+
6853
+ ### Examples
6854
+
6855
+
6856
+ (No example for this operation).
6857
+
6858
+
6859
+ #### Using the put_sfvb_item_related_with_http_info variant
6860
+
6861
+ This returns an Array which contains the response data, status code and headers.
6862
+
6863
+ > <Array(<SfvbItemRelated>, Integer, Hash)> put_sfvb_item_related_with_http_info(storefront_oid, if_match, item_related_request, opts)
6864
+
6865
+ ```ruby
6866
+ begin
6867
+ # Replace an item's related items
6868
+ data, status_code, headers = api_instance.put_sfvb_item_related_with_http_info(storefront_oid, if_match, item_related_request, opts)
6869
+ p status_code # => 2xx
6870
+ p headers # => { ... }
6871
+ p data # => <SfvbItemRelated>
6872
+ rescue UltracartClient::ApiError => e
6873
+ puts "Error when calling SfvbApi->put_sfvb_item_related_with_http_info: #{e}"
6874
+ end
6875
+ ```
6876
+
6877
+ ### Parameters
6878
+
6879
+ | Name | Type | Description | Notes |
6880
+ | ---- | ---- | ----------- | ----- |
6881
+ | **storefront_oid** | **Integer** | | |
6882
+ | **if_match** | **String** | hash_sha256 from the related read. Required; 428 when absent, 412 when stale. | |
6883
+ | **item_related_request** | [**SfvbItemRelatedRequest**](SfvbItemRelatedRequest.md) | The related items | |
6884
+ | **merchant_item_id** | **String** | | [optional] |
6885
+ | **merchant_item_oid** | **Integer** | | [optional] |
6886
+
6887
+ ### Return type
6888
+
6889
+ [**SfvbItemRelated**](SfvbItemRelated.md)
6890
+
6891
+ ### Authorization
6892
+
6893
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
6894
+
6895
+ ### HTTP request headers
6896
+
6897
+ - **Content-Type**: application/json; charset=UTF-8
6898
+ - **Accept**: application/json
6899
+
6900
+
6503
6901
  ## put_sfvb_item_seo
6504
6902
 
6505
6903
  > <SfvbItemResponse> put_sfvb_item_seo(storefront_oid, item_seo_request, opts)
@@ -7827,11 +8225,11 @@ end
7827
8225
 
7828
8226
  ## start_sfvb_experiment
7829
8227
 
7830
- > <SfvbExperiment> start_sfvb_experiment(storefront_oid, experiment_start_request)
8228
+ > <SfvbExperiment> start_sfvb_experiment(storefront_oid, experiment_start_request, opts)
7831
8229
 
7832
8230
  Start an experiment
7833
8231
 
7834
- type page starts an experiment element already saved in a page body - send path, slot and widget_id, and its name, objective, duration and variations are read from the element with the builder's rules (2 to 5 variations numbered 0 up with no gaps, 3 to 90 days, traffic on all or none adding up to 100). The new id is written into the element and the body is saved, so pull it again before the next edit. type url splits visitors between existing pages at router_url, and always ends by itself after duration_days. Always needs sfvb_publish, because visitors are split as soon as it starts.
8232
+ type page starts an experiment element already saved in a page body - send path, slot and widget_id, and its name, objective, duration and variations are read from the element with the builder's rules (2 to 5 variations numbered 0 up with no gaps, 3 to 90 days, traffic on all or none adding up to 100). The new id is written into the element and the body is saved, so pull it again before the next edit. type url splits visitors between existing pages at router_url, and always ends by itself after duration_days. Always needs sfvb_publish, because visitors are split as soon as it starts, and the approval of the person who signed in the CLI - an approved experiment.start request for exactly this start (see POST /sfvb/approvals).
7835
8233
 
7836
8234
 
7837
8235
  ### Examples
@@ -7844,12 +8242,12 @@ type page starts an experiment element already saved in a page body - send path,
7844
8242
 
7845
8243
  This returns an Array which contains the response data, status code and headers.
7846
8244
 
7847
- > <Array(<SfvbExperiment>, Integer, Hash)> start_sfvb_experiment_with_http_info(storefront_oid, experiment_start_request)
8245
+ > <Array(<SfvbExperiment>, Integer, Hash)> start_sfvb_experiment_with_http_info(storefront_oid, experiment_start_request, opts)
7848
8246
 
7849
8247
  ```ruby
7850
8248
  begin
7851
8249
  # Start an experiment
7852
- data, status_code, headers = api_instance.start_sfvb_experiment_with_http_info(storefront_oid, experiment_start_request)
8250
+ data, status_code, headers = api_instance.start_sfvb_experiment_with_http_info(storefront_oid, experiment_start_request, opts)
7853
8251
  p status_code # => 2xx
7854
8252
  p headers # => { ... }
7855
8253
  p data # => <SfvbExperiment>
@@ -7864,6 +8262,7 @@ end
7864
8262
  | ---- | ---- | ----------- | ----- |
7865
8263
  | **storefront_oid** | **Integer** | | |
7866
8264
  | **experiment_start_request** | [**SfvbExperimentStartRequest**](SfvbExperimentStartRequest.md) | The experiment to start | |
8265
+ | **approval_id** | **String** | The approval_id of an approved experiment.start request for exactly this start. Required. See POST /sfvb/approvals. | [optional] |
7867
8266
 
7868
8267
  ### Return type
7869
8268
 
@@ -7885,7 +8284,7 @@ end
7885
8284
 
7886
8285
  Unarchive an upsell path
7887
8286
 
7888
- Brings the path back into the default list. Unarchiving one that is switched on starts it, so that needs sfvb_publish.
8287
+ Brings the path back into the default list. A path that is switched on is refused, because unarchiving it would start it without approval - disable it, unarchive it, then enable it.
7889
8288
 
7890
8289
 
7891
8290
  ### Examples
@@ -8206,6 +8605,61 @@ end
8206
8605
  - **Accept**: application/json
8207
8606
 
8208
8607
 
8608
+ ## update_sfvb_item_attribute_batch
8609
+
8610
+ > <SfvbItemAttributeBatchResponse> update_sfvb_item_attribute_batch(storefront_oid, item_attribute_batch_request, opts)
8611
+
8612
+ Change attributes across many items in one call
8613
+
8614
+ Applies exactly the change rows of a dry run, given its plan_hash, each with its merchant_item_oid and current_sha256. Each item is saved once with all of its rows; a row whose value changed since the dry run is skipped as stale and never overwritten, and an item that cannot be saved does not stop the others. Only the named attributes change. Needs sfvb_publish and the approval of the person who signed in the CLI, an approved item.attribute_batch request for exactly these rows in the Approval-Id header.
8615
+
8616
+
8617
+ ### Examples
8618
+
8619
+
8620
+ (No example for this operation).
8621
+
8622
+
8623
+ #### Using the update_sfvb_item_attribute_batch_with_http_info variant
8624
+
8625
+ This returns an Array which contains the response data, status code and headers.
8626
+
8627
+ > <Array(<SfvbItemAttributeBatchResponse>, Integer, Hash)> update_sfvb_item_attribute_batch_with_http_info(storefront_oid, item_attribute_batch_request, opts)
8628
+
8629
+ ```ruby
8630
+ begin
8631
+ # Change attributes across many items in one call
8632
+ data, status_code, headers = api_instance.update_sfvb_item_attribute_batch_with_http_info(storefront_oid, item_attribute_batch_request, opts)
8633
+ p status_code # => 2xx
8634
+ p headers # => { ... }
8635
+ p data # => <SfvbItemAttributeBatchResponse>
8636
+ rescue UltracartClient::ApiError => e
8637
+ puts "Error when calling SfvbApi->update_sfvb_item_attribute_batch_with_http_info: #{e}"
8638
+ end
8639
+ ```
8640
+
8641
+ ### Parameters
8642
+
8643
+ | Name | Type | Description | Notes |
8644
+ | ---- | ---- | ----------- | ----- |
8645
+ | **storefront_oid** | **Integer** | | |
8646
+ | **item_attribute_batch_request** | [**SfvbItemAttributeBatchRequest**](SfvbItemAttributeBatchRequest.md) | The dry run&#39;s change rows and plan_hash | |
8647
+ | **approval_id** | **String** | The approval_id of an approved item.attribute_batch request for exactly these rows. Required. See POST /sfvb/approvals. | [optional] |
8648
+
8649
+ ### Return type
8650
+
8651
+ [**SfvbItemAttributeBatchResponse**](SfvbItemAttributeBatchResponse.md)
8652
+
8653
+ ### Authorization
8654
+
8655
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
8656
+
8657
+ ### HTTP request headers
8658
+
8659
+ - **Content-Type**: application/json; charset=UTF-8
8660
+ - **Accept**: application/json
8661
+
8662
+
8209
8663
  ## update_sfvb_library_entry
8210
8664
 
8211
8665
  > <SfvbLibraryEntry> update_sfvb_library_entry(storefront_oid, library_oid, if_match, library_entry)
@@ -8324,7 +8778,7 @@ end
8324
8778
 
8325
8779
  Update an upsell offer
8326
8780
 
8327
- 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.
8781
+ 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, or changing upsell_item_id_javascript or offsite_content_url, needs sfvb_publish. An update cannot switch an offer on; that is the enable call, which needs approval. Settings the API does not show, such as the offer's screenshots, are kept.
8328
8782
 
8329
8783
 
8330
8784
  ### Examples
@@ -8380,7 +8834,7 @@ end
8380
8834
 
8381
8835
  Update an upsell path
8382
8836
 
8383
- 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.
8837
+ 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 needs sfvb_publish. An update cannot switch a path on; that is the enable call, which needs approval.
8384
8838
 
8385
8839
 
8386
8840
  ### Examples
@@ -6,6 +6,9 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **action** | **String** | The gated action to approve. | [optional] |
8
8
  | **content** | **String** | For a file.put_script write, the exact script to be written, at most 256 KB. UltraCart reviews it and keeps only its hash, so send the same bytes again on the write. Leave it out for a revert, which names params.version. | [optional] |
9
+ | **experiment_start** | [**SfvbExperimentStartRequest**](SfvbExperimentStartRequest.md) | | [optional] |
10
+ | **item_attribute_rows** | [**Array&lt;SfvbItemAttributeBatchRow&gt;**](SfvbItemAttributeBatchRow.md) | For item.attribute_batch, exactly the rows the batch will send - the dry run&#39;s change rows, each with merchant_item_oid and current_sha256. UltraCart keeps only their hash. | [optional] |
11
+ | **item_pricing** | [**SfvbItemPricingRequest**](SfvbItemPricingRequest.md) | | [optional] |
9
12
  | **params** | [**SfvbApprovalParams**](SfvbApprovalParams.md) | | [optional] |
10
13
  | **reason** | **String** | Why the agent wants to do this, in a sentence. Shown to the person as unverified text, capped at 500 characters. | [optional] |
11
14
  | **redirect_rows** | [**Array&lt;SfvbRedirectDeleteRow&gt;**](SfvbRedirectDeleteRow.md) | For redirect.delete_batch, exactly the rows the batch delete will send, up to 5,000, each with its hash_sha256. UltraCart keeps only their hash. | [optional] |
@@ -18,6 +21,9 @@ require 'ultracart_api'
18
21
  instance = UltracartClient::SfvbApprovalCreateRequest.new(
19
22
  action: null,
20
23
  content: null,
24
+ experiment_start: null,
25
+ item_attribute_rows: null,
26
+ item_pricing: null,
21
27
  params: null,
22
28
  reason: null,
23
29
  redirect_rows: null