ultracart_api 4.1.152 → 4.1.154

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.
@@ -239,6 +239,83 @@ module UltracartClient
239
239
  return data, status_code, headers
240
240
  end
241
241
 
242
+ # Detach an image from a page
243
+ # Name exactly one of code or default. Removes the page's copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
244
+ # @param storefront_oid [Integer]
245
+ # @param path [String] Page path, for example /catalog/dispensers/
246
+ # @param [Hash] opts the optional parameters
247
+ # @option opts [String] :code Image code to detach
248
+ # @option opts [Boolean] :default True to detach the default image
249
+ # @return [SfvbPageResponse]
250
+ def delete_sfvb_page_multimedia(storefront_oid, path, opts = {})
251
+ data, _status_code, _headers = delete_sfvb_page_multimedia_with_http_info(storefront_oid, path, opts)
252
+ data
253
+ end
254
+
255
+ # Detach an image from a page
256
+ # Name exactly one of code or default. Removes the page's copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
257
+ # @param storefront_oid [Integer]
258
+ # @param path [String] Page path, for example /catalog/dispensers/
259
+ # @param [Hash] opts the optional parameters
260
+ # @option opts [String] :code Image code to detach
261
+ # @option opts [Boolean] :default True to detach the default image
262
+ # @return [Array<(SfvbPageResponse, Integer, Hash)>] SfvbPageResponse data, response status code and response headers
263
+ def delete_sfvb_page_multimedia_with_http_info(storefront_oid, path, opts = {})
264
+ if @api_client.config.debugging
265
+ @api_client.config.logger.debug 'Calling API: SfvbApi.delete_sfvb_page_multimedia ...'
266
+ end
267
+ # verify the required parameter 'storefront_oid' is set
268
+ if @api_client.config.client_side_validation && storefront_oid.nil?
269
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.delete_sfvb_page_multimedia"
270
+ end
271
+ # verify the required parameter 'path' is set
272
+ if @api_client.config.client_side_validation && path.nil?
273
+ fail ArgumentError, "Missing the required parameter 'path' when calling SfvbApi.delete_sfvb_page_multimedia"
274
+ end
275
+ # resource path
276
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/pages/multimedia'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
277
+
278
+ # query parameters
279
+ query_params = opts[:query_params] || {}
280
+ query_params[:'path'] = path
281
+ query_params[:'code'] = opts[:'code'] if !opts[:'code'].nil?
282
+ query_params[:'default'] = opts[:'default'] if !opts[:'default'].nil?
283
+
284
+ # header parameters
285
+ header_params = opts[:header_params] || {}
286
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
287
+ # HTTP header 'Accept' (if needed)
288
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
289
+
290
+ # form parameters
291
+ form_params = opts[:form_params] || {}
292
+
293
+ # http body (model)
294
+ post_body = opts[:debug_body]
295
+
296
+ # return_type
297
+ return_type = opts[:debug_return_type] || 'SfvbPageResponse'
298
+
299
+ # auth_names
300
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
301
+
302
+ new_options = opts.merge(
303
+ :operation => :"SfvbApi.delete_sfvb_page_multimedia",
304
+ :header_params => header_params,
305
+ :query_params => query_params,
306
+ :form_params => form_params,
307
+ :body => post_body,
308
+ :auth_names => auth_names,
309
+ :return_type => return_type
310
+ )
311
+
312
+ data, status_code, headers = @api_client.call_api(:DELETE, local_var_path, new_options)
313
+ if @api_client.config.debugging
314
+ @api_client.config.logger.debug "API called: SfvbApi#delete_sfvb_page_multimedia\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
315
+ end
316
+ return data, status_code, headers
317
+ end
318
+
242
319
  # Delete a preview session
243
320
  # Releases the session before its eight hour expiry. Without this the only way to free one is to wait, which is a poor answer for a tool that may open a dozen in an afternoon.
244
321
  # @param storefront_oid [Integer]
@@ -682,7 +759,8 @@ module UltracartClient
682
759
  return data, status_code, headers
683
760
  end
684
761
 
685
- # Configuration schema for one element type
762
+ # Configuration schema and field card for one element type
763
+ # schema is the draft-07 JSON schema for the element config object and doc is the markdown field card, both as strings. Either is omitted when none has been published for the element, which is still a 200. The catalog is published by the visual builder release process, and a republish can take up to an hour to appear here.
686
764
  # @param element_type [String]
