ultracart_api 4.1.176 → 4.1.177

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: 7fd7d9b22eb441bbd63953ad47b59eaec06757e2c01f5a1185af5e86a80923a4
4
- data.tar.gz: 83fbaab211de4ee96ff07cb8376c9decfcd61c1c58b1bf7b568867d8ce2afcc9
3
+ metadata.gz: 5927e57c7c670e896a768b1971a60dae46435a3e0554160d91ca866078c658f1
4
+ data.tar.gz: a9ee0e285fd76e8f7d1a72fc03257a66d1c32fc4592033658a4e2a9e05c24dea
5
5
  SHA512:
6
- metadata.gz: f5329ff0ed52d4e9588b00ebb9cd645cf43dbcb7c90d98f2377b5d35ca1c8d10961c3ded7809d514860a0163613f51b3bf5994b146005836bb7dc45cab4a6481
7
- data.tar.gz: 9f51a64f4b60db5d09963ac6a99b6137907bb98cc371f75efdb8b100a34f73a617f8179249674260b8cd7d0fcbd73663f38f3956e6e69a09caf232b96bde5c77
6
+ metadata.gz: d1746a54265690eca953a6c3b0fd8b22adbb50e3927f64301991eef62bf7ee6f1687c9df5d68e9d7f981c8843c636cc99bafd25eec0bf6c927bb534134aa3d39
7
+ data.tar.gz: 2169951d8d08506e3e7dda88fbb54bb5673c7b976a5e4eea149f7c058054d20ea2dfc446e211c6f88df83314974e8ff816b7436ed2df2371ee51b1d219326bcb
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.176
10
+ - Package version: 4.1.177
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.176'
19
+ gem 'ultracart_api', '4.1.177'
20
20
  ```
21
21
 
22
22
  install:
@@ -475,14 +475,17 @@ Class | Method | HTTP request | Description
475
475
  *UltracartClient::SfvbApi* | [**add_sfvb_page_blog_posts**](docs/SfvbApi.md#add_sfvb_page_blog_posts) | **POST** /sfvb/storefronts/{storefront_oid}/pages/blog_posts/add | Assign blog posts to a page
476
476
  *UltracartClient::SfvbApi* | [**add_sfvb_page_items**](docs/SfvbApi.md#add_sfvb_page_items) | **POST** /sfvb/storefronts/{storefront_oid}/pages/items/add | Assign items to a page
477
477
  *UltracartClient::SfvbApi* | [**archive_sfvb_upsell_path**](docs/SfvbApi.md#archive_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/archive | Archive an upsell path
478
+ *UltracartClient::SfvbApi* | [**attach_sfvb_blog_post_image**](docs/SfvbApi.md#attach_sfvb_blog_post_image) | **POST** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid}/images/attach | Attach an image to a blog post
478
479
  *UltracartClient::SfvbApi* | [**compile_sfvb_cjson**](docs/SfvbApi.md#compile_sfvb_cjson) | **POST** /sfvb/cjson/compile | Compile CJSON to Velocity
479
480
  *UltracartClient::SfvbApi* | [**create_sfvb_preview_access**](docs/SfvbApi.md#create_sfvb_preview_access) | **POST** /sfvb/storefronts/{storefront_oid}/preview_access | One time link that opens a preview in a browser with no UltraCart login
480
481
  *UltracartClient::SfvbApi* | [**create_sfvb_preview_session**](docs/SfvbApi.md#create_sfvb_preview_session) | **POST** /sfvb/storefronts/{storefront_oid}/preview_sessions | Create a preview session
482
+ *UltracartClient::SfvbApi* | [**delete_sfvb_blog_post**](docs/SfvbApi.md#delete_sfvb_blog_post) | **DELETE** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Delete a blog post
481
483
  *UltracartClient::SfvbApi* | [**delete_sfvb_file**](docs/SfvbApi.md#delete_sfvb_file) | **DELETE** /sfvb/storefronts/{storefront_oid}/files | Delete a storefront file
482
484
  *UltracartClient::SfvbApi* | [**delete_sfvb_item_attribute**](docs/SfvbApi.md#delete_sfvb_item_attribute) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/attributes | Delete an attribute from an item
483
485
  *UltracartClient::SfvbApi* | [**delete_sfvb_item_multimedia**](docs/SfvbApi.md#delete_sfvb_item_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/multimedia | Detach an image from an item
484
486
  *UltracartClient::SfvbApi* | [**delete_sfvb_page_multimedia**](docs/SfvbApi.md#delete_sfvb_page_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Detach an image from a page
485
487
  *UltracartClient::SfvbApi* | [**delete_sfvb_preview_session**](docs/SfvbApi.md#delete_sfvb_preview_session) | **DELETE** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Delete a preview session
488
+ *UltracartClient::SfvbApi* | [**detach_sfvb_blog_post_image**](docs/SfvbApi.md#detach_sfvb_blog_post_image) | **POST** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid}/images/detach | Detach an image from a blog post
486
489
  *UltracartClient::SfvbApi* | [**disable_sfvb_upsell_offer**](docs/SfvbApi.md#disable_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/disable | Disable an upsell offer
487
490
  *UltracartClient::SfvbApi* | [**disable_sfvb_upsell_path**](docs/SfvbApi.md#disable_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/disable | Disable an upsell path
488
491
  *UltracartClient::SfvbApi* | [**download_sfvb_file**](docs/SfvbApi.md#download_sfvb_file) | **GET** /sfvb/storefronts/{storefront_oid}/files/download | Read a storefront file's raw bytes
@@ -491,6 +494,7 @@ Class | Method | HTTP request | Description
491
494
  *UltracartClient::SfvbApi* | [**duplicate_sfvb_upsell_offer**](docs/SfvbApi.md#duplicate_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/duplicate | Duplicate an upsell offer
492
495
  *UltracartClient::SfvbApi* | [**duplicate_sfvb_upsell_path**](docs/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
493
496
  *UltracartClient::SfvbApi* | [**end_sfvb_experiment**](docs/SfvbApi.md#end_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/end | End an experiment
497
+ *UltracartClient::SfvbApi* | [**get_sfvb_blog_post**](docs/SfvbApi.md#get_sfvb_blog_post) | **GET** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Read a blog post
494
498
  *UltracartClient::SfvbApi* | [**get_sfvb_cjson_used_elements**](docs/SfvbApi.md#get_sfvb_cjson_used_elements) | **POST** /sfvb/cjson/elements | Element types used by a container
495
499
  *UltracartClient::SfvbApi* | [**get_sfvb_container**](docs/SfvbApi.md#get_sfvb_container) | **GET** /sfvb/storefronts/{storefront_oid}/containers/{owner_type}/{owner_object_id} | Read a container stored outside the file system
496
500
  *UltracartClient::SfvbApi* | [**get_sfvb_container_version**](docs/SfvbApi.md#get_sfvb_container_version) | **GET** /sfvb/storefronts/{storefront_oid}/container_versions/{container_history_oid} | Read the CJSON stored in one container history entry
@@ -516,6 +520,7 @@ Class | Method | HTTP request | Description
516
520
  *UltracartClient::SfvbApi* | [**get_sfvb_upsell_path**](docs/SfvbApi.md#get_sfvb_upsell_path) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Get an upsell path
517
521
  *UltracartClient::SfvbApi* | [**get_sfvb_version**](docs/SfvbApi.md#get_sfvb_version) | **GET** /sfvb/version | Compiler version for this merchant
518
522
  *UltracartClient::SfvbApi* | [**get_sfvb_whoami**](docs/SfvbApi.md#get_sfvb_whoami) | **GET** /sfvb/whoami | Who this token is
523
+ *UltracartClient::SfvbApi* | [**insert_sfvb_blog_post**](docs/SfvbApi.md#insert_sfvb_blog_post) | **POST** /sfvb/storefronts/{storefront_oid}/blog_posts | Create a blog post
519
524
  *UltracartClient::SfvbApi* | [**insert_sfvb_page**](docs/SfvbApi.md#insert_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages | Create a page
520
525
  *UltracartClient::SfvbApi* | [**insert_sfvb_upsell_offer**](docs/SfvbApi.md#insert_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers | Create an upsell offer
521
526
  *UltracartClient::SfvbApi* | [**insert_sfvb_upsell_path**](docs/SfvbApi.md#insert_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths | Create an upsell path
@@ -561,6 +566,7 @@ Class | Method | HTTP request | Description
561
566
  *UltracartClient::SfvbApi* | [**search_sfvb_library**](docs/SfvbApi.md#search_sfvb_library) | **GET** /sfvb/storefronts/{storefront_oid}/library | Search the element library
562
567
  *UltracartClient::SfvbApi* | [**start_sfvb_experiment**](docs/SfvbApi.md#start_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments | Start an experiment
563
568
  *UltracartClient::SfvbApi* | [**unarchive_sfvb_upsell_path**](docs/SfvbApi.md#unarchive_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/unarchive | Unarchive an upsell path
569
+ *UltracartClient::SfvbApi* | [**update_sfvb_blog_post**](docs/SfvbApi.md#update_sfvb_blog_post) | **PUT** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Change a blog post
564
570
  *UltracartClient::SfvbApi* | [**update_sfvb_upsell_offer**](docs/SfvbApi.md#update_sfvb_upsell_offer) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Update an upsell offer
565
571
  *UltracartClient::SfvbApi* | [**update_sfvb_upsell_path**](docs/SfvbApi.md#update_sfvb_upsell_path) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Update an upsell path
566
572
  *UltracartClient::SfvbApi* | [**upload_sfvb_file**](docs/SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded
@@ -1792,6 +1798,10 @@ Class | Method | HTTP request | Description
1792
1798
  - [UltracartClient::ScreenshotsResponse](docs/ScreenshotsResponse.md)
1793
1799
  - [UltracartClient::SelfConfig](docs/SelfConfig.md)
1794
1800
  - [UltracartClient::SfvbBlogPost](docs/SfvbBlogPost.md)
1801
+ - [UltracartClient::SfvbBlogPostDetail](docs/SfvbBlogPostDetail.md)
1802
+ - [UltracartClient::SfvbBlogPostImage](docs/SfvbBlogPostImage.md)
1803
+ - [UltracartClient::SfvbBlogPostImageRequest](docs/SfvbBlogPostImageRequest.md)
1804
+ - [UltracartClient::SfvbBlogPostRequest](docs/SfvbBlogPostRequest.md)
1795
1805
  - [UltracartClient::SfvbBlogPostsResponse](docs/SfvbBlogPostsResponse.md)
1796
1806
  - [UltracartClient::SfvbCompileRequest](docs/SfvbCompileRequest.md)
1797
1807
  - [UltracartClient::SfvbCompileResponse](docs/SfvbCompileResponse.md)
@@ -2080,6 +2090,7 @@ Not every change is committed to every SDK.
2080
2090
 
2081
2091
  | Version | Date | Comments |
2082
2092
  | --: | :-: | --- |
2093
+ | 4.1.177 | 09/30/2026 | sfvb internal testing |
2083
2094
  | 4.1.176 | 09/29/2026 | taxcloud tax provider testing |
2084
2095
  | 4.1.175 | 09/29/2026 | sfvb internal testing |
2085
2096
  | 4.1.174 | 09/25/2026 | sfvb internal testing |
data/docs/SfvbApi.md CHANGED
@@ -7,14 +7,17 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
7
7
  | [**add_sfvb_page_blog_posts**](SfvbApi.md#add_sfvb_page_blog_posts) | **POST** /sfvb/storefronts/{storefront_oid}/pages/blog_posts/add | Assign blog posts to a page |
8
8
  | [**add_sfvb_page_items**](SfvbApi.md#add_sfvb_page_items) | **POST** /sfvb/storefronts/{storefront_oid}/pages/items/add | Assign items to a page |
9
9
  | [**archive_sfvb_upsell_path**](SfvbApi.md#archive_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/archive | Archive an upsell path |
10
+ | [**attach_sfvb_blog_post_image**](SfvbApi.md#attach_sfvb_blog_post_image) | **POST** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid}/images/attach | Attach an image to a blog post |
10
11
  | [**compile_sfvb_cjson**](SfvbApi.md#compile_sfvb_cjson) | **POST** /sfvb/cjson/compile | Compile CJSON to Velocity |
11
12
  | [**create_sfvb_preview_access**](SfvbApi.md#create_sfvb_preview_access) | **POST** /sfvb/storefronts/{storefront_oid}/preview_access | One time link that opens a preview in a browser with no UltraCart login |
12
13
  | [**create_sfvb_preview_session**](SfvbApi.md#create_sfvb_preview_session) | **POST** /sfvb/storefronts/{storefront_oid}/preview_sessions | Create a preview session |
14
+ | [**delete_sfvb_blog_post**](SfvbApi.md#delete_sfvb_blog_post) | **DELETE** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Delete a blog post |
13
15
  | [**delete_sfvb_file**](SfvbApi.md#delete_sfvb_file) | **DELETE** /sfvb/storefronts/{storefront_oid}/files | Delete a storefront file |
14
16
  | [**delete_sfvb_item_attribute**](SfvbApi.md#delete_sfvb_item_attribute) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/attributes | Delete an attribute from an item |
15
17
  | [**delete_sfvb_item_multimedia**](SfvbApi.md#delete_sfvb_item_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/items/multimedia | Detach an image from an item |
16
18
  | [**delete_sfvb_page_multimedia**](SfvbApi.md#delete_sfvb_page_multimedia) | **DELETE** /sfvb/storefronts/{storefront_oid}/pages/multimedia | Detach an image from a page |
17
19
  | [**delete_sfvb_preview_session**](SfvbApi.md#delete_sfvb_preview_session) | **DELETE** /sfvb/storefronts/{storefront_oid}/preview_sessions/{preview_session_id} | Delete a preview session |
20
+ | [**detach_sfvb_blog_post_image**](SfvbApi.md#detach_sfvb_blog_post_image) | **POST** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid}/images/detach | Detach an image from a blog post |
18
21
  | [**disable_sfvb_upsell_offer**](SfvbApi.md#disable_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/disable | Disable an upsell offer |
19
22
  | [**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 |
20
23
  | [**download_sfvb_file**](SfvbApi.md#download_sfvb_file) | **GET** /sfvb/storefronts/{storefront_oid}/files/download | Read a storefront file's raw bytes |
@@ -23,6 +26,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
23
26
  | [**duplicate_sfvb_upsell_offer**](SfvbApi.md#duplicate_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid}/duplicate | Duplicate an upsell offer |
24
27
  | [**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 |
25
28
  | [**end_sfvb_experiment**](SfvbApi.md#end_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments/{experiment_oid}/end | End an experiment |
29
+ | [**get_sfvb_blog_post**](SfvbApi.md#get_sfvb_blog_post) | **GET** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Read a blog post |
26
30
  | [**get_sfvb_cjson_used_elements**](SfvbApi.md#get_sfvb_cjson_used_elements) | **POST** /sfvb/cjson/elements | Element types used by a container |
27
31
  | [**get_sfvb_container**](SfvbApi.md#get_sfvb_container) | **GET** /sfvb/storefronts/{storefront_oid}/containers/{owner_type}/{owner_object_id} | Read a container stored outside the file system |
28
32
  | [**get_sfvb_container_version**](SfvbApi.md#get_sfvb_container_version) | **GET** /sfvb/storefronts/{storefront_oid}/container_versions/{container_history_oid} | Read the CJSON stored in one container history entry |
@@ -48,6 +52,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
48
52
  | [**get_sfvb_upsell_path**](SfvbApi.md#get_sfvb_upsell_path) | **GET** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Get an upsell path |
49
53
  | [**get_sfvb_version**](SfvbApi.md#get_sfvb_version) | **GET** /sfvb/version | Compiler version for this merchant |
50
54
  | [**get_sfvb_whoami**](SfvbApi.md#get_sfvb_whoami) | **GET** /sfvb/whoami | Who this token is |
55
+ | [**insert_sfvb_blog_post**](SfvbApi.md#insert_sfvb_blog_post) | **POST** /sfvb/storefronts/{storefront_oid}/blog_posts | Create a blog post |
51
56
  | [**insert_sfvb_page**](SfvbApi.md#insert_sfvb_page) | **POST** /sfvb/storefronts/{storefront_oid}/pages | Create a page |
52
57
  | [**insert_sfvb_upsell_offer**](SfvbApi.md#insert_sfvb_upsell_offer) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_offers | Create an upsell offer |
53
58
  | [**insert_sfvb_upsell_path**](SfvbApi.md#insert_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths | Create an upsell path |
@@ -93,6 +98,7 @@ All URIs are relative to *https://secure.ultracart.com/rest/v2*
93
98
  | [**search_sfvb_library**](SfvbApi.md#search_sfvb_library) | **GET** /sfvb/storefronts/{storefront_oid}/library | Search the element library |
94
99
  | [**start_sfvb_experiment**](SfvbApi.md#start_sfvb_experiment) | **POST** /sfvb/storefronts/{storefront_oid}/experiments | Start an experiment |
95
100
  | [**unarchive_sfvb_upsell_path**](SfvbApi.md#unarchive_sfvb_upsell_path) | **POST** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid}/unarchive | Unarchive an upsell path |
101
+ | [**update_sfvb_blog_post**](SfvbApi.md#update_sfvb_blog_post) | **PUT** /sfvb/storefronts/{storefront_oid}/blog_posts/{blog_post_oid} | Change a blog post |
96
102
  | [**update_sfvb_upsell_offer**](SfvbApi.md#update_sfvb_upsell_offer) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_offers/{upsell_offer_oid} | Update an upsell offer |
97
103
  | [**update_sfvb_upsell_path**](SfvbApi.md#update_sfvb_upsell_path) | **PUT** /sfvb/storefronts/{storefront_oid}/upsell_paths/{upsell_path_oid} | Update an upsell path |
98
104
  | [**upload_sfvb_file**](SfvbApi.md#upload_sfvb_file) | **POST** /sfvb/storefronts/{storefront_oid}/files/upload | Store a binary asset that was already uploaded |
@@ -264,6 +270,61 @@ end
264
270
  - **Accept**: application/json
265
271
 
266
272
 
273
+ ## attach_sfvb_blog_post_image
274
+
275
+ > <SfvbBlogPostDetail> attach_sfvb_blog_post_image(storefront_oid, blog_post_oid, blog_post_image_request)
276
+
277
+ Attach an image to a blog post
278
+
279
+ Three calls, like the admin blog editor's upload. Request an upload URL with files/upload_url, send the bytes to it, then attach with the key and a filename. No storefront file is created, and the key is redeemed, so it cannot be used twice. default_image replaces the post's default image and code replaces the image with that code; with neither, the image is added for use in the body at the url the response reports. JPEG, PNG, GIF or WebP, checked by content. A post that is not a draft needs sfvb_publish.
280
+
281
+
282
+ ### Examples
283
+
284
+
285
+ (No example for this operation).
286
+
287
+
288
+ #### Using the attach_sfvb_blog_post_image_with_http_info variant
289
+
290
+ This returns an Array which contains the response data, status code and headers.
291
+
292
+ > <Array(<SfvbBlogPostDetail>, Integer, Hash)> attach_sfvb_blog_post_image_with_http_info(storefront_oid, blog_post_oid, blog_post_image_request)
293
+
294
+ ```ruby
295
+ begin
296
+ # Attach an image to a blog post
297
+ data, status_code, headers = api_instance.attach_sfvb_blog_post_image_with_http_info(storefront_oid, blog_post_oid, blog_post_image_request)
298
+ p status_code # => 2xx
299
+ p headers # => { ... }
300
+ p data # => <SfvbBlogPostDetail>
301
+ rescue UltracartClient::ApiError => e
302
+ puts "Error when calling SfvbApi->attach_sfvb_blog_post_image_with_http_info: #{e}"
303
+ end
304
+ ```
305
+
306
+ ### Parameters
307
+
308
+ | Name | Type | Description | Notes |
309
+ | ---- | ---- | ----------- | ----- |
310
+ | **storefront_oid** | **Integer** | | |
311
+ | **blog_post_oid** | **Integer** | | |
312
+ | **blog_post_image_request** | [**SfvbBlogPostImageRequest**](SfvbBlogPostImageRequest.md) | Image to attach | |
313
+
314
+ ### Return type
315
+
316
+ [**SfvbBlogPostDetail**](SfvbBlogPostDetail.md)
317
+
318
+ ### Authorization
319
+
320
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
321
+
322
+ ### HTTP request headers
323
+
324
+ - **Content-Type**: application/json; charset=UTF-8
325
+ - **Accept**: application/json
326
+
327
+
267
328
  ## compile_sfvb_cjson
268
329
 
269
330
  > <SfvbCompileResponse> compile_sfvb_cjson(compile_request)
@@ -424,6 +485,60 @@ end
424
485
  - **Accept**: application/json
425
486
 
426
487
 
488
+ ## delete_sfvb_blog_post
489
+
490
+ > delete_sfvb_blog_post(storefront_oid, blog_post_oid)
491
+
492
+ Delete a blog post
493
+
494
+ Takes the post off every page and deletes it. There is no undo. A post that is not a draft needs sfvb_publish.
495
+
496
+
497
+ ### Examples
498
+
499
+
500
+ (No example for this operation).
501
+
502
+
503
+ #### Using the delete_sfvb_blog_post_with_http_info variant
504
+
505
+ This returns an Array which contains the response data (`nil` in this case), status code and headers.
506
+
507
+ > <Array(nil, Integer, Hash)> delete_sfvb_blog_post_with_http_info(storefront_oid, blog_post_oid)
508
+
509
+ ```ruby
510
+ begin
511
+ # Delete a blog post
512
+ data, status_code, headers = api_instance.delete_sfvb_blog_post_with_http_info(storefront_oid, blog_post_oid)
513
+ p status_code # => 2xx
514
+ p headers # => { ... }
515
+ p data # => nil
516
+ rescue UltracartClient::ApiError => e
517
+ puts "Error when calling SfvbApi->delete_sfvb_blog_post_with_http_info: #{e}"
518
+ end
519
+ ```
520
+
521
+ ### Parameters
522
+
523
+ | Name | Type | Description | Notes |
524
+ | ---- | ---- | ----------- | ----- |
525
+ | **storefront_oid** | **Integer** | | |
526
+ | **blog_post_oid** | **Integer** | | |
527
+
528
+ ### Return type
529
+
530
+ nil (empty response body)
531
+
532
+ ### Authorization
533
+
534
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
535
+
536
+ ### HTTP request headers
537
+
538
+ - **Content-Type**: Not defined
539
+ - **Accept**: application/json
540
+
541
+
427
542
  ## delete_sfvb_file
428
543
 
429
544
  > delete_sfvb_file(storefront_oid, if_match, opts)
@@ -702,6 +817,61 @@ nil (empty response body)
702
817
  - **Accept**: application/json
703
818
 
704
819
 
820
+ ## detach_sfvb_blog_post_image
821
+
822
+ > <SfvbBlogPostDetail> detach_sfvb_blog_post_image(storefront_oid, blog_post_oid, blog_post_image_request)
823
+
824
+ Detach an image from a blog post
825
+
826
+ Name exactly one of default_image, code or blog_post_multimedia_oid. Removes the image from the post and deletes its stored copy. Take it out of the body too, or the body keeps a broken image. A post that is not a draft needs sfvb_publish.
827
+
828
+
829
+ ### Examples
830
+
831
+
832
+ (No example for this operation).
833
+
834
+
835
+ #### Using the detach_sfvb_blog_post_image_with_http_info variant
836
+
837
+ This returns an Array which contains the response data, status code and headers.
838
+
839
+ > <Array(<SfvbBlogPostDetail>, Integer, Hash)> detach_sfvb_blog_post_image_with_http_info(storefront_oid, blog_post_oid, blog_post_image_request)
840
+
841
+ ```ruby
842
+ begin
843
+ # Detach an image from a blog post
844
+ data, status_code, headers = api_instance.detach_sfvb_blog_post_image_with_http_info(storefront_oid, blog_post_oid, blog_post_image_request)
845
+ p status_code # => 2xx
846
+ p headers # => { ... }
847
+ p data # => <SfvbBlogPostDetail>
848
+ rescue UltracartClient::ApiError => e
849
+ puts "Error when calling SfvbApi->detach_sfvb_blog_post_image_with_http_info: #{e}"
850
+ end
851
+ ```
852
+
853
+ ### Parameters
854
+
855
+ | Name | Type | Description | Notes |
856
+ | ---- | ---- | ----------- | ----- |
857
+ | **storefront_oid** | **Integer** | | |
858
+ | **blog_post_oid** | **Integer** | | |
859
+ | **blog_post_image_request** | [**SfvbBlogPostImageRequest**](SfvbBlogPostImageRequest.md) | Image to detach | |
860
+
861
+ ### Return type
862
+
863
+ [**SfvbBlogPostDetail**](SfvbBlogPostDetail.md)
864
+
865
+ ### Authorization
866
+
867
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
868
+
869
+ ### HTTP request headers
870
+
871
+ - **Content-Type**: application/json; charset=UTF-8
872
+ - **Accept**: application/json
873
+
874
+
705
875
  ## disable_sfvb_upsell_offer
706
876
 
707
877
  > <SfvbUpsellOffer> disable_sfvb_upsell_offer(storefront_oid, upsell_offer_oid)
@@ -1137,6 +1307,60 @@ end
1137
1307
  - **Accept**: application/json
1138
1308
 
1139
1309
 
1310
+ ## get_sfvb_blog_post
1311
+
1312
+ > <SfvbBlogPostDetail> get_sfvb_blog_post(storefront_oid, blog_post_oid)
1313
+
1314
+ Read a blog post
1315
+
1316
+ The whole post - body, excerpt, tags, images and where it is shown. An image's url is the address to use for it in the body.
1317
+
1318
+
1319
+ ### Examples
1320
+
1321
+
1322
+ (No example for this operation).
1323
+
1324
+
1325
+ #### Using the get_sfvb_blog_post_with_http_info variant
1326
+
1327
+ This returns an Array which contains the response data, status code and headers.
1328
+
1329
+ > <Array(<SfvbBlogPostDetail>, Integer, Hash)> get_sfvb_blog_post_with_http_info(storefront_oid, blog_post_oid)
1330
+
1331
+ ```ruby
1332
+ begin
1333
+ # Read a blog post
1334
+ data, status_code, headers = api_instance.get_sfvb_blog_post_with_http_info(storefront_oid, blog_post_oid)
1335
+ p status_code # => 2xx
1336
+ p headers # => { ... }
1337
+ p data # => <SfvbBlogPostDetail>
1338
+ rescue UltracartClient::ApiError => e
1339
+ puts "Error when calling SfvbApi->get_sfvb_blog_post_with_http_info: #{e}"
1340
+ end
1341
+ ```
1342
+
1343
+ ### Parameters
1344
+
1345
+ | Name | Type | Description | Notes |
1346
+ | ---- | ---- | ----------- | ----- |
1347
+ | **storefront_oid** | **Integer** | | |
1348
+ | **blog_post_oid** | **Integer** | | |
1349
+
1350
+ ### Return type
1351
+
1352
+ [**SfvbBlogPostDetail**](SfvbBlogPostDetail.md)
1353
+
1354
+ ### Authorization
1355
+
1356
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
1357
+
1358
+ ### HTTP request headers
1359
+
1360
+ - **Content-Type**: Not defined
1361
+ - **Accept**: application/json
1362
+
1363
+
1140
1364
  ## get_sfvb_cjson_used_elements
1141
1365
 
1142
1366
  > <SfvbElementsResponse> get_sfvb_cjson_used_elements(compile_request)
@@ -2489,6 +2713,60 @@ This endpoint does not need any parameter.
2489
2713
  - **Accept**: application/json
2490
2714
 
2491
2715
 
2716
+ ## insert_sfvb_blog_post
2717
+
2718
+ > <SfvbBlogPostDetail> insert_sfvb_blog_post(storefront_oid, blog_post_request)
2719
+
2720
+ Create a blog post
2721
+
2722
+ title and url_part are required. The post is a draft unless visibility says otherwise, and anything but a draft needs sfvb_publish. The body and excerpt are refused with sfvb.unsafe_html if they could run script, and a url_part another post uses is refused with a 409 and sfvb.blog_post_exists. Assign the post to a page with pages/blog_posts/add, or let the page's selectors choose it.
2723
+
2724
+
2725
+ ### Examples
2726
+
2727
+
2728
+ (No example for this operation).
2729
+
2730
+
2731
+ #### Using the insert_sfvb_blog_post_with_http_info variant
2732
+
2733
+ This returns an Array which contains the response data, status code and headers.
2734
+
2735
+ > <Array(<SfvbBlogPostDetail>, Integer, Hash)> insert_sfvb_blog_post_with_http_info(storefront_oid, blog_post_request)
2736
+
2737
+ ```ruby
2738
+ begin
2739
+ # Create a blog post
2740
+ data, status_code, headers = api_instance.insert_sfvb_blog_post_with_http_info(storefront_oid, blog_post_request)
2741
+ p status_code # => 2xx
2742
+ p headers # => { ... }
2743
+ p data # => <SfvbBlogPostDetail>
2744
+ rescue UltracartClient::ApiError => e
2745
+ puts "Error when calling SfvbApi->insert_sfvb_blog_post_with_http_info: #{e}"
2746
+ end
2747
+ ```
2748
+
2749
+ ### Parameters
2750
+
2751
+ | Name | Type | Description | Notes |
2752
+ | ---- | ---- | ----------- | ----- |
2753
+ | **storefront_oid** | **Integer** | | |
2754
+ | **blog_post_request** | [**SfvbBlogPostRequest**](SfvbBlogPostRequest.md) | The blog post to create | |
2755
+
2756
+ ### Return type
2757
+
2758
+ [**SfvbBlogPostDetail**](SfvbBlogPostDetail.md)
2759
+
2760
+ ### Authorization
2761
+
2762
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
2763
+
2764
+ ### HTTP request headers
2765
+
2766
+ - **Content-Type**: application/json; charset=UTF-8
2767
+ - **Accept**: application/json
2768
+
2769
+
2492
2770
  ## insert_sfvb_page
2493
2771
 
2494
2772
  > <SfvbPageResponse> insert_sfvb_page(storefront_oid, page_create_request)
@@ -4972,6 +5250,61 @@ end
4972
5250
  - **Accept**: application/json
4973
5251
 
4974
5252
 
5253
+ ## update_sfvb_blog_post
5254
+
5255
+ > <SfvbBlogPostDetail> update_sfvb_blog_post(storefront_oid, blog_post_oid, blog_post_request)
5256
+
5257
+ Change a blog post
5258
+
5259
+ Only the fields sent change; tags, when sent, replaces every tag. The post's images and attributes are left alone. Publish or unpublish with visibility. A post that is not a draft before or after the change needs sfvb_publish. The same content rules as create apply.
5260
+
5261
+
5262
+ ### Examples
5263
+
5264
+
5265
+ (No example for this operation).
5266
+
5267
+
5268
+ #### Using the update_sfvb_blog_post_with_http_info variant
5269
+
5270
+ This returns an Array which contains the response data, status code and headers.
5271
+
5272
+ > <Array(<SfvbBlogPostDetail>, Integer, Hash)> update_sfvb_blog_post_with_http_info(storefront_oid, blog_post_oid, blog_post_request)
5273
+
5274
+ ```ruby
5275
+ begin
5276
+ # Change a blog post
5277
+ data, status_code, headers = api_instance.update_sfvb_blog_post_with_http_info(storefront_oid, blog_post_oid, blog_post_request)
5278
+ p status_code # => 2xx
5279
+ p headers # => { ... }
5280
+ p data # => <SfvbBlogPostDetail>
5281
+ rescue UltracartClient::ApiError => e
5282
+ puts "Error when calling SfvbApi->update_sfvb_blog_post_with_http_info: #{e}"
5283
+ end
5284
+ ```
5285
+
5286
+ ### Parameters
5287
+
5288
+ | Name | Type | Description | Notes |
5289
+ | ---- | ---- | ----------- | ----- |
5290
+ | **storefront_oid** | **Integer** | | |
5291
+ | **blog_post_oid** | **Integer** | | |
5292
+ | **blog_post_request** | [**SfvbBlogPostRequest**](SfvbBlogPostRequest.md) | The fields to change | |
5293
+
5294
+ ### Return type
5295
+
5296
+ [**SfvbBlogPostDetail**](SfvbBlogPostDetail.md)
5297
+
5298
+ ### Authorization
5299
+
5300
+ [ultraCartOauth](../README.md#ultraCartOauth), [ultraCartSimpleApiKey](../README.md#ultraCartSimpleApiKey)
5301
+
5302
+ ### HTTP request headers
5303
+
5304
+ - **Content-Type**: application/json; charset=UTF-8
5305
+ - **Accept**: application/json
5306
+
5307
+
4975
5308
  ## update_sfvb_upsell_offer
4976
5309
 
4977
5310
  > <SfvbUpsellOffer> update_sfvb_upsell_offer(storefront_oid, upsell_offer_oid, if_match, upsell_offer)
@@ -0,0 +1,46 @@
1
+ # UltracartClient::SfvbBlogPostDetail
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **allow_comments** | **Boolean** | Whether shoppers may comment. | [optional] |
8
+ | **author** | **String** | The post author. | [optional] |
9
+ | **blog_post_oid** | **Integer** | The blog post&#39;s oid. This is what a page&#39;s blog post assignment names. | [optional] |
10
+ | **body** | **String** | The post body as HTML, exactly as stored. | [optional] |
11
+ | **created_dts** | **String** | When the post was created (ISO 8601, UTC). | [optional] |
12
+ | **excerpt** | **String** | The post excerpt as HTML, exactly as stored. | [optional] |
13
+ | **images** | [**Array&lt;SfvbBlogPostImage&gt;**](SfvbBlogPostImage.md) | The post&#39;s images, the default image first. | [optional] |
14
+ | **last_modified_dts** | **String** | When the post was last changed (ISO 8601, UTC), or null if it never was. | [optional] |
15
+ | **publication_dts** | **String** | When the post is published (ISO 8601, UTC), or null for a draft. | [optional] |
16
+ | **tags** | **Array&lt;String&gt;** | The post&#39;s tags. | [optional] |
17
+ | **title** | **String** | The post title. | [optional] |
18
+ | **unassigned** | **Boolean** | True when no page shows this post yet. | [optional] |
19
+ | **url_part** | **String** | The post&#39;s name in its URL. | [optional] |
20
+ | **view_url** | **String** | The post&#39;s address on the storefront, or null until a page shows it. | [optional] |
21
+ | **visibility** | **String** | P public, L logged in customers only, D draft. | [optional] |
22
+
23
+ ## Example
24
+
25
+ ```ruby
26
+ require 'ultracart_api'
27
+
28
+ instance = UltracartClient::SfvbBlogPostDetail.new(
29
+ allow_comments: null,
30
+ author: null,
31
+ blog_post_oid: null,
32
+ body: null,
33
+ created_dts: null,
34
+ excerpt: null,
35
+ images: null,
36
+ last_modified_dts: null,
37
+ publication_dts: null,
38
+ tags: null,
39
+ title: null,
40
+ unassigned: null,
41
+ url_part: null,
42
+ view_url: null,
43
+ visibility: null
44
+ )
45
+ ```
46
+
@@ -0,0 +1,32 @@
1
+ # UltracartClient::SfvbBlogPostImage
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **blog_post_multimedia_oid** | **Integer** | The image&#39;s oid. Detach names it this way. | [optional] |
8
+ | **code** | **String** | The image code, or null for the default image and for an image used only in the body. | [optional] |
9
+ | **default_image** | **Boolean** | True for the post&#39;s default image, which a blogpostimage element and og image use. | [optional] |
10
+ | **description** | **String** | The description stored with the image, used as its alt text. | [optional] |
11
+ | **filename** | **String** | The image&#39;s file name. | [optional] |
12
+ | **height** | **Integer** | Height in pixels, when it could be measured. | [optional] |
13
+ | **url** | **String** | The address to use in the post body, for example in an img src. The storefront serves it from its image CDN once the image has been copied there. | [optional] |
14
+ | **width** | **Integer** | Width in pixels, when it could be measured. | [optional] |
15
+
16
+ ## Example
17
+
18
+ ```ruby
19
+ require 'ultracart_api'
20
+
21
+ instance = UltracartClient::SfvbBlogPostImage.new(
22
+ blog_post_multimedia_oid: null,
23
+ code: null,
24
+ default_image: null,
25
+ description: null,
26
+ filename: null,
27
+ height: null,
28
+ url: null,
29
+ width: null
30
+ )
31
+ ```
32
+
@@ -0,0 +1,28 @@
1
+ # UltracartClient::SfvbBlogPostImageRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **blog_post_multimedia_oid** | **Integer** | Detach only. The oid of the image to remove, as the post&#39;s images report it. | [optional] |
8
+ | **code** | **String** | An image code. On attach it replaces any image with that code. Leave out both code and default_image on attach to add an image used only in the body. | [optional] |
9
+ | **default_image** | **Boolean** | True for the post&#39;s default image, which a blogpostimage element and og image use. On attach it replaces any existing default. | [optional] |
10
+ | **description** | **String** | Attach only. Stored with the image and used as its alt text, as plain text. | [optional] |
11
+ | **filename** | **String** | Attach only. The image&#39;s name in its address, for example hero.png, with the same extension the upload was requested with. Letters, digits, dots, hyphens, underscores and parentheses, and not already used by another image on the post. | [optional] |
12
+ | **key** | **String** | Attach only. The key files/upload_url returned for the image&#39;s bytes. A JPEG, PNG, GIF or WebP image. Attaching redeems the key, so it cannot be used again. | [optional] |
13
+
14
+ ## Example
15
+
16
+ ```ruby
17
+ require 'ultracart_api'
18
+
19
+ instance = UltracartClient::SfvbBlogPostImageRequest.new(
20
+ blog_post_multimedia_oid: null,
21
+ code: null,
22
+ default_image: null,
23
+ description: null,
24
+ filename: null,
25
+ key: null
26
+ )
27
+ ```
28
+
@@ -0,0 +1,34 @@
1
+ # UltracartClient::SfvbBlogPostRequest
2
+
3
+ ## Properties
4
+
5
+ | Name | Type | Description | Notes |
6
+ | ---- | ---- | ----------- | ----- |
7
+ | **allow_comments** | **Boolean** | Whether shoppers may comment. Defaults to false on create. | [optional] |
8
+ | **author** | **String** | The author&#39;s name as plain text, up to 100 characters, with no quotes or angle brackets. | [optional] |
9
+ | **body** | **String** | The post body as HTML, up to 1 MB, rendered exactly as stored. Refused with sfvb.unsafe_html if it could run script - script and other executable tags, on attributes, links that are not http, https, mailto, tel or relative, and iframes other than YouTube or Vimeo players. Reference an attached image by the url the post&#39;s images report. | [optional] |
10
+ | **excerpt** | **String** | The post excerpt as HTML, up to 256 KB. Held to the same rule as body. | [optional] |
11
+ | **publication_dts** | **String** | When the post is published, as an ISO 8601 UTC time in the same form publication_dts reads back. Refused on a draft. A post made public without one is published now. | [optional] |
12
+ | **tags** | **Array&lt;String&gt;** | The post&#39;s tags as plain text, up to 100 characters each, with no quotes or angle brackets and no repeats. On an update the list replaces every tag, and an empty list clears them. | [optional] |
13
+ | **title** | **String** | The post title, up to 1000 characters. Required on create. | [optional] |
14
+ | **url_part** | **String** | The post&#39;s name in its URL, which is the page path followed by this and .html. Letters, digits, hyphens and underscores, up to 150. Must not be used by another post on the storefront, compared without regard to case, and must not be an item id or an item&#39;s url part, because the storefront checks blog posts first and the post would replace the item&#39;s page. index and index-N are reserved. Required on create. | [optional] |
15
+ | **visibility** | **String** | P public, L logged in customers only, D draft. Defaults to D on create. Anything but D needs sfvb_publish, and so does any change to a post that is not a draft. | [optional] |
16
+
17
+ ## Example
18
+
19
+ ```ruby
20
+ require 'ultracart_api'
21
+
22
+ instance = UltracartClient::SfvbBlogPostRequest.new(
23
+ allow_comments: null,
24
+ author: null,
25
+ body: null,
26
+ excerpt: null,
27
+ publication_dts: null,
28
+ tags: null,
29
+ title: null,
30
+ url_part: null,
31
+ visibility: null
32
+ )
33
+ ```
34
+
@@ -6,7 +6,7 @@
6
6
  | ---- | ---- | ----------- | ----- |
7
7
  | **name** | **String** | Attribute name. Matched without regard to case against what the page already has, so you do not have to reproduce the exact casing. A name nothing matches creates a new attribute. | [optional] |
8
8
  | **type** | **String** | Only consulted when creating an attribute no template declares. For a declared attribute the template&#39;s type always wins, because the templates decide it and not the caller. | [optional] |
9
- | **value** | **String** | The value to store. An empty string clears it. For html the markup is stored as given and rendered as given. For boolean send the text true or false. | [optional] |
9
+ | **value** | **String** | The value to store. An empty string clears it. For html the markup is stored as given and rendered as given. For boolean send the text true or false. For itemset send a comma separated list of merchant item ids in display order, not JSON. An id that does not resolve is dropped. | [optional] |
10
10
 
11
11
  ## Example
12
12