687
765
  # @param [Hash] opts the optional parameters
688
766
  # @return [SfvbElementSchemaResponse]
@@ -691,7 +769,8 @@ module UltracartClient
691
769
  data
692
770
  end
693
771
 
694
- # Configuration schema for one element type
772
+ # Configuration schema and field card for one element type
773
+ # schema is the draft-07 JSON schema for the element config object and doc is the markdown field card, both as strings. Either is omitted when none has been published for the element, which is still a 200. The catalog is published by the visual builder release process, and a republish can take up to an hour to appear here.
695
774
  # @param element_type [String]
696
775
  # @param [Hash] opts the optional parameters
697
776
  # @return [Array<(SfvbElementSchemaResponse, Integer, Hash)>] SfvbElementSchemaResponse data, response status code and response headers
@@ -954,6 +1033,77 @@ module UltracartClient
954
1033
  return data, status_code, headers
955
1034
  end
956
1035
 
1036
+ # Read a page's attributes and images
1037
+ # 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.
1038
+ # @param storefront_oid [Integer]
1039
+ # @param path [String] Page path, for example /catalog/dispensers/
1040
+ # @param [Hash] opts the optional parameters
1041
+ # @return [SfvbPageResponse]
1042
+ def get_sfvb_page(storefront_oid, path, opts = {})
1043
+ data, _status_code, _headers = get_sfvb_page_with_http_info(storefront_oid, path, opts)
1044
+ data
1045
+ end
1046
+
1047
+ # Read a page&#39;s attributes and images
1048
+ # 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.
1049
+ # @param storefront_oid [Integer]
1050
+ # @param path [String] Page path, for example /catalog/dispensers/
1051
+ # @param [Hash] opts the optional parameters
1052
+ # @return [Array<(SfvbPageResponse, Integer, Hash)>] SfvbPageResponse data, response status code and response headers
1053
+ def get_sfvb_page_with_http_info(storefront_oid, path, opts = {})
1054
+ if @api_client.config.debugging
1055
+ @api_client.config.logger.debug 'Calling API: SfvbApi.get_sfvb_page ...'
1056
+ end
1057
+ # verify the required parameter 'storefront_oid' is set
1058
+ if @api_client.config.client_side_validation && storefront_oid.nil?
1059
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.get_sfvb_page"
1060
+ end
1061
+ # verify the required parameter 'path' is set
1062
+ if @api_client.config.client_side_validation && path.nil?
1063
+ fail ArgumentError, "Missing the required parameter 'path' when calling SfvbApi.get_sfvb_page"
1064
+ end
1065
+ # resource path
1066
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/pages'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
1067
+
1068
+ # query parameters
1069
+ query_params = opts[:query_params] || {}
1070
+ query_params[:'path'] = path
1071
+
1072
+ # header parameters
1073
+ header_params = opts[:header_params] || {}
1074
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
1075
+ # HTTP header 'Accept' (if needed)
1076
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
1077
+
1078
+ # form parameters
1079
+ form_params = opts[:form_params] || {}
1080
+
1081
+ # http body (model)
1082
+ post_body = opts[:debug_body]
1083
+
1084
+ # return_type
1085
+ return_type = opts[:debug_return_type] || 'SfvbPageResponse'
1086
+
1087
+ # auth_names
1088
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
1089
+
1090
+ new_options = opts.merge(
1091
+ :operation => :"SfvbApi.get_sfvb_page",
1092
+ :header_params => header_params,
1093
+ :query_params => query_params,
1094
+ :form_params => form_params,
1095
+ :body => post_body,
1096
+ :auth_names => auth_names,
1097
+ :return_type => return_type
1098
+ )
1099
+
1100
+ data, status_code, headers = @api_client.call_api(:GET, local_var_path, new_options)
1101
+ if @api_client.config.debugging
1102
+ @api_client.config.logger.debug "API called: SfvbApi#get_sfvb_page\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
1103
+ end
1104
+ return data, status_code, headers
1105
+ end
1106
+
957
1107
  # URL that renders a preview session
958
1108
  # Refuses a session that does not exist, so a URL you receive is for a session that was really there. expires_in_seconds is the time actually remaining, not the configured lifetime. Needs a token that resolves to a user, because a preview session belongs to the person who created it.
959
1109
  # @param storefront_oid [Integer]
@@ -2059,6 +2209,170 @@ module UltracartClient
2059
2209
  return data, status_code, headers
2060
2210
  end
2061
2211
 
2212
+ # Change a page's attributes
2213
+ # 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.
2214
+ # @param storefront_oid [Integer]
2215
+ # @param path [String] Page path, for example /catalog/dispensers/
2216
+ # @param page_attribute_update_request [SfvbPageAttributeUpdateRequest] Attributes to change
2217
+ # @param [Hash] opts the optional parameters
2218
+ # @return [SfvbPageResponse]
2219
+ def put_sfvb_page_attributes(storefront_oid, path, page_attribute_update_request, opts = {})
2220
+ data, _status_code, _headers = put_sfvb_page_attributes_with_http_info(storefront_oid, path, page_attribute_update_request, opts)
2221
+ data
2222
+ end
2223
+
2224
+ # Change a page&#39;s attributes
2225
+ # 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&#39;s attributes are shared by every theme and there is no dormant copy to change instead.
2226
+ # @param storefront_oid [Integer]
2227
+ # @param path [String] Page path, for example /catalog/dispensers/
2228
+ # @param page_attribute_update_request [SfvbPageAttributeUpdateRequest] Attributes to change
2229
+ # @param [Hash] opts the optional parameters
2230
+ # @return [Array<(SfvbPageResponse, Integer, Hash)>] SfvbPageResponse data, response status code and response headers
2231
+ def put_sfvb_page_attributes_with_http_info(storefront_oid, path, page_attribute_update_request, opts = {})
2232
+ if @api_client.config.debugging
2233
+ @api_client.config.logger.debug 'Calling API: SfvbApi.put_sfvb_page_attributes ...'
2234
+ end
2235
+ # verify the required parameter 'storefront_oid' is set
2236
+ if @api_client.config.client_side_validation && storefront_oid.nil?
2237
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.put_sfvb_page_attributes"
2238
+ end
2239
+ # verify the required parameter 'path' is set
2240
+ if @api_client.config.client_side_validation && path.nil?
2241
+ fail ArgumentError, "Missing the required parameter 'path' when calling SfvbApi.put_sfvb_page_attributes"
2242
+ end
2243
+ # verify the required parameter 'page_attribute_update_request' is set
2244
+ if @api_client.config.client_side_validation && page_attribute_update_request.nil?
2245
+ fail ArgumentError, "Missing the required parameter 'page_attribute_update_request' when calling SfvbApi.put_sfvb_page_attributes"
2246
+ end
2247
+ # resource path
2248
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/pages/attributes'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
2249
+
2250
+ # query parameters
2251
+ query_params = opts[:query_params] || {}
2252
+ query_params[:'path'] = path
2253
+
2254
+ # header parameters
2255
+ header_params = opts[:header_params] || {}
2256
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
2257
+ # HTTP header 'Accept' (if needed)
2258
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2259
+ # HTTP header 'Content-Type'
2260
+ content_type = @api_client.select_header_content_type(['application/json'])
2261
+ if !content_type.nil?
2262
+ header_params['Content-Type'] = content_type
2263
+ end
2264
+
2265
+ # form parameters
2266
+ form_params = opts[:form_params] || {}
2267
+
2268
+ # http body (model)
2269
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(page_attribute_update_request)
2270
+
2271
+ # return_type
2272
+ return_type = opts[:debug_return_type] || 'SfvbPageResponse'
2273
+
2274
+ # auth_names
2275
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
2276
+
2277
+ new_options = opts.merge(
2278
+ :operation => :"SfvbApi.put_sfvb_page_attributes",
2279
+ :header_params => header_params,
2280
+ :query_params => query_params,
2281
+ :form_params => form_params,
2282
+ :body => post_body,
2283
+ :auth_names => auth_names,
2284
+ :return_type => return_type
2285
+ )
2286
+
2287
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2288
+ if @api_client.config.debugging
2289
+ @api_client.config.logger.debug "API called: SfvbApi#put_sfvb_page_attributes\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2290
+ end
2291
+ return data, status_code, headers
2292
+ end
2293
+
2294
+ # Attach an image to a page
2295
+ # Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
2296
+ # @param storefront_oid [Integer]
2297
+ # @param path [String] Page path, for example /catalog/dispensers/
2298
+ # @param page_multimedia_request [SfvbPageMultimediaRequest] Image to attach
2299
+ # @param [Hash] opts the optional parameters
2300
+ # @return [SfvbPageResponse]
2301
+ def put_sfvb_page_multimedia(storefront_oid, path, page_multimedia_request, opts = {})
2302
+ data, _status_code, _headers = put_sfvb_page_multimedia_with_http_info(storefront_oid, path, page_multimedia_request, opts)
2303
+ data
2304
+ end
2305
+
2306
+ # Attach an image to a page
2307
+ # Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
2308
+ # @param storefront_oid [Integer]
2309
+ # @param path [String] Page path, for example /catalog/dispensers/
2310
+ # @param page_multimedia_request [SfvbPageMultimediaRequest] Image to attach
2311
+ # @param [Hash] opts the optional parameters
2312
+ # @return [Array<(SfvbPageResponse, Integer, Hash)>] SfvbPageResponse data, response status code and response headers
2313
+ def put_sfvb_page_multimedia_with_http_info(storefront_oid, path, page_multimedia_request, opts = {})
2314
+ if @api_client.config.debugging
2315
+ @api_client.config.logger.debug 'Calling API: SfvbApi.put_sfvb_page_multimedia ...'
2316
+ end
2317
+ # verify the required parameter 'storefront_oid' is set
2318
+ if @api_client.config.client_side_validation && storefront_oid.nil?
2319
+ fail ArgumentError, "Missing the required parameter 'storefront_oid' when calling SfvbApi.put_sfvb_page_multimedia"
2320
+ end
2321
+ # verify the required parameter 'path' is set
2322
+ if @api_client.config.client_side_validation && path.nil?
2323
+ fail ArgumentError, "Missing the required parameter 'path' when calling SfvbApi.put_sfvb_page_multimedia"
2324
+ end
2325
+ # verify the required parameter 'page_multimedia_request' is set
2326
+ if @api_client.config.client_side_validation && page_multimedia_request.nil?
2327
+ fail ArgumentError, "Missing the required parameter 'page_multimedia_request' when calling SfvbApi.put_sfvb_page_multimedia"
2328
+ end
2329
+ # resource path
2330
+ local_var_path = '/sfvb/storefronts/{storefront_oid}/pages/multimedia'.sub('{' + 'storefront_oid' + '}', CGI.escape(storefront_oid.to_s))
2331
+
2332
+ # query parameters
2333
+ query_params = opts[:query_params] || {}
2334
+ query_params[:'path'] = path
2335
+
2336
+ # header parameters
2337
+ header_params = opts[:header_params] || {}
2338
+ header_params['X-UltraCart-Api-Version'] = @api_client.select_header_api_version()
2339
+ # HTTP header 'Accept' (if needed)
2340
+ header_params['Accept'] = @api_client.select_header_accept(['application/json'])
2341
+ # HTTP header 'Content-Type'
2342
+ content_type = @api_client.select_header_content_type(['application/json'])
2343
+ if !content_type.nil?
2344
+ header_params['Content-Type'] = content_type
2345
+ end
2346
+
2347
+ # form parameters
2348
+ form_params = opts[:form_params] || {}
2349
+
2350
+ # http body (model)
2351
+ post_body = opts[:debug_body] || @api_client.object_to_http_body(page_multimedia_request)
2352
+
2353
+ # return_type
2354
+ return_type = opts[:debug_return_type] || 'SfvbPageResponse'
2355
+
2356
+ # auth_names
2357
+ auth_names = opts[:debug_auth_names] || ['ultraCartOauth', 'ultraCartSimpleApiKey']
2358
+
2359
+ new_options = opts.merge(
2360
+ :operation => :"SfvbApi.put_sfvb_page_multimedia",
2361
+ :header_params => header_params,
2362
+ :query_params => query_params,
2363
+ :form_params => form_params,
2364
+ :body => post_body,
2365
+ :auth_names => auth_names,
2366
+ :return_type => return_type
2367
+ )
2368
+
2369
+ data, status_code, headers = @api_client.call_api(:PUT, local_var_path, new_options)
2370
+ if @api_client.config.debugging
2371
+ @api_client.config.logger.debug "API called: SfvbApi#put_sfvb_page_multimedia\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
2372
+ end
2373
+ return data, status_code, headers
2374
+ end
2375
+
2062
2376
  # Push containers into a preview session
2063
2377
  # Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
2064
2378
  # @param storefront_oid [Integer]
@@ -15,6 +15,9 @@ require 'time'
15
15
 
16
16
  module UltracartClient
17
17
  class SfvbElement
18
+ # True when a markdown field card for this element is available from elements/{element_type}.
19
+ attr_accessor :doc_available
20
+
18
21
  # True when a per element configuration schema is available from elements/{element_type}.
19
22
  attr_accessor :schema_available
20
23
 
@@ -24,6 +27,7 @@ module UltracartClient
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
25
28
  def self.attribute_map
26
29
  {
30
+ :'doc_available' => :'doc_available',
27
31
  :'schema_available' => :'schema_available',
28
32
  :'type' => :'type'
29
33
  }
@@ -37,6 +41,7 @@ module UltracartClient
37
41
  # Attribute type mapping.
38
42
  def self.openapi_types
39
43
  {
44
+ :'doc_available' => :'Boolean',
40
45
  :'schema_available' => :'Boolean',
41
46
  :'type' => :'String'
42
47
  }
@@ -63,6 +68,10 @@ module UltracartClient
63
68
  h[k.to_sym] = v
64
69
  }
65
70
 
71
+ if attributes.key?(:'doc_available')
72
+ self.doc_available = attributes[:'doc_available']
73
+ end
74
+
66
75
  if attributes.key?(:'schema_available')
67
76
  self.schema_available = attributes[:'schema_available']
68
77
  end
@@ -90,6 +99,7 @@ module UltracartClient
90
99
  def ==(o)
91
100
  return true if self.equal?(o)
92
101
  self.class == o.class &&
102
+ doc_available == o.doc_available &&
93
103
  schema_available == o.schema_available &&
94
104
  type == o.type
95
105
  end
@@ -103,7 +113,7 @@ module UltracartClient
103
113
  # Calculates hash code according to all attributes.
104
114
  # @return [Integer] Hash code
105
115
  def hash
106
- [schema_available, type].hash
116
+ [doc_available, schema_available, type].hash
107
117
  end
108
118
 
109
119
  # Builds the object from hash
@@ -15,7 +15,10 @@ require 'time'
15
15
 
16
16
  module UltracartClient
17
17
  class SfvbElementSchemaResponse
18
- # JSON schema for this element's config object, as a JSON string. Null when no schema has been published for this element yet.
18
+ # Markdown field card for this element, as a string. Omitted when no field card has been published for this element.
19
+ attr_accessor :doc
20
+
21
+ # Draft-07 JSON schema for this element's config object, as a JSON string. Omitted when no schema has been published for this element.
19
22
  attr_accessor :schema
20
23
 
21
24
  # The element type.
@@ -24,6 +27,7 @@ module UltracartClient
24
27
  # Attribute mapping from ruby-style variable name to JSON key.
25
28
  def self.attribute_map
26
29
  {
30
+ :'doc' => :'doc',
27
31
  :'schema' => :'schema',
28
32
  :'type' => :'type'
29
33
  }
@@ -37,6 +41,7 @@ module UltracartClient
37
41
  # Attribute type mapping.
38
42
  def self.openapi_types
39
43
  {
44
+ :'doc' => :'String',
40
45
  :'schema' => :'String',
41
46
  :'type' => :'String'
42
47
  }
@@ -63,6 +68,10 @@ module UltracartClient
63
68
  h[k.to_sym] = v
64
69
  }
65
70
 
71
+ if attributes.key?(:'doc')
72
+ self.doc = attributes[:'doc']
73
+ end
74
+
66
75
  if attributes.key?(:'schema')
67
76
  self.schema = attributes[:'schema']
68
77
  end
@@ -90,6 +99,7 @@ module UltracartClient
90
99
  def ==(o)
91
100
  return true if self.equal?(o)
92
101
  self.class == o.class &&
102
+ doc == o.doc &&
93
103
  schema == o.schema &&
94
104
  type == o.type
95
105
  end
@@ -103,7 +113,7 @@ module UltracartClient
103
113
  # Calculates hash code according to all attributes.
104
114
  # @return [Integer] Hash code
105
115
  def hash
106
- [schema, type].hash
116
+ [doc, schema, type].hash
107
117
  end
108
118
 
109
119
  # Builds the object from hash